A mini e-commerce application built with Rails 4.2 for purposes of teaching Rails by example.
- Users can browse a list of products from the homepage
- Users can filter the list of products to browse by selecting a category
- Users can view the product details by selecting a specific product
- Users can add and remove products from their cart
- Users can view their order details once the transaction has been completed
- Items that are out of stock are displayed with a sold out badge
- Users can signup, login and logout from any page
- User passwords is encrypted through bcrypt
- Admin users can add and remove products or categories
- Admin users can view the number of existing products and categories via the dashboard
Front-End: Ruby, JQuery-Rails, SCSS
Back-End: Rails, PSQL
Testing: Rspec, Capybara, Poltergiest, Phantom
Main page displaying a list of all available products.
Displays a list of all avaiable categories.
Display products belonging to a selected category.
Display details of a specific product.
Displays the contents of the cart.
Displays the order details, once the order has been confirmed.
Registration form for new users.
Login form for existing users.
Logged users will see that they are signed in up at the navigation bar.
Dropdown menu displaying tabs only accessible to admin users.
Displays an overview of the current number of existing categories and products available.
Manage the list of products available.
Manage the list of categories.
- 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/rake 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
Use Credit Card # 4111 1111 1111 1111 for testing success scenarios.
More information in their docs: https://stripe.com/docs/testing#cards
- Rails 4.2 Rails Guide
- PostgreSQL 9.x
- Stripe
- Rspec
- Capybara
- Poltergeist