Create an app that allows users to log their favorite snacks. Add functionality that will enable users to see whether or not their snack is healthy based on a simple algorithm.
For this project, there are 45 features, points, functionalities to build. You are required to successfully reach a minimum of 32 points to pass this project.
- Using the
project-snack-a-log-frontend
andproject-snack-a-log-backend
repos, create a full-stack web application by building the two applications and having them interact. - Use Express to build a complete CRUD back-end application that adheres to RESTful routes.
- Deploy the applications separately so that anyone can see them online and the two online applications can interact.
- You will be working in groups of 4 for this 4 day Sprint.
- One person should create a Trello board and add all members to it
- One person in the group should fork and clone the front end
- One person in the group should fork and clone the backend
- All group members should be added as collaborators to the repos
- One possibility for approach to working could be to partner 2 people on the frontend and partner 2 people on the backend
- It is up to you how you choose to work as a team
- You will be given 4 tokens. These tokens represent the number of debugging questions per team you are allowed to ask an instructor during this complete sprint. (clarifying questions about the instructions are not included)
Click here for Back-end Instructions
Suggestion: It might be a good idea if you begin with the Back-end setup) and then move on to the front-end, at least for planning.
- It Can load the index page and has navigation to the New page
- Has a list of snack cards that are coming from the back-end seed data
- Has a link to each snack's show page
- Has a solid heart, if the snack is healthy
- Has a heart outline; if the snack is unhealthy
- Has good CSS design that shows at minimum a good faith effort
- Show page
- Shows header text
- Can navigate to the New page
- Snack has correct information displayed
- Contains action/navigation buttons
- New page
- Shows the header text
- Has a form with the correct labels and fields
- Can create a snack and then redirects back to the index page
- Edit page
- Has a form with the correct labels and fields
- Data is pre-filled into the form
- Can update a snack and then redirects back to the index page
- Delete button
- Can delete a snack using the app
- Front-end hosted and accessible online
- You will present as a group your application to the class. Each team member must participate
Total Frontend: 23 points
Total Backend: 21 points
Presentation: 1 point Grand total: 45 points
Note: There are no front-end tests; your hosted application's functionality and code quality will be used to evaluate you.
- Navigate to your directory called
project-snack-a-log
. cd
into the directory.- Fork and clone the
project-snack-a-log-front-end
repo into yourproject-snack-a-log
directory. - Change the name of your
project-snack-a-log-front-end
directory tofront-end
.
Note: Your
back-end
directory should be adjacent to yourfront-end
directory. Both should be their own git repositories. The top-levelproject-snack-a-log
folder should NOT be a git repository.
It would be best if you opened a new terminal tab dedicated to running and developing your front-end.
cd front-end
touch .env
.env
REACT_APP_API_URL=http://localhost:3333
npm install
- install npm packages listed inpackage.json
.npm start
- make sure your React app can start
These lightly styled views are to help clarify the project requirements. It would be best if you spent some time styling your app, but you are not required to mimic the style shown below.
Use the resources below to deploy your application.