-
Notifications
You must be signed in to change notification settings - Fork 0
Home
TaskHub is a scalable, secure, and modular note-taking and labeling system inspired by Google Keep. It is designed and implemented as a practical case study in Object-Oriented Analysis and Design (OOAD). This project forms part of an academic exploration into the disciplines of software architecture, cloud-native systems, and platform engineering, aligned with the learning objectives of:
- SWE5001 – Architecting Scalable Systems
- SWE5006 – Software Analysis and Design
The system is built using a monorepo-based microservice architecture, with dedicated services for authentication, note management, label handling, and a decoupled frontend. All services are containerized, routed through a centralized API Gateway, and deployed with production-aligned practices such as CI/CD automation, observability, and reverse proxy configuration.
- Apply OOAD methodology to analyze, model, and document a distributed microservice system.
- Implement a real-world, Google Keep-inspired system with authentication, notes, and labels.
- Practice scalable and secure architectural design using Node.js, React, MongoDB, and Docker.
- Integrate industry-grade patterns including API Gateway, Reverse Proxy, and Service Observability.
- Deploy the system on DigitalOcean using containerization and automated pipelines.
- Use Case and Class Modeling (SWE5006)
- Architectural Views and Design Patterns (SWE5001)
- Microservice decomposition and containerization
- Cloud-native practices such as load balancing and service orchestration
- Platform Engineering elements including observability and gateway management
- CI/CD automation using GitHub Actions
| Section | Description |
|---|---|
| 1. Requirements | Functional and non-functional requirements specification |
| 2. Use Case Model | Use case diagrams and textual descriptions |
| 3. Analysis Model | Analysis Model |
| 4. Design Model | Design Model |
| 5. Transition from Analysis to Design | Trasition from Analysis to Design |
| [6. 4+1 View](./4 + 1 - View - Model) | 4+1 View |
| 7. Deployment | DigitalOcean setup, CI/CD configuration, and runtime environment |
| 8. Evaluation | Summary of design decisions, trade-offs, and final assessment |
This system is not intended to be a production-grade clone of Google Keep. Instead, it serves as a deliberate academic implementation emphasizing structured design, traceability, and best practices in modern software engineering.