Jungle - A lesson in extending an existing codebase

Table Of Contents

Why is Jungle?

Jungle is a week long lesson on how to work on older existing codebases.
Over the course of a week, We had to fix bugs and implement brand new features!

What I did

I was given vague descriptions of bugs to fix, features to add, and guidence on how to create comprehensive tests.

Detailed list:

Orignal Jungle Summary

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

Images


Home Page

home page


Categories

home categories


Product Details

home product details


Empty Cart

cart empty


Full Cart

cart full


Order Placed

order fulfilled


Email Preview (HTML)

email html


Email Preview (Text Fallback)

email text


Admin Dashboard

admin dashboard


Admin Product Management

admin products


Admin Add Product

admin products add


Admin Discount Management

admin sales


Setup

Additional Steps for Apple M1 Machines

  1. Make sure that you are runnning Ruby 2.6.6 (ruby -v)
  2. Install ImageMagick brew install imagemagick imagemagick@6 --build-from-source
  3. Remove Gemfile.lock
  4. Replace Gemfile with version provided here

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/rake 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 to start the server

Stripe Testing

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

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

Dependencies