A simple and efficient RESTful API for managing to-do lists, built using Spring Boot and MySQL. This project follows the standard to-do list API specifications outlined at roadmap.sh.
- 🔑 User authentication using JWT
- ✅ CRUD operations for tasks
- 📌 Task categorization and prioritization
- 🔒 Secure API endpoints
- 🐳 Dockerized deployment
- ☕ Java 17+
- 🖥️ Spring Boot
- 🔒 Spring Security
- 🗄️ Spring Data JPA
- 🔧 Maven
- 🛢️ MySQL
- 🐳 Docker & Docker Compose
To run the application using Docker, follow these steps:
- Build the package using Maven:
mvn clean package
- Start the application using Docker Compose:
docker compose up -d
- To stop and remove the containers:
docker compose down
- Clone the repository:
git clone https://github.com/yourusername/todo-list-api.git cd todo-list-api
- Configure the database in
application.properties
:spring.datasource.url=jdbc:mysql://localhost:3306/todolist_db spring.datasource.username=root spring.datasource.password=yourpassword
- Build and run the application:
mvn clean package java -jar target/todolist-api-0.0.1-SNAPSHOT.jar
🛠 Method | 🔗 Endpoint | 📋 Description |
---|---|---|
POST | /todos/auth/register |
Register a new user |
POST | /todos/auth/login |
Authenticate user |
GET | /todos |
Get all tasks |
POST | /todos |
Create a new task |
PUT | /todos/{id} |
Update a task |
DELETE | /todos/{id} |
Delete a task |