/jungle-rails

An e-commerce website for plants built with Ruby on Rails, bootstrap, postrgeSQL, and stripe. Tested with cypress and rspec.

Primary LanguageRuby

Jungle

A mini e-commerce application built with Rails 6.1 for purposes of teaching Rails by example.

Screenshots

"home screen" "products" "my cart" "stripe payment" "order confirmation" "admin options" "user registration"

Setup

  1. Run bundle install to install dependencies
  2. Create config/database.yml by copying config/database.example.yml
  3. Create config/secrets.yml by copying config/secrets.example.yml
  4. Run bin/rails db:reset to create, load and seed db
  5. Create .env file based on .env.example
  6. Sign up for a Stripe account
  7. Put Stripe (test) keys into appropriate .env vars
  8. Run bin/rails s -b 0.0.0.0 to start the server

Database

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.

Stripe Testing

Use Credit Card # 4111 1111 1111 1111 for testing success scenarios.

Input a date after the current date and use any three numbers for the CVC code.

More information in their docs: https://stripe.com/docs/testing#cards

Dependencies

  • Rails 6.1 Rails Guide
  • Bootstrap 5
  • PostgreSQL 9.x
  • Stripe

Testing

To run cypress tests in the test database, run the test server using:

RAILS_ENV=test rails s

Then use:

bin/rails cypress:run

To run rspec tests you can use the devlopment server:

bin/rails s -b 0.0.0.0

And run:

bundle exec rspec --format documentation