Project
Final Project
- Total Weight: 6 points
For the final project, each student must design and implement a complete database system from scratch and deploy it using Flask and PostgreSQL, leveraging Vercel for deployment (or running locally) and Neon for serverless PostgreSQL database management.
Steps and Grading
- Topic Selection & Requirements Analysis (1 point)
- Choose a real-world topic (e.g., library system, student management, e-commerce).
- Analyze functional and non-functional requirements and document them clearly.
- ER Diagram Design (1 point)
- Create a comprehensive Entity-Relationship diagram based on the requirements.
- ER-to-Table Conversion (1 point)
- Map the ER diagram to relational tables with proper keys, attributes, and constraints.
- SQL Implementation (1 point)
- Write SQL scripts to create tables and populate them with sample data in PostgreSQL.
- Web Application Development with Flask (1 point)
- Build a web application using Flask to interact with the database.
- Implement at least the following functionalities:
- Insert: Add new records to the database via a web form.
- Delete: Remove records.
- Update: Modify existing records.
- Query: Search and display records with filters.
- Use psycopg2 for direct database connectivity (no ORM allowed).
- Write raw SQL queries for all database operations.
- Design simple HTML templates with Jinja2 for the front-end.
- Building a RESTful API with FastAPI and SQLModel (1 point)
-
Implement a RESTful API using FastAPI
-
Note: The project must be deployed on Vercel (or run locally) and include full documentation of each step.
