Skip to content

Adityapal67/TaskTracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages