RedBus is a high-availability, role-aware (Customer / Company / Admin) intercity bus ticketing platform. It features a distributed microservice topology built on Java Spring Boot, orchestrated with Kubernetes, and monitored with the ELK Stack.
- One-Click Booking: Frictionless ticket reservation system with bypassable payment for high-speed checkout.
- Auto-Scaling: Horizontal Pod Autoscaler (HPA) configured to handle traffic spikes.
- Centralized Observability: Full ELK stack integration (Elasticsearch, Logstash, Kibana, Filebeat) with Kubernetes metadata enrichment.
- Automated CI/CD: Jenkins "Master Orchestrator" pipeline for parallel building and deployment of all services.
- Service Discovery: Netflix Eureka integration for dynamic service registration and lookup.
- Granular Dynamic Pricing: Occupancy-based pricing engine using a linear growth model for revenue optimization.
- Geospatial Route Mapping: Interactive Leaflet-based route visualization with city coordinate mapping.
- Operator BI Dashboard: Real-time business metrics (Net Revenue, Occupancy, Sales) for bus companies.
The comprehensive design decisions, architecture diagrams, and evaluation metrics are available in the: 👉 Final Project Report (PDF)
Browser (React Frontend)
│
▼
Ingress (Nginx) / API Gateway (Spring Cloud Gateway)
│
├─► Security Service (Authentication & Session Lifecycle)
├─► Member Service (User Profiles & Verification)
├─► Expedition Service (Routes, Seats, Reservation & Ticketing)
└─► Payment Service (Card Registry & Mock Processing)
│
▼
PostgreSQL (Centralized Persistence)
- Filebeat: DaemonSet collecting logs from every node.
- Logstash: Processes and enriches logs with Kubernetes metadata (Namespace, Pod, Container).
- Elasticsearch: Distributed search engine for high-performance log storage.
- Kibana: Advanced dashboard for log visualization and service health monitoring.
- Frontend: React 19, Vite, TailwindCSS (Premium UI/UX)
- Backend: Java 21, Spring Boot 3.3.4, Spring Cloud, Hibernate
- Database: PostgreSQL 15
- Containerization: Docker & Docker Hub
- Orchestration: Kubernetes (Minikube)
- CI/CD: Jenkins (Declarative Pipelines)
- Monitoring: ELK Stack (Elasticsearch 8.10.2)
- Configuration: Kubernetes ConfigMaps & Secrets
- Minikube & Kubectl installed
- Docker installed
# Start Minikube
minikube start --memory=8192 --cpus=4
# Enable Ingress and Metrics Server
minikube addons enable ingress
minikube addons enable metrics-server
# Deploy Infrastructure (Postgres, Eureka, ELK)
kubectl apply -f k8s/elk-stack.yaml
kubectl apply -f k8s/postgres.yaml
# Deploy Microservices
kubectl apply -f k8s/api-gateway.yaml
# ... apply other k8s files- Application:
http://localhost(viaminikube tunnel) - Kibana Dashboard:
http://localhost/kibana - Eureka Dashboard:
http://localhost:8761 - Jenkins:
http://localhost:8080
- Fault Tolerance: Liveness and Readiness probes ensure self-healing pods.
- Scalability: HPA scales pods based on real-time CPU metrics.
- Security: Kubernetes Secrets for DB credentials and Session-based Auth.
- Business Logic: Granular Dynamic Pricing and real-time occupancy calculations.
- Visualization: Geospatial route tracking using React-Leaflet.
- Automation: One-click "Build & Deploy" via Jenkins Orchestrator.
- Rahul Raman
- Affan Shaikh
Note: This project was developed as a Final Project showcase for production-grade microservice orchestration.