gantt
title Project Milestones
dateFormat YYYY-MM-DD
section Planning
Team Formation :2026-01-13, 3d
Proposal Development :2026-01-16, 14d
section Execution
Core Development :2026-01-30, 25d
Midterm Presentation :milestone, 2026-02-24, 1d
Advanced Features :2026-02-27, 35d
section Completion
Final Polish :2026-04-14, 14d
Final Presentation :milestone, 2026-04-28, 1d
Semester Project
Building a Real-World Application for Impact
Project Overview
The semester project is your opportunity to apply the architectural patterns, development practices, and deployment strategies learned throughout the course to build a real-world application. You will work in teams of 3-4 members to conceptualize, design, build, and deploy a functional web application.
Your project should address a genuine problem or opportunity through one of these lenses:
- Startup Idea: A product concept you could potentially launch
- External Stakeholder: An application for a real organization, club, or community
- Social Impact: A solution addressing a meaningful social or environmental challenge
Project Timeline
Deliverables
| Deliverable | Weight |
|---|---|
| Project Proposal | 15% |
| Midterm Update | 20% |
| Final Presentation | 25% |
| Total Project Weight | 60% |
Team Requirements
Team Composition
- Size: 3-4 members per team
- Roles: Each member should take ownership of specific areas (frontend, backend, data, DevOps)
- Collaboration: All members must contribute code and participate in architectural decisions
Team Formation Process
- Form teams during Week 1 (by January 16)
- Register your team on the LMS
- Create your team’s GitHub organization or repository
- Set up your project management tool
Project Management Requirements
Your project must use a structured project management approach with visible progress tracking.
Option 1: GitHub Projects (Recommended)
Use GitHub’s built-in project management features:
- GitHub Projects: Kanban boards integrated with your repository
- Issues: Track features, bugs, and tasks
- Milestones: Group issues into sprints or phases
- Pull Requests: Link PRs to issues for traceability
Setup Requirements:
Repository Structure:
├── .github/
│ ├── ISSUE_TEMPLATE/
│ │ ├── feature.md
│ │ ├── bug.md
│ │ └── task.md
│ └── PULL_REQUEST_TEMPLATE.md
├── docs/
│ └── architecture/
├── src/
└── README.md
For the group repo below ONE person from each group should accept assignment and then create team name. It should cover both your group number and something descriptive. For example “1A: Transfer Students”.
Option 2: External Tools (Jira, Linear, Notion)
If you prefer external tools, they must be:
- Publicly viewable or instructor access granted
- Linked from your repository README
- Actively maintained with regular updates
- Integrated with GitHub (e.g., Jira-GitHub integration)
Technical Requirements
Architecture Requirements
Your application must demonstrate understanding of course concepts:
- Layered Architecture: Clear separation of concerns (presentation, business logic, data)
- API Design: RESTful or GraphQL API with proper documentation
- Data Persistence: Appropriate database choice with justified trade-offs
- Authentication: Secure user authentication and authorization
- Containerization: Docker-based development and deployment
Technology Stack
Required: - Frontend: React, Vue, Angular, or equivalent modern framework - Backend: Node.js/Express, Python/FastAPI, or equivalent - Database: MongoDB, PostgreSQL, or justified alternative - Containerization: Docker and Docker Compose - Version Control: Git with GitHub
Encouraged: - CI/CD: GitHub Actions or equivalent - Cloud Deployment: Any cloud provider - Agentic AI: Integration of AI-powered features
Grading Philosophy
Projects are evaluated on:
- Architectural Decisions (30%): Sound design choices with clear rationale
- Implementation Quality (25%): Clean, maintainable, well-tested code
- Project Management (20%): Effective use of tools, clear progress tracking
- Presentation & Communication (15%): Clear explanation of decisions and trade-offs
- Innovation & Ambition (10%): Scope appropriate to team size, creative solutions
A well-executed simple project will score higher than a poorly-executed ambitious one. Focus on demonstrating mastery of patterns and practices over feature quantity.
Resources
Getting Help
- Office Hours: Tuesday 9-11 AM, Pitt 2206
- Webex: Use the
projecttag for questions - TA Sessions: Check LMS for schedule
- Team Meetings: Schedule time with the instructor for project guidance