A mini e-commerce application built with Rails 6.1 for purposes of teaching Rails by example.
- User-authentication - Use has_secure_password and bcyrpt, checks if user is "unique" before registering to database.
- Admin-categories - Allow admin to create categories and add new products.
- Admin-basic-authentication - Use http_basic_authenticate_with/.evn to perform a simple Admin login check.
- Dashboard(for Admin) - Add a count table for the number of categories and products in the app.
- Order-details - Add an order summary page upon successful transaction.
- Sold-out-badge - Add sold out icon and shows if product inventory is 0.
- Empty-cart-UI - Add UI for empty cart and redirect link to home page.
- Money-formatting - Add method to show "$"sign in front of signumeric values which reflect prices.
Rspec, Cypress
- 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 db - 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 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