BookStore Microservices Project
- Published on
- Duration
- 4 Weeks
- Role
- Full-Stack Developer
+5
Description
The project aims to design and implement a platform for customers to search, purchase, and review books. The platform is built using a microservices architecture, leveraging Spring Cloud to ensure scalability and maintainability. The application provides a seamless user experience, allowing customers to easily navigate through available books, manage their shopping cart, and complete transactions securely.
Microservices Architecture:
Designed with a microservices architecture to enhance scalability and resilience. Distributes requests across multiple instances to ensure high availability. Service Discovery and Centralized Configuration:
Integrates service discovery mechanisms for efficient management of microservices. Implements centralized configuration for easy service management. Transaction Monitoring:
Utilizes Zipkin for monitoring web transactions, providing insights into performance and bottlenecks. Docker Integration:
The entire application is containerized using Docker and orchestrated with Docker Compose for easy deployment and scalability.
Key features:
Catalog Service:
- Manages a comprehensive catalog of available books.
- Enables book searches by title, author, and genre.
Shopping Cart Service:
- Allows users to add and remove books from their shopping carts.
- Manages order details prior to payment, stored in a SQL database.
User Management Service:
- Handles user registration, authentication, and role-based access control.
- Implements Spring Security with JSON Web Tokens (JWT) for secure user authentication.
Review Service:
- Enables users to submit reviews and ratings for purchased books.
- Stores user reviews in a SQL database for easy access and management.
Notification and Reporting Service:
- Sends email notifications for user validation upon registration.
- Provides purchase invoices via email post-transaction.
API Gateway:
- Acts as a single entry point for the application, routing client requests to the appropriate microservices.
- Utilizes Spring Cloud Gateway for dynamic routing, filtering, and error handling.
Payment Integration:
- Simulates credit card payments using PayPal, providing a smooth checkout experience.
- Displays transaction summaries and sends transactional emails with invoice details.
Dashboard and Analytics:
- Features a dashboard with graphs displaying purchase trends and pending requests for the current day.
- Allows users to view their purchase history and administrators to monitor all customer transactions.
Security Measures:
- Implements security frameworks to safeguard against unauthorized access.
- Ensures secure handling of sensitive user data and transaction information.
Technologies / Tools
- Java
- Spring Boot
- MySQL
- Hibernate
- Html/CSS/JavaCcript
- Thymeleaf
- MongoDB
- Spring Cloud
- Spring Security
- JWT
- Microservices
- JPA
Demo
This is a video summary about the functionality of the web application.