Java 21Spring BootSpring CloudThymeleaf

BookStore Microservices Project

By Gabriel Cepeda
Picture of the author
Published on
Duration
4 Weeks
Role
Full-Stack Developer
Home Book Store Web Application with Microservice Architecture
Home Book Store Web Application with Microservice Architecture
Microservice Architecture for Home Book Store Web Application
Microservice Architecture for Home Book Store Web Application
Login Book Store Web Application with Microservice Architecture
Login Book Store Web Application with Microservice Architecture
+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:

  1. Catalog Service:

    • Manages a comprehensive catalog of available books.
    • Enables book searches by title, author, and genre.
  2. 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.
  3. User Management Service:

    • Handles user registration, authentication, and role-based access control.
    • Implements Spring Security with JSON Web Tokens (JWT) for secure user authentication.
  4. Review Service:

    • Enables users to submit reviews and ratings for purchased books.
    • Stores user reviews in a SQL database for easy access and management.
  5. Notification and Reporting Service:

    • Sends email notifications for user validation upon registration.
    • Provides purchase invoices via email post-transaction.
  6. 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.
  7. Payment Integration:

    • Simulates credit card payments using PayPal, providing a smooth checkout experience.
    • Displays transaction summaries and sends transactional emails with invoice details.
  8. 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.
  9. 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.