How tristantowijaya/task-management-app works
Task Management App lets users authenticate, browse and filter a shared Kanban workspace, manage tasks and assignments, and optionally ask read-only questions about task data. The main workflow runs from the task page through the API client to FastAPI task routes, business services, and PostgreSQL; authentication, team-member lookup, and optional assistant queries are distinct branches. The README documents additional UI capabilities; unsampled implementation details are represented only where their enclosing paths are supported by the tree.
Main entry points: page.tsx Tasks workspace · database.py Database sessions · main.py FastAPI application · LoginForm.tsx Login form
Components 22
Web application
- Tasks workspace
frontend/src/app/tasks/page.tsx - Task board and forms
frontend/src/components/tasks/KanbanBoard.tsx - Assistant panel
frontend/src/components/chat/AssistantPanel.tsx - Login form
frontend/src/components/auth/LoginForm.tsx - Login route
frontend/src/app/login/page.tsx - API client
frontend/src/lib/api.ts - Browser session
frontend/src/lib/auth.ts
API and domain
- FastAPI application
backend/app/main.py - Task endpoints
backend/app/routers/tasks.py - User endpoints
backend/app/routers/users.py - Authentication endpoint
backend/app/routers/auth.py - Chat endpoint
backend/app/routers/chat.py - Task operations
backend/app/services/task_service.py - User operations
backend/app/services/user_service.py - Login verification
backend/app/services/auth_service.py - Password and JWT
backend/app/security.py
Persistence
- Database sessions
backend/app/database.py - User and task models
backend/app/models.py - PostgreSQL
Task assistant
- Intent and answers
backend/app/services/chatbot_service.py - Gemini API
Other components
- Workspace user
Connections 30
- Workspace user → Login route: opens login
- Workspace user → Tasks workspace: uses workspace
- Login route → Login form: renders
- Login form → API client: submits credentials
- API client → FastAPI application: sends API requests
- FastAPI application → Authentication endpoint: dispatches login
- Authentication endpoint → Login verification: verifies login
- Login verification → Database sessions: queries user
- Login verification → Password and JWT: checks password and signs
- Authentication endpoint → Login form: returns token
- Login form → Browser session: stores session
- Tasks workspace → Browser session: checks session
- Tasks workspace → API client: loads and changes tasks
- Tasks workspace → Task board and forms: renders task views
- Task board and forms → Tasks workspace: reports task actions
- FastAPI application → Task endpoints: dispatches tasks
- FastAPI application → User endpoints: dispatches users
- Task endpoints → Task operations: delegates operations
- User endpoints → User operations: delegates lookup
- Task operations → Database sessions: queries and changes
- User operations → Database sessions: queries users
- Database sessions → User and task models: maps entities
- Database sessions → PostgreSQL: opens sessions
- Tasks workspace → Assistant panel: renders assistant
- Assistant panel → API client: submits question
- FastAPI application → Chat endpoint: dispatches chat
- Chat endpoint → Intent and answers: delegates question
- Intent and answers → Gemini API: classifies intent
- Intent and answers → Database sessions: queries task data
- Chat endpoint → Assistant panel: returns answer