Skip to content

NPMajola/task-manager-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Task Manager API

A REST API for creating and managing tasks, built with Spring Boot and Spring Data JPA.

Features

  • Create, read, update, and delete tasks
  • Filter tasks by status (TODO, IN_PROGRESS, DONE)
  • Pagination support for listing tasks
  • Sorting by due date (or any field)
  • Input validation on task creation/updates

Tech Stack

  • Java 17
  • Spring Boot 3
  • Spring Data JPA
  • H2 Database (in-memory, for development)
  • Maven
  • Lombok

API Endpoints

Method Endpoint Description
POST /api/tasks Create a new task
GET /api/tasks List all tasks (supports pagination, sorting, and status filtering)
GET /api/tasks/{id} Get a single task by id
PUT /api/tasks/{id} Update an existing task
DELETE /api/tasks/{id} Delete a task

Query parameters on GET /api/tasks

  • status — filter by TODO, IN_PROGRESS, or DONE
  • page — page number, starting at 0
  • size — number of results per page
  • sort — field and direction, e.g. dueDate,asc

Example:## Example Request

POST /api/tasks

{
  "title": "Finish Task Manager API",
  "description": "Build my first Spring Boot project",
  "status": "TODO",
  "dueDate": "2026-07-25"
}

How to Run Locally

  1. Clone the repository
  2. Run mvn spring-boot:run (or run TaskManagerApiApplication.java from your IDE)
  3. The API will start on http://localhost:8081

Author

Built by Ntokie as part of a self-directed Java/Spring Boot portfolio.

About

Spring Boot REST API for managing tasks

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages