A simple To-Do management application built with Spring Boot that allows users to create, edit, and delete daily tasks through a user-friendly web interface.
- Backend: Java 21, Spring Boot 3.5.4
- Frontend: JSP with Bootstrap
- Security: Spring Security for user and session management
- Database: MySQL (can run via Docker)
- Dependency Management: Maven Features
- ✅ Create new tasks with a minimum of 10 characters
- ✅ Edit and delete existing tasks
- ✅ View task list with filtering options
- ✅ Secure access using Spring Security
- ✅ Dockerized MySQL database for easy setup
- Clone the repository:
git clone https://github.com/username/todo-web-app.git cd todo-web-app - Start MySQL database via Docker
Run the following command to create and start a MySQL container (you can edit the username/password as you wish):docker run --detach \ --env MYSQL_ROOT_PASSWORD=... \ --env MYSQL_USER=... \ --env MYSQL_PASSWORD=... \ --env MYSQL_DATABASE=todos \ --name mysql \ --publish 3306:3306 \ mysql:8-oracle
- Configure database connection
Check
src/main/resources/application.propertiesand ensure the following settings:spring.datasource.url=jdbc:mysql://localhost:3306/todos spring.datasource.username=... spring.datasource.password=... spring.jpa.hibernate.ddl-auto=update spring.jpa.hibernate.ddl-auto=update
- Run the application
The application will be available at http://localhost:8080.
- Log in
Usernames and passwords are hardcoded and can be found insrc/main/java/com/parisppdo/todoapp/security/SpringSecurityConfiguration.java
Use thecreateNewUser()method in this class, to add more users - Use the navigation bar to go to the "Todos" page and add, delete or update the todos.