You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A production-grade, AI-powered project management backend built with Spring Boot β inspired by Jira.
Featuring real-time WebSockets, async messaging, Redis caching, Google Gemini AI, and full JWT security.
TaskFlow is a backend REST API for managing teams, projects, sprints, and tasks collaboratively β built to demonstrate production-grade Spring Boot architecture.
It covers the full stack of backend concerns: JWT security with refresh token rotation, WebSocket real-time updates, async messaging via RabbitMQ, role-based access control scoped per workspace, AOP-based permission checks, Redis caching with rate limiting, scheduled jobs, Gemini AI automation, and full Docker + cloud deployment.
# Clone the repo
git clone https://github.com/Spectraa28/TaskManager.git
cd TaskManager
# Copy env file
cp .env.example .env
# Fill in your values in .env# Run with Maven
./mvnw spring-boot:run -Dspring-boot.run.profiles=dev
App runs on http://localhost:8080
Swagger UI β http://localhost:8080/swagger-ui.html
Docker
# Build and run with Docker Compose
docker-compose up --build
ποΈ Build Log
Day
What Was Built
Day 1
Project setup, package structure, all domain enums, BaseEntity with UUID PKs, ApiResponse<T> wrapper, GlobalExceptionHandler
Day 2
Full JWT security layer β JwtUtils, AuthTokenFilter, AuthEntryPointJwt, UserDetailsImpl, WebSecurityConfig
Day 3
User entity, UserRepository, Register/Login DTOs, AuthService, AuthController β fully tested
Day 4
RefreshToken entity, token rotation, revocation, full auth flow
Day 5
Workspace entity, CRUD, member management, role system
Day 6
Project entity, CRUD scoped to workspace, project member roles
Day 7
Sprint entity, lifecycle management (PLANNED β ACTIVE β COMPLETED)
Day 8
Task entity, CRUD, taskKey generation, status FSM
Day 9
Task extras β comments, time logging, task watching
Day 10
Activity log via AOP, audit trail on all task mutations
Day 11
Notification system β RabbitMQ async delivery, read/unread
Day 12
WebSocket + STOMP real-time task updates
Day 13
Email notifications via JavaMailSender + Thymeleaf templates
Day 14
Scheduled jobs β overdue task flagging, sprint health checks
Day 15
Google Gemini AI integration β description, priority, sprint summary
Day 16
Global search + personal/workspace dashboards
Day 17
Redis caching (10min TTL) + rate limiting on auth endpoints
Day 18
Docker multi-stage build, Swagger/OpenAPI config, deployed to Render