Objectives
Build a React single page application from scratch
Apply your knowledge of components, props, state management, and effects
Persist data in a mock up backend
Introduction
Now that you've learned the fundamentals of React, it's time to practice and expand your skills by making a React project from scratch!
This assignment is open-ended when it comes to the actual content. You are free to create whatever you'd like, as long as it incorporates the requirements listed in these instructions.
Requirements
Frontend Requirements
You must make a single page application (only one index.html file) using create-react-app
Your app should use multiple components in a way that keeps your code well organized
Multiple client-side routes using react-router (Links to an external site.) are encouraged but not required
Backend Requirements
You should use json-server to create a RESTful API for your backend
You must have full CRUD on at least one resource
Stretch Goals
Once you have met the minimum requirements, feel free to explore! These are only the basic requirements — you're free to add on as much stuff as you'd like.
Some ideas for stretch goals:
Incorporate data from an external API. Use this list of APIs (Links to an external site.) if you need some inspiration!
Add some styling: you're encouraged to write your CSS from scratch, either by using styled-components (Links to an external site.) or writing CSS files and using id/className to style your elements. You can also incorporate a UI framework (like react-bootstrap (Links to an external site.), semantic-ui (Links to an external site.) material-ui (Links to an external site.)) if you prefer.