Little Shop
Project Description
You are working for a company developing an E-Commerce Application. Your team is working in a service-oriented architecture, meaning the front and back ends of this application are separate and communicate via APIs.
Your job is to expose the data that powers the site through an API that a front end will consume. You will be working with an existing front end application that consumes these APIs, and part of your work will also be to make a few adjustments to that front end as well (see “Connecting to the Front End” below).
Learning Goals
Explicit
- Use ActiveRecord and SQL to write queries that deal with one-to-many database relationships
- Expose API endpoints to CRUD database resources
- Validate models and handle sad paths for invalid data input
- Test both happy and sad path functionality based on JSON contracts
- Use MVC to organize code effectively, limiting data logic in controllers and serializers
- Track user stories with GitHub Projects
- Improve an existing FE application by:
- Styling the user interface
- Refactoring JavaScript code
- Adding an additional FE feature
Implicit
Below are skills that are more general/necessary on the job that are practiced by completing the goals above.
- Reading Documentation
- Time Management
- Prioritizing Work
- Breaking down large project into small pieces
- Breaking down a problem into small steps
- Practice individual research (articles, videos, mentors)
Project Management
Groups must utilize a project board in order to organize areas of work and allow for visibility of each other’s progress. In addition, groups will be evaluated on the evidence of meaningful code review, either via comments on a PR, or through discussion of live code review during their evaluation.
BE Technical Requirements
The BE Technical Requirements for this project can be found here
FE Requirements
The FE Requirements for this project can be found here
Extensions
Review the evaluation details to ensure you have completed each section of it before tackling any extensions. If all BE and FE requirements have been met, then please work on the extensions found here
Evaluation
Evaluation details can be found here