The "Notes Online" Spring Boot application is designed to help users manage and organize their notes effectively. It provides a user-friendly platform for creating, editing, and deleting notes with priority settings.
-
User Registration and Authentication:
- Users can register accounts with a valid email address and password.
- Authentication ensures secure access to user data.
-
Note Management:
- Create new notes with a title, text content, date and priority level (Low, Medium, High).
- Edit and delete notes as needed.
-
User-Friendly Interface:
- Utilizes Bootstrap for a clean and responsive UI.
- Form validations and user feedback enhance the user experience.
-
Security Measures:
- Implements Spring Security for user authentication and authorization.
- Passwords are securely hashed using BCrypt.
- Java 21: The programming language used for developing the application.
- Spring Boot: Simplifies Java application development for production-ready applications.
- Hibernate: An object-relational mapping framework for Java applications.
- Spring Security: Provides comprehensive security services for Java EE-based enterprise software applications.
- Spring Data JPA: Simplifies the implementation of data access layers in Spring applications.
- PostgreSQL: An open-source relational database management system.
- Flyway: Database migration tool for version control of database schemas.
- Docker: A platform for developing, shipping, and running applications in containers.
- Thymeleaf: Server-side Java template engine for web environments.
- Bootstrap: Popular front-end framework for responsive web design.
-
Registration:
- Visit the registration page (
/register) to create a new account.
- Visit the registration page (
-
Login:
- Access the login page (
/login) to log in with your registered credentials.
- Access the login page (
-
Note Management:
- Navigate to the main page (
/profile) to create, edit, and delete notes.
- Navigate to the main page (
-
Logout:
- Use the "Logout" button to securely log out from your account.
For a complete understanding of the application, refer to the provided source code. Ensure that the necessary dependencies are configured for a smooth execution.