Welcome to the official GitHub Organization of NovelNest, a microservices-based platform for book lovers to discover, buy, sell, and manage physical books.
This platform demonstrates scalable service engineering using modern web development, containerization, and orchestration technologies.
NovelNest is built using a modular, microservices-based architecture. Each service is maintained in its own repository and communicates via both synchronous REST APIs and asynchronous message queues using RabbitMQ.
Service | Responsibilities | Tech Stack |
---|---|---|
User Service | Authentication (SuperTokens), user profile & purchase history | Node.js, TypeScript, PostgreSQL |
Catalog Service | Book catalog browsing & search (read-optimized) | Node.js, TypeScript, MongoDB |
Inventory Service | Manage book listings & stock (write-optimized) | Node.js, TypeScript, PostgreSQL |
Order Service | Order lifecycle management, seller-buyer coordination | Node.js, TypeScript, PostgreSQL |
Frontend UI | React-based SPA interfacing with Kong API Gateway | React, TypeScript, NGINX |
- Kong API Gateway: Manages routing, security, and service exposure
- RabbitMQ: Enables asynchronous inter-service communication
- Kubernetes (Minikube): Manages container orchestration and deployments
- Quay.io: Hosts Docker container images for all services
Component | Repository Link |
---|---|
User Service | user-service |
Catalog Service | catalog-service |
Inventory Service | inventory-service |
Order Service | order-service |
Frontend UI | frontend |
Kubernetes Manifests | k8s-manifests |
- 📘 Technical Documentation (PDF)
- 🎥 Walkthrough Videos:
- System Architecture & Microservices: Watch Video 1
- Containerization & Kubernetes Deployment: Watch Video 2
To run the full application locally or on Minikube, refer to the k8s-manifests README for deployment steps using:
deploy-all.sh
: Deploys all services in orderkubectl apply -f <service>
: Apply individual manifestskubectl port-forward
: Access UI, RabbitMQ dashboard, or Kong
- Microservices: Node.js + TypeScript
- API Gateway: Kong
- Message Queue: RabbitMQ
- Databases: PostgreSQL + MongoDB
- Frontend: React + Vite + TailwindCSS
- Orchestration: Docker + Kubernetes (Minikube)
- Auth: SuperTokens
- CI/CD (optional): GitHub Actions + Quay.io Registry
💡 For more details, walkthroughs, and advanced Kubernetes deployments, refer to the full 📘 technical document.