A fully AI-driven task management application where users give instructions in natural language, and AI automatically detects the most eligible person for tasks and assigns relevant tags.
- Natural language task creation
- AI-powered task analysis using OpenAI GPT-4
- Automatic assignment to team members based on skills and availability
- Auto-tagging of tasks
- Priority detection
- Real-time chat interface
- Task dashboard
- Node.js + Express
- MongoDB (Mongoose)
- OpenAI API (GPT-4)
- Next.js 14
- React
Task manager/
├── backend/
│ ├── config/
│ │ └── database.js
│ ├── models/
│ │ ├── Task.js
│ │ └── TeamMember.js
│ ├── routes/
│ │ ├── tasks.js
│ │ ├── team.js
│ │ └── chat.js
│ ├── services/
│ │ └── aiService.js
│ ├── server.js
│ ├── package.json
│ └── .env.example
│
└── frontend/
├── app/
│ ├── page.js
│ ├── layout.js
│ └── globals.css
├── components/
│ ├── ChatInterface.js
│ └── TaskList.js
├── package.json
└── .env.local.example
- Node.js (v18 or higher)
- MongoDB (local or Atlas)
- OpenAI API key
- Navigate to the backend folder:
cd backend- Install dependencies:
npm install- Create a
.envfile from the example:
cp .env.example .env- Edit
.envand add your credentials:
MONGODB_URI=mongodb://localhost:27017/task-manager
OPENAI_API_KEY=your_openai_api_key_here
PORT=5000- Start the backend server:
npm run devThe backend will run on http://localhost:5000
- Navigate to the frontend folder:
cd frontend- Install dependencies:
npm install- Create a
.env.localfile from the example:
cp .env.local.example .env.local- Edit
.env.local:
NEXT_PUBLIC_API_URL=http://localhost:5000/api- Start the frontend:
npm run devThe frontend will run on http://localhost:3000
Before creating tasks, you need to add team members. Use an API client like Postman or curl:
curl -X POST http://localhost:5000/api/team \
-H "Content-Type: application/json" \
-d '{
"name": "John Doe",
"skills": ["frontend", "react", "javascript"],
"availability": "available"
}'Add multiple team members:
curl -X POST http://localhost:5000/api/team \
-H "Content-Type: application/json" \
-d '{
"name": "Jane Smith",
"skills": ["backend", "nodejs", "database"],
"availability": "available"
}'
curl -X POST http://localhost:5000/api/team \
-H "Content-Type: application/json" \
-d '{
"name": "Mike Johnson",
"skills": ["devops", "docker", "kubernetes"],
"availability": "available"
}'- Open the frontend at
http://localhost:3000 - Use the chat interface to create tasks in natural language
- "Create a new task to fix the login bug with high priority"
- "Add a task to implement user authentication, assign it to someone with backend skills"
- "Create a task for updating the homepage design, priority medium"
- "Add a high priority task to deploy the application to production"
The AI will automatically:
- Extract the task title and description
- Detect the priority level
- Assign the most suitable team member based on skills
- Add relevant tags
POST /api/tasks/create- Create a new task with AI analysisGET /api/tasks- Get all tasksPUT /api/tasks/:id- Update a taskDELETE /api/tasks/:id- Delete a task
POST /api/team- Add a team memberGET /api/team- Get all team membersPUT /api/team/:id- Update a team memberDELETE /api/team/:id- Delete a team member
POST /api/chat- General chat with AI assistant
{
title: String,
description: String,
priority: 'low' | 'medium' | 'high',
assignedTo: String,
tags: [String],
status: 'pending' | 'in-progress' | 'completed',
createdAt: Date,
dueDate: Date
}{
name: String,
skills: [String],
currentWorkload: Number,
availability: 'available' | 'busy' | 'unavailable'
}MONGODB_URI- MongoDB connection stringOPENAI_API_KEY- OpenAI API keyPORT- Server port (default: 5000)
NEXT_PUBLIC_API_URL- Backend API URL
- User authentication
- Task status updates via chat
- Task reassignment
- Due date reminders
- Task analytics and reporting
- Team member performance tracking
- Integration with calendar services
- Email notifications
MIT