πΏ Full-stack e-commerce app π MVC pattern πΊοΈ Active Record ORM π΄ Ruby on π Rails 6.1 π’ Bootstrap frontend π PostgreSQL database π Bcrypt password management πΈ Stripe for secure payments π§ͺ Rspec & Cypress automated testing
Jungle is a a mini e-commerce application built with Rails 6.1. π Additional design enhancements have been integrated as project Stretch Features, to ensure a consistent user experience. πΏ Utilizes Rspec & Cypress automated testing to ensure and maintain code reliability and quality. π§ͺ
Demo Video:
https://github.com/kazvee/jungle_rails/assets/109990289/fb683726-38d1-4fd8-8c28-53e3d05bbd8d
Video of Cypress test runner:
https://github.com/kazvee/jungle_rails/assets/109990289/a8287459-bcb7-4aa2-b2d9-46c282580f8c
Screenshot of Landing Page:
Screenshot of Stripe Payment Page:
Screenshot of Order Confirmation Page:
Screenshot of New Product Validation Page:
Our valued customers are the root of our growing business π± We are proud to offer ferntastic quality plants at blooming low prices πΈ Come visit today, we promise you won't leaf empty-handed πΏ
Our shop provides a smooth and visually consistent shopping experience for customers. With a range of menus and filtering options, we invite our website guests to interact with and explore our range of beautiful plants.
Additionally, store Admins have access to login-protected menus, enabling them to efficiently manage store inventory and product categorisation.
Landing Page
Product Details
Categories Menu
Products Menu
Checkout Page
Order Summary
About Us
Restricted access via basic HTTP authentication
Admin Dashboard
Products Administration
Categories Administration
This project was created by me as part of my learnings at Lighthouse Labs.
bundle install
to install dependenciesconfig/database.yml
by copying config/database.example.yml
config/secrets.yml
by copying config/secrets.example.yml
bin/rails db:reset
to create, load and seed both the development
and test
databasesbin/rails s -b 0.0.0.0
to start the serverIf Rails is complaining about authentication to the database, uncomment the user and password fields from config/database.yml
in the development and test sections, and replace if necessary the user and password development
to an existing database user.
Use command bin/rspec
to run all tests (specs) in the spec
directory.
Alternatively run bin/rspec --format documentation
for more verbose results, or create a .rspec
file in project root which contains --format documentation
to keep the flag on.
Use command bin/rails cypress:open
to run all tests in the cypress/integration
folder.
Use Credit Card # 4111 1111 1111 1111 for testing success scenarios.
More information in their docs: https://stripe.com/docs/testing#cards