This is a full-stack demo application for managing notes. The project demonstrates the integration of modern technologies for building scalable, secure, and maintainable applications. It is designed primarily for educational and demonstration purposes.
- User Authentication: Secure login and authentication using Keycloak.
- CRUD Operations: Create, Read, Update, and Delete notes.
- Dynamic Note Loading: Fetch notes and their details dynamically.
- Reactive State Management: State management in Angular using
@ngrx/signals
. - Modern UI: Responsive front-end built with PrimeNG 19.
- API Integration: Auto-generated REST APIs using OpenAPI.
- Backend Services: Developed with Spring Boot 3 for robust and scalable server-side functionality.
- Angular 19: Framework for building the user interface.
- @ngrx/signals: Reactive state management for improved performance and scalability.
- PrimeNG: Rich UI components for Angular.
- Keycloak: Authentication and authorization.
- OpenAPI: API client integration.
- Java 23
- Spring Boot 3: Java-based framework for building RESTful backend services.
- OpenAPI: Auto-generates API specifications and clients.
- Keycloak Resource server: Integration with Keycloak for securing backend endpoints.
- Java 23 or higher (for Spring Boot backend).
- Node.js 22 or higher (for Angular frontend).
- Docker running (for Mongo and Keycloak containers).
- Maven (for building the backend).
- Angular CLI (for building and serving the frontend).
- Open the frontend in your browser at
http://localhost:4200
. - Login using your Keycloak credentials.
- Create, view, update, or delete notes.
- Explore the API documentation at
http://localhost:8080/swagger-ui.html
.
- Implement pagination and filtering for notes.
- Enhance UI/UX with additional animations and themes.
Contributions are welcome! Feel free to fork the repository and submit a pull request.
This project is licensed under the MIT License. See the LICENSE
file for details.