Adityapal67/TaskTracker
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Β | Β | |||
Β | Β | |||
Β | Β | |||
Β | Β | |||
Β | Β | |||
Β | Β | |||
Β | Β | |||
Β | Β | |||
Repository files navigation
π Task Tracker API
A clean and scalable Task Management REST API built with Spring Boot, JPA, and MySQL β designed to demonstrate solid backend fundamentals and real-world API design.
β¨ Why This Project?
Managing tasks is simpleβuntil it isnβt.
This project focuses on building a robust backend system that handles task lifecycle efficiently, using clean architecture and REST principles. Itβs not just CRUDβitβs about structuring things the right way.
β‘ Key Features
π Create and manage tasks effortlessly
π Filter tasks by status (e.g., Pending, Completed)
π Update task status dynamically
ποΈ Delete tasks
π§± Clean layered architecture (Controller β Service β Repository)
β‘ Fast and lightweight REST API
π οΈ Tech Stack
Layer Technology
Language Java 17+
Framework Spring Boot
ORM Spring Data JPA (Hibernate)
Database MySQL
Build Tool Maven
Persistence Jakarta Persistence API
π§ Architecture Overview
This project follows a layered architecture:
Controller β Service β Repository β Database
Controller β Handles HTTP requests
Service β Business logic
Repository β Data access via JPA
Database β MySQL storage
π Project Structure
src/
βββ main/
βββ java/
β βββ com/tasktracker/
β βββ controller/
β βββ service/
β βββ repository/
β βββ model/
βββ resources/
βββ application.properties
π Getting Started
β
Prerequisites
Java 17+
Maven
MySQL
π§ Setup Instructions
# Clone the repository
git clone https://github.com/Adityapal67/TaskTracker.git
# Navigate into project
cd task-tracker
ποΈ Database Configuration
Update your application.properties:
spring.datasource.url=jdbc:mysql://localhost:3306/task_db
spring.datasource.username=your_username
spring.datasource.password=your_password
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
βΆοΈ Run the Application
mvn spring-boot:run
Server will start at:
http://localhost:8080
π API Endpoints
π Create Task
POST /api/tasks
π Get All Tasks
GET /api/tasks
π Get Tasks by Status
GET /api/tasks/status/{status}
π Update Task Status
PUT /api/tasks/{id}
β Delete Task
DELETE /api/tasks/{id}
π§ͺ Testing
You can test the API using:
Postman
cURL
Thunder Client (VS Code)
π Future Improvements
π Add authentication (JWT-based security)
π
Add due dates & reminders
π Add pagination & sorting
π‘ Integrate frontend (React/Angular)
π Add Swagger API documentation
π§βπ» Author
Aditya Pal