Skip to content

prateek2pathak/BookNest-Micro

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

4 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

BookNest

BookNest is a full-stack, microservices-based web application for book management and community engagement. It allows users to register, browse and manage books, post comments, and participate in real-time chat discussions about books. The platform is designed for scalability, modularity, and modern developer best practices.


๐Ÿ—๏ธ Architecture Overview

BookNest is split into the following microservices:

  • API Gateway (Port 5000): Routes requests to backend services, handles cross-cutting concerns.
  • Auth Service (Port 5001): Manages user accounts, authentication, and JWT tokens.
  • Book Service (Port 5002): Handles CRUD operations for books and image uploads.
  • Comment Service (Port 5003): Manages comments and reviews for books.
  • Chat Service (Port 5004): Real-time chat for book discussions, using capped MongoDB collections.
  • Frontend: Using ReactJS

All services communicate over a custom Docker network for security and service discovery.


๐Ÿ–ฅ๏ธ Tech Stack

  • Frontend: React, Vite, Tailwind CSS, Socket.IO Client
  • Backend: Node.js, Express, Socket.IO, Mongoose (MongoDB)
  • API Gateway: Express, http-proxy-middleware, Rate Limiting
  • Database: MongoDB (Atlas or local)
  • Deployment: Docker, Docker Compose


๐Ÿ“š Main Functionalities

  • User Registration & Login
  • Book CRUD Operations
  • Commenting on Books
  • Real-Time Book Chat
  • Admin Controls (for books/comments)
  • Service Health Monitoring

๐Ÿ›ก๏ธ Security & Best Practices

  • JWT authentication
  • Rate limiting to prevent abuse
  • CORS configuration for frontend-backend integration
  • Health checks for all services

๐Ÿ‘ค Author

About

Microservices based Book Management Web App

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages