A full-stack Task Management Web Application built with Spring Boot (REST API) and React.js (UI), featuring user authentication, task CRUD, priority levels, and status tracking.
- Java 17 + Spring Boot 3.x
- Spring Data JPA + Hibernate
- H2 In-Memory Database (dev) / MySQL (prod)
- Spring Security + JWT Authentication
- Maven
- React.js 18
- Axios (HTTP client)
- React Router v6
- Context API (state management)
- CSS3 (custom styling)
taskflow/
├── backend/ # Spring Boot REST API
│ ├── src/main/java/com/taskflow/
│ │ ├── controller/ # REST Controllers
│ │ ├── model/ # JPA Entities
│ │ ├── repository/ # Spring Data Repositories
│ │ ├── service/ # Business Logic
│ │ └── config/ # Security & CORS Config
│ └── pom.xml
├── frontend/ # React.js SPA
│ ├── src/
│ │ ├── components/ # Reusable UI Components
│ │ ├── pages/ # Page Views
│ │ ├── services/ # API Service Layer
│ │ └── context/ # Auth Context
│ └── package.json
└── README.md
cd backend
mvn spring-boot:run
# API runs at http://localhost:8080
# H2 Console: http://localhost:8080/h2-consolecd frontend
npm install
npm start
# App runs at http://localhost:3000| Method | Endpoint | Description |
|---|---|---|
| POST | /api/auth/register |
Register user |
| POST | /api/auth/login |
Login & get JWT |
| GET | /api/tasks |
Get all tasks |
| POST | /api/tasks |
Create task |
| PUT | /api/tasks/{id} |
Update task |
| DELETE | /api/tasks/{id} |
Delete task |
| PATCH | /api/tasks/{id}/status |
Update task status |
- ✅ JWT-based User Authentication (Register / Login)
- ✅ Create, Read, Update, Delete Tasks
- ✅ Set Priority: LOW / MEDIUM / HIGH
- ✅ Track Status: TODO / IN_PROGRESS / DONE
- ✅ Filter tasks by status and priority
- ✅ Responsive UI with dashboard
- ✅ Protected routes (auth-guarded)
- ✅ RESTful API with proper HTTP status codes
Lokesh — B.Tech IT Graduate
GitHub Profile