/ToDoApp

Spring Boot and Thymeleaf CRUD application

Primary LanguageHTML

ToDoApp




What is ToDoApp?

ToDoApp is an Spring Boot application that allows users to manage tasks to do. The user can add any number of tasks, modify tasks and send unfinished tasks to his email.


Database

ToDoApp uses the mysql database. The database contains 4 tables: role, user, task and user_roles. The schema name is todoapp_database. CRUD operations are provided by JpaRepository. The user's password is hashed using BCrypt.


Spring Security

ToDoApp uses Spring Security to manage application security. The SecurityConfig class defines the user authentication method, login and registration process, role management, and BCrypt encoding settings. The CustomAuthenticationSuccessHandler class authenticates the login process.


Validation

ToDoApp supports validation when a new user is registered. The validator checks if all required fields are filled in, the correctness of the email address, etc. Classes and interfaces responsible for validation are in the validation package.


Sending Emails

ToDoApp uses spring-boot-starter-mail to enable sending emails with unfinished tasks to the logged in user.


Server

By default, the application uses the embedded Tomcat server, which is provided by the spring-boot-starter-web dependency, so you don't need an external server.


Template engine, styles and pictures

ToDoApp uses Thymeleaf to manage templates. All images were downloaded from flaticon. Bootstrap was used to style the application. Below are several screenshots presenting the appearance of the application: