A mini e-commerce application built with Rails 4.2.
The purpose of this project was to become familiar with Ruby and Rails framework, learn how to navigate an existing code base, and use its style and approach to implement new features in unfamiliar territory.
- Sold out badge
- Admin access
- Admins can list and create new categories,
- Admins can add new products using the new category,
- Admins' dashboard shows total categories and products with an appropriate link
- User authentication
- Users can login/signup using bcrypt with Rails
- Order details page
- Upon confirming an order, a descriptive page of the order is shown to users
- When the cart is empty, display a friendly message to continue shopping with a link to home page
- Add HTTP basic Auth to access admin functionality
- The app was tested with:
- RSpec
- Capybara and Poltergeist
- Make sure that you are runnning Ruby 2.6.6 (
ruby -v
) - Install ImageMagick
brew install imagemagick imagemagick@6 --build-from-source
- Remove Gemfile.lock
- Replace Gemfile with version provided here
- 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