How abdurrahim2705/ai-task-assistant works
This is an AI task-management dashboard: users view and manage tasks directly, or send a chat request for the assistant to create, list, update, or delete tasks. The frontend loads task data and submits chat and task actions to the FastAPI API; the API routes task operations through CRUD to PostgreSQL and chat requests to a LangGraph agent, whose tools reuse CRUD. The agent also calls Gemini and keeps conversation checkpoints in memory. Feature scope is based on sampled code; no README capabilities were provided.
Main entry points: main.py REST API · agent.py Chat agent · crud.py Task CRUD · database.py Database sessions
Components 12
Task dashboard
- Dashboard UI
frontend/src/App.jsx
API and orchestration
- REST API
backend/main.py - Request schemas
backend/schemas.py
Assistant workflow
- Chat agent
backend/agent.py - Task tools
backend/agent.py - Gemini model
- Thread memory
backend/agent.py
Task persistence
- Task CRUD
backend/crud.py - Task model
backend/models.py - Database sessions
backend/database.py - PostgreSQL
Other components
- User
Connections 17
- User → Dashboard UI: uses
frontend/src/App.jsx - Dashboard UI → REST API: requests tasks
frontend/src/App.jsx - Dashboard UI → REST API: sends chat
frontend/src/App.jsx - REST API → Task CRUD: routes task calls
backend/main.py - REST API → Chat agent: invokes agent
backend/main.py - REST API → Request schemas: validates requests
backend/main.py - Chat agent → Gemini model: calls model
backend/agent.py - Chat agent → Task tools: dispatches tools
backend/agent.py - Chat agent → Thread memory: checkpoints threads
backend/agent.py - Task tools → Task CRUD: calls task operations
backend/agent.py - Task tools → Request schemas: builds task data
backend/agent.py - Task CRUD → Task model: queries and writes
backend/crud.py - Task CRUD → Request schemas: uses task types
backend/crud.py - REST API → Database sessions: opens task sessions
backend/main.py - Task tools → Database sessions: opens tool sessions
backend/agent.py - Task model → Database sessions: uses base
backend/models.py - Database sessions → PostgreSQL: connects to
backend/database.py