Skip to content

Little Esty Shop is a 10-day, 4 person project, during Mod 2 of 4 for Turing School's Back End Engineering Program. The bulk discounts feature is a solo additional project.

Notifications You must be signed in to change notification settings

bfl3tch/little-esty-shop

 
 

Repository files navigation

Little Esty Shop

Contributors Issues Stargazers Forks

Welcome to Little Esty - A database driven web application

little_etsy_shop_db_schema

little_etsy_shop_flow

Find the project spec here.

Table of Contents

README


Overview

Little Esty Shop is a 10-day, 4 person project, during Mod 2 of 4 for Turing School's Back End Engineering Program.

Our challenge was to build a functioning web app consisting of multiple relational databases to model the popular e-commerce web site Etsy.

Learning goals and areas of focus consisted of:

  • Apply principles of flow control across multiple methods
  • Design a one to many relationship using a schema designer
  • Write migrations to create tables with columns of varying data types and foreign keys.
  • Use Rails to create web pages that allow users to CRUD resources
  • Create instance and class methods on a Rails model that use ActiveRecord methods and helpers
  • Write model and feature tests that fully cover data logic and potential user behavior

Technical Requirements

Tools Used

  • Ruby 2.7.2
  • Rails 5.2.6
  • PostgresQL
  • Postico
  • Capybara
  • Launchy
  • Orderly
  • SimpleCov
  • Git/GitHub
  • HTML
  • CSS
  • Bootstrap
  • RSpec
  • Pry
  • Atom
  • VS Code

Contributors

👤 Brian Fletcher

👤 Elliot Olbright

👤 Taylor Varoglu

👤 Michael Abbott

Little Esty Shop

Background and Description

"Little Esty Shop" is a group project that requires students to build a fictitious e-commerce platform where merchants and admins can manage inventory and fulfill customer invoices.

Learning Goals

  • Practice designing a normalized database schema and defining model relationships
  • Utilize advanced routing techniques including namespacing to organize and group like functionality together.
  • Utilize advanced active record techniques to perform complex database queries
  • Practice consuming a public API while utilizing POROs as a way to apply OOP principles to organize code

Requirements

  • must use Rails 5.2.x
  • must use PostgreSQL
  • all code must be tested via feature tests and model tests, respectively
  • must use GitHub branching, team code reviews via GitHub comments, and github projects to track progress on user stories
  • must include a thorough README to describe the project
  • must deploy completed code to Heroku

Setup

This project requires Ruby 2.7.2.

  • Fork this repository
  • Clone your fork
  • From the command line, install gems and set up your DB:
    • bundle
    • rails db:create
  • Run the test suite with bundle exec rspec.
  • Run your development server with rails s to see the app in action.

Phases

  1. Database Setup
  2. User Stories
  3. Extensions
  4. Evaluation

Project Configurations

  • Ruby version

    $ ruby -v
    ruby 2.7.2p137 (2020-10-01 revision 5445e04352) [x86_64-darwin20]
  • System dependencies

    $ rails -v
    Rails 5.2.6
  • Database creation

    $ rails db:{drop,create,migrate,seed}
    Created database 'little_esty_shop_development'
    Created database 'little_esty_shop_test'
  • Database initialization

    $ rake csv_load:all
  • How to run the test suite

    $ bundle exec rspec
  • Local Deployment, for testing:

    $ rails s
    => Booting Puma
    => Rails 5.2.6 application starting in development
    => Run `rails server -h` for more startup options
    Puma starting in single mode...
    * Version 3.12.6 (ruby 2.7.2-p137), codename: Llamas in Pajamas
    * Min threads: 5, max threads: 5
    * Environment: development
    * Listening on tcp://localhost:3000
    Use Ctrl-C to stop
    
  • Heroku Deployment, for production

About

Little Esty Shop is a 10-day, 4 person project, during Mod 2 of 4 for Turing School's Back End Engineering Program. The bulk discounts feature is a solo additional project.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Ruby 81.6%
  • HTML 17.2%
  • Other 1.2%