Java/Spring Boot learning project for a notes web application.
This repository is part of my backend learning path. It is not a commercial project. I keep it public because it shows my practice with Spring Boot, CRUD workflows, persistence, migrations, server-rendered UI, and basic authentication.
- User registration and login
- Notes list page
- Create, edit, and delete notes
- Server-rendered pages with Thymeleaf
- PostgreSQL persistence with Spring Data JPA
- Database migrations with Flyway
- Basic Spring Security configuration
- Java 17
- Spring Boot 3
- Spring MVC
- Spring Security
- Spring Data JPA
- Thymeleaf
- PostgreSQL
- Flyway
- Gradle
GET /registration- registration formGET /login- login formGET /note/list- notes listGET /note/add- add note formPOST /note/add- create noteGET /note/edit?id={id}- edit note formPOST /note/edit- save notePOST /note/delete- delete note
Create a local PostgreSQL database, then copy src/main/resources/application.example.properties to src/main/resources/application.properties and adjust credentials.
Example:
spring.datasource.url=jdbc:postgresql://localhost:5432/todolist
spring.datasource.username=postgres
spring.datasource.password=postgres
spring.jpa.hibernate.ddl-auto=validate
spring.jpa.show-sql=true
spring.flyway.enabled=trueRun:
./gradlew bootRunLearning project. The next useful improvements would be a cleaner README with screenshots, test coverage, validation, and a Docker Compose setup for PostgreSQL.