SESD Course Project · 6-Month Iterative Development (Oct 2025 - Apr 2026)
Built with Next.js 15, TypeScript, and Tailwind CSS (Glassmorphism)
Live Demo: https://sesd-project-ayush.onrender.com
Synapse is a production-grade, role-based project management platform designed for high-performance engineering teams. Evolved over 6 months, this project demonstrates deep architectural maturity, implementing Clean Architecture, DDD principles, and enterprise features like real-time analytics and system auditing.
core/
├── models/ # Domain Entities (User abstract class, Admin, Developer, Task, Project)
├── repositories/ # Data Access Layer (IRepository<T> interface + implementations)
├── services/ # Business Logic Layer (TaskService, ProjectService)
└── db/ # Singleton In-Memory Database
app/
├── api/ # RESTful Controller Layer (tasks, projects)
├── layout.tsx # Root Layout
└── page.tsx # Dashboard UI (Role-based Sprint Board)
| Principle | Implementation |
|---|---|
| Abstraction | User abstract class with getPermissions() contract |
| Inheritance | Admin and Developer extend User |
| Polymorphism | Runtime dispatch of getPermissions() per role |
| Encapsulation | Repository pattern hides data store internals |
- Singleton —
DatabaseandAuditServiceensure consistent state across the platform. - Repository —
IRepository<T>generic interface decouples data access for tasks, users, and projects. - Dependency Injection — Services receive repositories via constructor, enabling loose coupling and testability.
- Analytics Engine —
AnalyticsServicecalculates engineering velocity and project health using throughput algorithms. - Audit Logging —
AuditServicetracks system-wide entity mutations for enterprise compliance.
npm install
npm run devOpen http://localhost:3000.
- Idea.md — Project scope & key features
- ARCHITECTURE.md — Deep dive into 6-month evolution & design patterns
- ROADMAP.md — Historical milestones and future vision
- UseCaseDiagram.md — Use Case Diagram
- SequenceDiagram.md — Sequence Diagram (end-to-end flow)
- ClassDiagram.md — Class Diagram
- ERDiagram.md — ER Diagram
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/tasks |
List all tasks |
| POST | /api/tasks |
Assign a new task |
| PATCH | /api/tasks/:id |
Update task status |
| GET | /api/projects |
List all projects |
| POST | /api/projects |
Create new project |
Ayush Shukla