https://github.com/vbudithi/task-management-app
A full‑stack Task Management app using Next.js, .NET API, SQL Server, and a Python NER microservice for AI‑powered suggestions, featuring authentication, task CRUD, and a responsive, scalable architecture.
https://github.com/vbudithi/task-management-app
dotnet dotnet-core-web-api named-entity-recognition nextjs16 python shadcn-ui sqlserver tailwindcss
Last synced: 29 days ago
JSON representation
A full‑stack Task Management app using Next.js, .NET API, SQL Server, and a Python NER microservice for AI‑powered suggestions, featuring authentication, task CRUD, and a responsive, scalable architecture.
- Host: GitHub
- URL: https://github.com/vbudithi/task-management-app
- Owner: vbudithi
- Created: 2025-11-10T18:07:12.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2026-01-24T07:10:14.000Z (4 months ago)
- Last Synced: 2026-01-24T17:27:47.403Z (4 months ago)
- Topics: dotnet, dotnet-core-web-api, named-entity-recognition, nextjs16, python, shadcn-ui, sqlserver, tailwindcss
- Language: TypeScript
- Homepage: http://tasktracker.runasp.net/swagger/index.html
- Size: 1.73 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 🗂️ TaskFlow- Task Management Application
🧑💻 **Full‑Stack Development** — Next.js ⚛️ | .NET Web API 🛠️ | SQL Server 🗄️ | Python NER 🤖
A production‑grade Task Management system featuring real‑time task transitions, instant updates across Todo, In‑Progress, and Completed states, secure authentication, and a clean full‑stack architecture. Now enhanced with intelligent task insights powered by:
- Python‑based Named Entity Recognition (NER) for automatic due‑date detection and priority suggestions based on keywords in the title (e.g., “urgent”, “tomorrow”).
- ML.NET machine learning model that predicts task priority directly from the task’s title and description, automatically assigning a priority when none is selected.
Together, these AI features deliver a smarter, more intuitive task creation and editing experience.
# 🖥️ Frontend — Next.js
• Next.js 14 (App Router)
• TypeScript
• Tailwind CSS
• shadcn/ui
• Client-side routing
# 🔐 Backend — .NET Web API
• .NET 8 Web API
• Entity Framework Core
• JWT Authentication
• HttpOnly Cookies
• SQL Server
• DTO validation
• Role-based authorization
# AI Integration (Two Approaches)
My application uses two different AI systems, each serving a unique purpose.
Both approaches enhance the task creation and editing experience in different ways.
---
## 🤖 Python NER Service (Natural Language Processing)
- Full‑stack implementation using .NET (API) and Next.js (UI)
- Python‑based Named Entity Recognition (NER).
- Extracts **dates**, **keywords**, and **priority‑related hints** from the task description.
- Shows toast notifications with suggestions and **auto‑fills** the recommended values into the form.
- User can still modify the suggestions before saving.
- Integrated into both **Create Task** and **Edit Task** flows.
- Communicates with the .NET backend to provide AI‑generated metadata.
### How it works
- Runs locally using a Python script.
- Analyzes the task title to detect meaningful entities.
- Helps with automation, tagging, and metadata extraction.
### Example
User enters:
> “urgent users report by next Monday”
Python NER extracts:
- **Date:** next Monday
- **Priority:** High (because of the keyword “urgent”)
The system then:
- Automatically fills the **due date** as next Monday
- Automatically sets **priority = High**
- Still allows the user to change these values before saving
---
## ⚡ ML.NET Priority Prediction (Machine Learning)
- Fully implemented inside **.NET** using ML.NET.
- Uses the own **labeled task data** from the database.
- `TaskTrainer` trains the model and saves it.
- Predicts task priority (**1 = Low, 2 = Medium, 3 = High**) based on **title + description**.
- Automatically assigns a priority when the user leaves it blank during task creation.
- Integrated with Swagger for testing and debugging.
### How it works
- The model is trained using real tasks from the database.
- `PredictPriorityAsync` loads the model and predicts priority in real time.
- Used during task creation when no priority is selected.
### Example
Title:
> “Fix production bug”
Description:
> “API returning 500 errors”
ML.NET prediction:
→ **High Priority**
# Frontend - testing
• vitest
• MSW(Mock Service Worker)
• @testing-library/jest-dom
## 📸 Screenshots
### Dashboard

### Login

### Register

### Forgot Password

### View Task

### Create Task

### Edit Task

### Delete Task

### Mobile Responsive Dashboard

### Swagger API

### Database Schema

---
## 🤖 Local python NER Integration
### AI Suggested Priority (Create Task)

### AI Suggested Priority (Edit Task)

### Swagger – AI Output

### Python Named Entity Recognition (NER) Integration (Local)

## ML.NET Priority Prediction
### ML Trained Data (Swagger)

### AI Suggested Priority (Swagger)
#### ML Dotnet Suggested Priority based on user's title and description (Create Task)
## 📦 Setup
### 🚀 Frontend(Nextjs)
```bash
git clone https://github.com/vbudithi/task-management-app.git
cd task-management-app/frontend
npm install
npm run dev
```
### 🧩Backend(.NET API)
```bash
git clone https://github.com/vbudithi/task-management-app.git
cd backend/TaskManagement.API
dotnet restore
dotnet run
```
### 🤖Python NER Server
```bash
cd ai-ner-server
python ner_server.py