Learning Objectives
With this assignment you will demonstrate:
- The ability to ideate, design, implement, and deploy a beautiful, secure web-application of your choice, using both and API and a secure database, in a team of four students, with well defined roles, following modern development practices.
Readings and Videos
Please:
- Keeping reading relevant React, Firebase, and Google Cloud docs.
- Review all applicable course notes.
- Watch videos of your choice.
- Come to office hours.
Instructions
There are multiple requirements for this assignment. Make sure each of the following are completed.
- Go back to your Project #1 on Replit or Code Sandbox and clean up your code, using programming best practices you’ve learned, and apply any grading feedback you received.
- Go back to your Project #1 and put it on GitHub. Make sure the README.md file is perfect.
- Go back to your Project #1 and deploy it to GitHub Pages.
- Go back to your Project #2 and clean up your code, using programming best practices you’ve learned, and apply any grading feedback you received.
- Clean up your Project #3 with any feedback you have received. Your source should already be on GitHub and your project deployed to Firebase.
- Form a team of ~4 students to make a new project. The project must properly use authentication, at least one external API, and a database. The source code must be on GitHub. The final app must be deployed on the public web.
- Ideate the project according to the Ideation Process introduced in class.
- Prepare and deliver an Elevator Pitch for this project, to be presented in class during the week of November 15. Three minutes max.
- Fill out a project report sheet. A template will be given to you. Fill this out like you care. You will be graded on how professional it is.
- Ensure the code for your project is perfectly formatted. Use Prettier. This is not an option.
- Use an accessibility validator.
- Ensure the README of your project is appropriate.
- Submit in BrightSpace links to your GitHub repo, whose README must have a link to where your app is deployed.
- Give a 5-7 minute final presentation and demo during the last week of class or during finals week. Attendance is mandatory to show respect to your fellow students.
Project Checklist
As usual, the following will be checked:
- Good variable and function names, good separation of concerns, good code organization, etc.
- You have followed React best practices, and JavaScript best practices in general
- Layout using Grid &l Flex or Bulma or Tailwind
- Is responsive: it must look good on mobile and web (narrow or wide screen)
- Is visually balanced and aesthetically pleasing: Use colors and contrast properly! Line things up! Get a designer friend of yours to critique your work
- Is in a GitHub repo with a proper name: named after the project, not something generic like “hw4”
- Has a detailed README.md file, that not only explains the project (as a real README should), but also with a link to the runnable site deployed on Firebase Hosting
- Is built from code (all files) that is flawlessly formatted, and that means that you not only indent and space 100% consistently, but that you are also perfectly consistent with blank-line spacing where necessary (Prettier will help with most things.)
- Is run through an HTML and an accessibility validator
Presentation Guide
The format will be ”Lightning Talk” with between 2-6 slides. No more than 10 minutes total.
Favor Pictures to Words, but some words okay.
Be humorous IF YOU CAN.
With title slide up, egin with the "Hello, I’m ____ / and I’m ____ / ... and last person after saying their name says “and we’re ____ and our project is ____.”
First part of presentation explains your user and their needs.
Then have a super short demo - can be a pre-recorded video.
Then a list of technologies used. Say what APIs you used and what you put in the database. Was something cool, hard, or annoying? Mention it quick.
One question from the audience.
Say thanks! Then everyone claps.