This is the third of your three final projects. This time around, you'll be working in a small group of 2-3 other students.
You'll essentially be creating another full-stack application with the same requirements as the previous one, but this time you will build user authentication into the project. Some details:
- A passed off proposal Explaining your app
- Use JWTs to create a token-based authentication system to authenticate users
- Include password hashing, so no un-encoded password strings are saved in the database
- Save the JWT in web storage and set it up to send automatically with every request.
- Include the ability for users to have differing levels of permissions (optional)
Also, since you'll be working with other people on this project, you'll need to get used to following best practices with Git so that you aren't overwriting each other's code all the time. Doing this is trickier than it may sound when it's your first time using Git in a team setting. Whenever in doubt, ask an instructor or TA for help using Git so as to minimize your down-time.
This part of the project is to help you narrow down your idea, clarify its parts and make it easier to start coding.
The requirements are as follows.
Paragraph describing your app idea, What are you building? Who is it for?
An easily describable MVP, Remeber you have a limited amount of time to develop this project. What is the minimum you can get done on this project to meet the requirements and get a product in someone's hand?
User Story, What is a user going to do when they go to your site from the time they hit the landing page? What features do they need and which are optional?
Mind Map, What is the structure of your backend and front app going to look like? What routes, models, components, actions, and reducers will I need?
Once you have the following items meet with your instructor, pass of your proposal, you can start coding.
Passing criteria: Project demo to the class
Same as before, you'll be presenting your project to the rest of the class and talking about any difficulties or particularly challenging problems you faced and how you solved them.
Successful completion of this project passes off the following milestones of the skills tree:
- Web Applications - Level 4
- Version Control - Level 4
- Databases - Level 5