bethanyann / dsd-cohort-2024 Goto Github PK
View Code? Open in Web Editor NEWThe repository for the DSD Cohort 2024 group project
License: Other
The repository for the DSD Cohort 2024 group project
License: Other
Task:
Wire up the "Log In" button on the Login page to submit the user's information to the backend
Acceptance Criteria:
endpoints.md
located in the docs
folder)Build out the base layout for the login page.
This will display recipes from the API in a "card" format for the user to scroll through
Create the basic layout for the User's Dashboard/My Recipes page
Create the API route for registering a user and implement validation on the payload
This could include preventing duplicate usernames or emails, and sending an error message to the frontend if validation fails
Set up an endpoint in the backend to handle a user's registration payload
Add .gitignore to backend_application with relevant exclusion for Java and Maven.
Priority exclusions:
Other exclusions:
Create an interface for Ingredients that extends JpaRepository
Use Dataflow for reference.
Create the initial functionality for bootstrapping test users to the database on start.
Some IDEs add additional files/directories to a project. ie, IntelliJ adds a directory '.idea'
It would be a good idea to exclude these files.
What will be used to authenticate a user?
Some solutions send a token or something to the frontend. Choose a method that is commonly used with Spring Boot and implement it
This also goes along with the Login feature.
Create a Service interface and implementation for Ingredients to handle business logic.
Use Dataflow for reference.
Include links to the "My Grocery List", "My Recipes" and "Dietary Preferences" Pages
Create the structure for the Menu on the left side of the Dashboard page
Implement validation on the user's input data on the Registration page. This can be done as the user is typing, as well as when the user clicks the "Register" button to make sure the backend isn't sent bad data.
Create an entity class that follows the ERD for ingredients.
Use Dataflow for reference.
Add a route for the user login page using React Router.
Wire up the API to the backend save a Recipe to a user's favorites when the "+" icon is clicked
Related Subtasks:
An Entity Relationship Diagram will show each "entity" or table that the database will hold, and their 1:1, 1:many or many:many relationships with the other tables.
It will also show each attribute, or column, that will be in each table and what data type each column will hold.
IE: A User entity will have a username: string, password: string etc and will have a 1:many relationship to the Recipes table
In the Login component, after the backend returns a successful response, the user should be redirected to their Dashboard page
This is the main feature for the User's Dashboard page:
Return a success message or token to the frontend based on the chosen user authentication method
See this GitHub repo for a great Spring dataflow execution explanation:
See this GitHub repo for a great Spring dataflow execution explanation:
Write down some project name ideas and we can vote as a team for what we want this project to be called!
Come up with 1-5 names for the project
This task is for adding the routing to the user registration page using React Router.
Create the Controller to handle the ingredients' endpoints.
Use Dataflow for reference.
Wire up the "Register" button on the Register page to submit the new user's registration information to the backend
See this GitHub repo for a great Spring dataflow execution explanation:
Upon a successful new user registration that passes all validation, create a new user in the database and send a success response back to the frontend which will allow the frontend to go ahead and log this new user in
Create the basic layout for the User's Dashboard/My Recipes page
Create the API route for when a user logs in and implement validation on the payload
This could include checking to make sure the username/password match as well as sending an error message to the frontend if validation fails
Set up an endpoint in the backend to handle a user's registration payload
This will involve getting an API key from the chosen recipe API, adding it to the environment variables file in the frontend, and then confirming via Postman or other API tool that the API requests are working
Create the environment variables and anything else needed to connect to the chosen recipe API. Link to the documentation: https://developer.edamam.com/edamam-docs-recipe-api
Create a new account on the Edamam site. The screenshot below will show the choices, just put your own email address in the input field, create your own password and choose the "Recipe Search API" and "Developer" as the plan options
Once you have successfully created an account, click on the Accounts
button in the top right of the header, and you will see this modal. Click on the Go to Dashboard
button here to navigate to the dashboard overview
Once you are on the Dashboard page, click on the Applications
link and you should see the API for the Recipe Search that you created earlier when signing up for an account. Click on the View
button next to the Recipe Search API
keys
listed, you will need to copy these keys and store them in a file in the project.This file is called an environment
file. Go into your IDE of choice (IntelliJ or VSCode), open up the Frontend_Application, and create a new file at the root of this project called .env
In this file, you will put the two application keys from the Edamam api that you just copied. They will go into the file in this format:
APPLICATION_ID=1234567890
with the key name in all caps, followed by an equals sign and then the key from Edamam.
Make sure to put both keys into the .env
file
.env
file to the .gitignore
file in the Frontend_Application project, and double-check that the .env
file didn't get added to the PR at all.This is the Main Feature for the user's Dashboard/My Recipes page displayed below:
Create a new Recipe Details Modal component & UI Layout
Create the click event on the Dashboard page's Recipe component that when clicked on will open up a new Recipe Details Modal component
Create API request that will take the Recipe ID from the recipe that was clicked on and fetch the Recipe Details to be displayed in the Recipe Details Modal
Create a new Recipe Details Modal and wire up the click event on the Dashboard page to open the recipe details when a Recipe is clicked on
See this GitHub repo for a great Spring dataflow execution explanation:
Implement validation on the user's input data on the Login page
The colors to be used in the site along with basic UI decisions need to be made and documented
Pick the UI colors to be used across the entire site
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.