Find the project spec here.
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
- Ruby 2.7.2
- Rails 5.2.6
- PostgresQL
- Postico
- Capybara
- Launchy
- Orderly
- SimpleCov
- Git/GitHub
- HTML
- CSS
- Bootstrap
- RSpec
- Pry
- Atom
- VS Code
👤 Brian Fletcher
- Github: Brian Fletcher
- LinkedIn: Brian Fletcher
👤 Elliot Olbright
- Github: Elliot Olbright
- LinkedIn: Elliot Olbright
👤 Taylor Varoglu
- Github: Taylor Varoglu
- LinkedIn: Taylor Varoglu
👤 Michael Abbott
- Github: Michael Abbott
- LinkedIn: Michael Abbott
"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.
- 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
- 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
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.
-
Ruby version
$ ruby -v ruby 2.7.2p137 (2020-10-01 revision 5445e04352) [x86_64-darwin20]
-
$ 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