Course Project Overview
The course project is a key component of this course, accounting for 50% of your final grade. It is a collaborative effort designed for teams of 2 to 4 students to develop a full-stack web application using technologies covered in lectures. The project allows you to apply and expand upon concepts from lectures, demonstrating your ability to design, implement, and manage a complete web application.
Key Milestones
| Milestone | Due Date | Submission Method | Weight |
|---|---|---|---|
| Team Formation | Monday, February 23, 2026 | Submit team member list via Quercus | |
| Project Proposal | Monday, March 2, 2026 | Upload Markdown file to Quercus | 15% |
| Project Introduction | Wednesday, March 18, 2026 | Submit a short written introduction (70–100 words) via Quercus | |
| Presentation Slides | Thursday, March 19, 2026 | Submit slides via Quercus | |
| Presentation | Lecture 10 (March 20, 2026) & Lecture 11 (March 27, 2026) | 10% (5% peer, 5% instructor & TAs) | |
| Final Project Deliverable | Friday, April 3, 2026 | Submit GitHub repo URL via Quercus | 25% |
All deadlines are at 11:59 PM EST on the due date.
Presentation slots have been randomly assigned and are available via the following links:
Project Structure
The project involves forming a team, proposing a stateful cloud-native application, presenting your work, and delivering a fully functional system. Key requirements include:
- Core Technologies: A modern web application stack using React or Next.js with Tailwind CSS and a component library (e.g., shadcn/ui), responsive UI design, relational data storage with PostgreSQL or SQLite, cloud-based file storage, and one of the following architectures: (1) a Next.js full-stack approach using the App Router with Server Components, API Routes, and Server Actions, or (2) a separated frontend–backend design with a React frontend and an Express.js backend exposing well-documented RESTful APIs.
- Advanced Features: Implement at least two (e.g., user authentication and authorization, real-time functionality).
- Deliverables:
- Proposal: A Markdown document outlining motivation, objectives, features, and plan.
- Presentation: A 6-minute in-class demo of your project’s features and technical implementation.
- Final Deliverable: A GitHub repository with source code, a
README.mdas the final report, anai-session.mddocumenting 1–3 meaningful AI interactions, and a 1-5 minute video demo.
All deadlines are strict, and late submissions will not be accepted.
For private GitHub repositories, add the instructor and TAs as collaborators before the final deadline.
AI Usage for the Course Project
AI tools are permitted and may be used more flexibly in the course project than in assignments. However, the project follows a strict First-Think-Then-AI workflow.
Before using AI, teams must independently reason about system architecture, design choices, and implementation plans. AI may then be used to assist with implementation, exploration of alternatives, or debugging. All AI-assisted work must be understood, verified, and clearly explained by the team.
This workflow is enforced through:
- Initial Independent Reasoning in the project proposal
- AI Assistance & Verification in the final report (
README.md) - 1–3 documented AI interactions in
ai-session.md
Your grade is based on your team’s understanding, reasoning, and verification, not on what AI tools generate.
For course-wide expectations and rationale, see the AI Usage Policy page.
Additional Information
- See Course Project Guidelines for detailed requirements and marking rubrics.
- See Presentation Guidelines for project presentation expectations and guidelines.
- See Presentation Logistics for instructions on in-class project presentations.
- See Presentation Rubric for presentation grading details.
- See Common Questions for frequently asked questions about the course project.