An open API service indexing awesome lists of open source software.

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.

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