Book Social Network is a full-stack application that enables users to manage their book collections and engage with a community of book enthusiasts. This application is built with a microservice architecture to ensure modularity, scalability, and maintainability.
- π User registration and secure email validation
- π Book management: creation, updating, sharing, and archiving
- π Book borrowing with availability checks
- β Book return functionality and approval of returns
- β User feedback and reviews
- π Secure authentication and authorization with JWT tokens
- π οΈ Adheres to REST API best practices
The application consists of the following microservices:
- π AUTH-SERVER: Manages user authentication and authorization.
- π BOOK-SERVER: Handles all book-related functionalities, including management and availability checks.
- π¬ FEEDBACK-SERVER: Manages user feedback and reviews for books.
- π TRANSACTIONHISTORY-SERVER: Keeps track of borrowing and return transactions.
- βοΈ CONFIG-SERVER: Centralized configuration management for all microservices.
- π GATEWAY-SERVER: Acts as an entry point to the system, routing requests to appropriate microservices.
- π DISCOVERY-SERVER: Enables service discovery, allowing microservices to locate each other.
- β Spring Boot 3
- π Spring Security 6
- π JWT Token Authentication
- ποΈ Spring Data JPA
- π‘οΈ JSR-303 and Spring Validation
- π OpenAPI and Swagger UI Documentation
- π³ Docker
- βοΈ GitHub Actions
- π’ Spring Cloud Netflix Eureka (Service Discovery)
- ποΈ Spring Cloud Config (Centralized Configuration)
- π Spring Cloud Gateway (API Gateway)
- π Spring Cloud Zipkin (Tracing and Monitoring)
- ποΈ Spring Cloud OpenFeign (Declarative REST Client)
- πΎ MySQL (Database)
- π Angular
- π¨ Bootstrap for styling
- β³ Lazy Loading
- π Authentication Guard
- π OpenAPI Generator for Angular