Skip to content

nguyentin05/task-management

Repository files navigation

Full-stack Application with Microservices Architecture


About

A Kanban-based task management system that allows teams to organize and track work progress visually.

The project is built with a focus on the following aspects:

  • Architectural compliance: Microservices decomposed by domain, clear authentication and authorization, business logic that meets functional and regulatory requirements. System architecture is automatically validated through architecture tests.

  • Standard CI/CD pipeline: A well-defined development and deployment workflow powered by GitHub Actions to automate all workflows.

  • Thorough documentation: The system is documented following multiple standards including ADR, arc42, C4 Model, OpenAPI Specification, and UML diagrams for system modeling.


Team Members

Full Name Role In Team Role In Project
Nguyen Trong Tin Leader Software Architect, Backend, DevOps, Tester
Tran Anh Tu Member Frontend Developer
Tran Thanh Tung Member Business Analyst

Architecture

The system applies a Microservices architecture on the server side, combined with two complementary architectural styles: Event-Driven Architecture and Layered Architecture.

Other notable architectural patterns applied:

  • API Gateway Pattern
  • Database-per-Service
  • Saga + Transactional Outbox Pattern
  • Circuit Breaker

Tech Stack

Layer Technology
Frontend JavaScript, React, Vite
Backend Java, Spring Boot, Spring Security, Spring Cloud Gateway
Database PostgreSQL, Neo4j, MongoDB
Broker RabbitMQ
Storage Cloudinary
Email Brevo SMTP
Authentication JWT
Containerization Docker, Docker Compose
CI/CD GitHub Actions, GitHub Container Registry
Diagram as Code Structurizr DSL
API Docs OpenAPI Specification, Google Docs
Testing JUnit, JaCoCo, ArchUnit, k6

Quick Start

Prerequisites

  • Docker 24.0+
  • Docker Compose 2.0+
  • RAM 8GB+

Docker Compose

git clone https://github.com/nguyentin05/task-management.git && cd task-management
cp .env.prod.example .env
docker compose -f docker-compose.prod.yml up -d

Access

Service Port
Frontend 3000
API Gateway 8888

Document Navigation

  1. Final Report (Google Docs)
  2. ADRs
  3. API
    2.1. Manual
    2.2. OpenAPI
  4. Architecture
    3.1. Arc42
    3.2. C4
  5. Diagrams
    4.1. Class
    4.2. Deployment
    4.3. ERD
    4.4. Sequence
    4.5. Usecase

Demo Screenshots

Kanban Board

Kanban

Admin Dashboard

Admin

Sign In

Login

Profile

Profile

Workspace

Workspace

About

A production-grade Kanban task management platform built with Microservices Architecture

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages