drissiOmar98 / Microservice-Book-Social-Network

a Microservices-based Social Networking Platform designed for exchanging books among members. It leverages Spring Boot for the backend and Angular for the frontend.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Book Social Network πŸ“š

πŸ“‹ Table of Contents

πŸ“„ Overview

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.

✨ Features

  • πŸ“ 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

πŸ—οΈ Microservice Architecture

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.

πŸ› οΈ Technology Stack

Backend

  • β˜• 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)

Frontend

  • 🌐 Angular
  • 🎨 Bootstrap for styling
  • ⏳ Lazy Loading
  • πŸ”’ Authentication Guard
  • πŸ“– OpenAPI Generator for Angular

About

a Microservices-based Social Networking Platform designed for exchanging books among members. It leverages Spring Boot for the backend and Angular for the frontend.


Languages

Language:CSS 84.5%Language:Java 6.8%Language:TypeScript 6.0%Language:HTML 2.2%Language:SCSS 0.5%