eBook Website Using Microservices Architecture
Node.js
Django
Next.js
⭐ Featured Project
Overview
The eBook website is a scalable and efficient platform designed using microservices architecture. It offers various services such as book management, user authentication, commenting, and personalized recommendations. The system is built with multiple technologies to ensure high performance and reliability.
Home Page
Google Login
Features
Book Service (Node.js)
- Handles CRUD operations for eBooks.
- Manages book metadata, including title, author, genre, and content.
- Communicates with the recommendation service to provide personalized suggestions.
Comment Service (Node.js)
- Allows users to post, edit, and delete comments on eBooks.
- Moderation tools for managing inappropriate content.
- Real-time updates using WebSockets for comment feeds.
User Service (Node.js)
- Manages user registration, authentication, and authorization.
- Provides secure user data storage with password hashing and JWT tokens.
- Enables role-based access control for different features.
Recommendation Service (Django)
- Analyzes user interactions and reading patterns to provide personalized book recommendations.
- Uses machine learning algorithms to predict user preferences.
- Integrates with the book service to fetch and display recommendations.
Frontend (Next.js)
- Responsive and dynamic user interface.
- Implements server-side rendering for faster load times.
- Seamlessly interacts with backend APIs for a smooth user experience.
Nginx Server
- Acts as a reverse proxy to manage traffic between the frontend and backend services.
- Ensures load balancing and improves security by filtering requests.
RabbitMQ (Event Bus)
- Facilitates communication between different microservices.
- Manages asynchronous messaging to ensure smooth data flow and processing.
MongoDB (Database)
- Stores user data, book information, comments, and other application data.
- Provides high performance and scalability for handling large datasets.
Software Used
- Node.js
- Django
- Next.js
- Nginx
- RabbitMQ
- MongoDB
- Docker
Libraries and Packages
Node.js Packages:
- express: ^4.19.2
- mongoose: ^8.2.4
- jsonwebtoken: ^9.0.0
- bcrypt: ^5.1.1
Django Packages:
- Django: ^3.2
- django-rest-framework: ^3.13.1
- pandas: ^1.4.2
Next.js Packages:
- react: ^18.2.0
- next: ^14