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:
Jungle_Demo_Video.mp4
Video of Cypress test runner:
Cypress_Test_Runner_Video.mp4
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
- Offers a visually appealing overview of all products, with dynamic product stock availability badges
-
Product Details
- Provides detailed information and product specifications
-
Categories Menu
- Enables customers to browse through various categorized lists of products
-
Products Menu
- Discover the entire range of products offered at this store
-
Checkout Page
- Review shopping cart contents, make any adjustments, and proceed to order
-
Order Summary
- Receive a detailed summary of the completed order
-
About Us
- Learn more about our online shop and the lovely people who run it
Restricted access via basic HTTP authentication
-
Admin Dashboard
- View all categories and products in one place for efficient store management
-
Products Administration
- Manage all available products from a single page
- Add New Product Page
- Create new products easily
- Built-in validation for each data field ensures inventory database accuracy
-
Categories Administration
- Manage all item categories from a single page
- Add New Category
- Create new categories easily
This project was created by me as part of my learnings at Lighthouse Labs.
- Run
bundle install
to install dependencies - Create
config/database.yml
by copyingconfig/database.example.yml
- Create
config/secrets.yml
by copyingconfig/secrets.example.yml
- Run
bin/rails db:reset
to create, load and seed both thedevelopment
andtest
databases - Create .env file based on .env.example
- Sign up for a Stripe account
- Put Stripe (test) keys into appropriate .env vars
- Run
bin/rails s -b 0.0.0.0
to start the server
If 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
- Rails 6.1 Rails Guide
- Bootstrap 5
- PostgreSQL 9.x
- Stripe