A premium, human-centric Task Management System featuring an integrated AI Planning Consultant. This project uses a hybrid cloud architecture for maximum speed and intelligence.
The system is split into two main components:
- Next.js Frontend: A high-performance web application coupled with a PostgreSQL database.
- Python AI Agent: A standalone intelligence service built with Google ADK (Agent Development Kit) to break down complex goals into actionable tasks.
- Frontend & Database: Deployed on Vercel with Vercel Postgres for ultra-fast performance.
- AI Agent: [NOT DEPLOYED] Due to recent cloud restrictions, the AI Agent must be run locally to enable the AI Consultant features in the dashboard.
- Node.js 18+
- Python 3.11+
- uv (Python package manager)
git clone https://github.com/chandima2000/Task-Management-System.git
cd Task-Management-Systemcd task-management-system
npm install
# Copy .env.example and fill in your details
cp .env.example .env
# Sync your database
npx prisma db push
# Start development server
npm run devcd ai-agent
# Install dependencies using uv
uv sync
# Copy .env.example and add your Google API Key
cp .env.example .env
# Start the agent
uvicorn main:app --port 8080- Connection: Linked directly to the GitHub repository.
- Environment Variables: Managed in the Vercel dashboard (
DATABASE_URL,JWT_SECRET). - Postgres: Provisioned via the Vercel Storage tab.
- Service: Google Cloud Run.
- Registry: Google Artifact Registry.
- Build: Optimized using
gcloud buildsand multi-stage Dockerfiles. - Variables:
GOOGLE_API_KEYis required for Gemini model access.
DATABASE_URL: Connection string for your PostgreSQL database.JWT_SECRET: A secure string for encrypting user sessions.NEXT_PUBLIC_AI_AGENT_URL: The URL of your deployed AI Agent (Defaults to localhost).
GOOGLE_API_KEY: Your Gemini API key from Google AI Studio.GOOGLE_GENAI_USE_VERTEXAI: Set toTrueif deploying on GCP.
Generates a project roadmap using Gemini.
- Payload:
{"title": "Goal Title", "description": "Optional context"} - Response:
{"subtasks": [{"title": "Step 1", "description": "Details..."}, ...]}
Returns the operational status of the agent.
POST /api/auth/register: Creates a new user account.POST /api/auth/login: Authenticates user and sets session cookie.POST /api/auth/logout: Clears the user session.
GET /api/api/tasks: Returns a list of tasks for the authenticated user.- Query Param:
status(TODO, IN_PROGRESS, DONE)
- Query Param:
POST /api/api/tasks: Creates a new task.- Payload:
{"title": "Title", "status": "TODO", ...}
- Payload:
PATCH /api/api/tasks/[id]: Updates an existing task.DELETE /api/api/tasks/[id]: Removes a task.
- Human-Centric UI: Crafted with a Rose/Zinc palette for a premium SaaS feel.
- AI Breakdown: Consult the AI panel to automatically turn one big goal into a checklist.
- Secure Auth: JWT-based session management.
- Real-time Sync: Persistent task storage with Prisma ORM.