The Todo-list application is a web-based task management tool developed as my final project in the Haaga-Helia back-end course. It allows users to create, manage, and organize their to-do lists. The application supports multiple languages and includes user authentication and authorization features.
- User registration and login
- Create, update, and delete to-do lists
- Add, update, and delete tasks within to-do lists
- Mark tasks as completed or pending
- Multi-language support (English, Finnish, Spanish)
- User roles (Admin, Guest)
- Responsive design
- Java 17
- Spring Boot 3.2.5
- Spring Security
- Spring Data JPA
- Thymeleaf
- H2 Database (for local development)
- Maven
- Java 17 or higher
- Maven 3.6.0 or higher
-
Clone the repository:
git clone https://github.com/Maajoo/todo-list.git cd todo-list/todo
-
Build the project using Maven:
./mvnw clean install
-
Run the application:
./mvnw spring-boot:run
-
Access the application at http://localhost:8080.
The application uses an H2 in-memory database for local development. You can access the H2 console at http://localhost:8080/h2-console.
The application comes with two default users:
- Admin
- Username:
admin
- Password:
admin
- Username:
- Guest
- Username:
guest
- Password:
guest
- Username:
Here are some screenshots of the application:
/api/todos
- Get all to-do lists/api/todo/{id}
- Get a to-do list by ID/api/todoitems
- Get all to-do items/api/todoitem/{id}
- Get a to-do item by ID