No description, website, or topics provided.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
app
bin
config
db
lib
log
public
test
tmp
vendor/assets
.gitignore
Gemfile
Gemfile.lock
LICENSE
README.md
Rakefile
config.ru
mockup.jpg
schema.png
schema.xml

README.md

rails-online-shop README

This README file will document everything implemented in my Rails Online Shop application.

Mockups

mock ups

Schema

schema

User Stories

  • A user can register, sign in, and sign out. ✔️
    • User profile will contain Username, Email, Account Password, Order History, and a shopping cart. ✔️
  • A user will receive email confirmation upon signing up. ✔️
  • A user can see a list of available items. ✔️
  • A user can click on individual items to see more information. ✔️
  • A user can add items to shopping cart from item show page. ✔️
  • A user can only be given Admin status from another Admin.
  • Admin users can modify inventory through a special page available only to Admin users. ✔️
    • Admin users have the ability to Create new items, Read items, Update items, and Delete items. ✔️
  • A user can checkout items in shopping cart.
    • A successful checkout will update item quantity in stock.

MVP Iteration 1 ✔️

  • A user can manage products on site. ✔️
    • Ability to create, view, edit, and delete. ✔️
  • A user can see a basic styled site. ✔️
  • A user can see product placeholders. ✔️

MVP Iteration 2

  • Each stock item has a stock quantity and a price. ✔️
  • Prices should be displayed in legit format $99.95 ✔️
  • Have an admin view for inventory management located at /admin. ✔️
    • Username should be 'admin', and password should be 'secret'. ✔️
    • Have this protection so that only the admin user can modify inventory, and no one else. ✔️
  • UX for inventory should be tabular, very functional, and designed to help the merchant move through lots of data quickly.
  • UX for the shopper's view should be visual, maybe a grid of product images, should encourage spending time and slow browsing.
    • Edit/Delete/etc. links should not be visible to a regular user. ✔️
  • Have a responsive layout and make it mobile friendly.
  • Include flash error messages ✔️
  • Include flash success messages

MVP Iteration 3

  • User registration / login. ✔️
    • At least one admin user. ✔️
  • Products should have categories. ✔️
    • A product can have many categories. ✔️
    • A category can have many products. ✔️
    • On homepage include link that shows all categories. ✔️
      • When a specific category is clicked, show all items that fall under that category. ✔️
    • Product show page should show what categories it belongs to.
  • Have tests for all features up to this point
  • Have a session based authentication / authorization. ✔️
  • Build an ActionMailer adapter that will send a welcome email when the user signs up. ✔️

MVP Integration 4

  • Each product will have an 'Add to Cart' button. ✔️
    • This will load a view through AJAX that shows the shopping cart for that user
  • Users can remove items from the cart.
  • Users can change the quantity of items they want, as long as it doesn't exceed the current stock quantity.
  • Calculate total price of all items in shopping cart the moment cart is updated in any way.
  • A successful checkout will:
    • Reduce existing item stock quantity accordingly.
    • Send user email detailing purchase.
    • Redirect user to thank you page that indicates purchase details.
  • Items out of stock will be indicated as such on item page and have their 'Add to cart' button grayed out.
  • Maintain an "order history" page for each user, where you can see previous order (date of purchase & total spent)
  • Tests