Final Project
Build a CRUD App using Node.js, Express, EJS, and a database.
Background
Before starting the final project, complete the CRUD App Walkthrough. Feel free to use the final code from the walkthrough as a starting point for the project. However, the app should keep track of a different type of data.
Requirements
A user should be able to:
- Create rows in the database
- Read data from the database
- Update existing rows in the database
- Delete rows from the database
Implementation
- Create at least one (1) new page for the application
- Create at least one (1) new route for the application
- Update the styles for the application
Presentations
Students will be expected to present their projects at the last meeting of the semester.
Content
The presentation should include:
- Background about the idea behind the app
- An overview of the app's functionality
- An explanation of any new topics learned
- A brief look into any relevant or interesting parts of the code
- A discussion of any challenges that arose during the project development
Procedure
- Students should store all of their code in Replit
- Make sure the code is shared with the instructors
- A student also has the option of recording a video presentation
- There will be a defined schedule and order for each student to present
- If a student does not present a final project, they may not be able to move onto the next level of Hy-Tech Club
Ideas
This list of ideas is in no way comprehensive; feel free to go beyond and do something completely different!
Enhancement Ideas
- A message asking "Are you sure you want to delete this object?"
- Custom styles for table rows based on data
- A separate "Information" page for each database object
- Sortable data table
- Images for each database object
- Preventing users from adding duplicates to the database
Full Project Ideas
- To-Do List Application
- Recipe Application
- Blog Application
- Marketplace Application (e.g. craigslist)
- Social Media Application (e.g. Twitter)
- Movie Review Application (e.g. Letterboxd)