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.
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.
- 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
- Frontend: http://localhost:5173
- API Gateway: http://localhost:5000
- User Registration & Login
- Book CRUD Operations
- Commenting on Books
- Real-Time Book Chat
- Admin Controls (for books/comments)
- Service Health Monitoring
- JWT authentication
- Rate limiting to prevent abuse
- CORS configuration for frontend-backend integration
- Health checks for all services
- Prateek Pathak [BACKEND]
- Mahavir Sancheti [FRONTEND]