Bookify is a web application for book enthusiasts to manage collections, share books, and connect with others. It features secure user registration, book management, and a borrowing system with approval workflows, built using Spring Boot, Angular, and JWT for authentication.
- User Accounts: Supports new user sign-up with email verification and secure login for existing users.
- Book Collection Management: Allows users to manage their library by adding, updating, sharing, or archiving books.
- Borrow and Return System: Enables book borrowing, tracks availability, and includes return approval mechanisms.
- Secure Access: Ensures user authentication and data safety using JWT-based token systems.
- Spring Boot (version 3)
- Spring Security (version 6)
- JWT-based Authentication
- Hibernate with Spring Data JPA
- Validation using JSR-303
- API Documentation via Swagger/OpenAPI
- Dockerized Services
- CI/CD with GitHub Actions
- Keycloak Integration for User Management
- Angular Framework
- Modular and Lazy Loading Architecture
- Route Guards for Authentication
- API Integration with OpenAPI Generator
- User Interface Styled with Bootstrap
To set up and run the application locally, refer to the setup guides provided in the respective project directories: