This repo was written as part of the Turing School of Software Design's group project requirements for Mod 2. We were tasked with building new features to a mock e-commerce website in accordance to a series of 40 user stories. The stories built functionality where merchants and admins can manage inventory and fulfill customer invoices. The project was designed to demonstrate a number of learning objectives, including:
- 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.4.
- 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.
Our team was extremely pleased with not only our progress but our process. We had instant chemistry and complementary skills that made giving and receiving feedback fun and informative. By balancing our intellectual curiosity with tracking our progress using GitHub projects, we were able to not only complete all project requirements well before the deadline but refactor each other's work and learn new approaches to similar problems. Ultimately this process of giving and receiving feedback refined our product and strengthened our coding skills as individuals.
If this sort of collaboration would benefit your team, please scroll down to get in contact with us and schedule an interview!