A full-stack Cricket Academy management application deployed on Kubernetes with Minikube. This project demonstrates a microservices architecture with a Flask frontend, Spring Boot backend, and PostgreSQL database.
- Frontend: Python Flask application (port 5000)
- Backend: Java Spring Boot REST API service (port 8080)
- Database: PostgreSQL 16 with persistent storage
- Orchestration: Kubernetes resources including ConfigMap, Secret, PVC, Deployments, and Services
- Docker
- Minikube
- kubectl
For the latest updates and more information, visit the GitHub repository.
minikube startAssuming your manifest file is named cricket-compose.yml:
kubectl create -f cricket-compose.ymlCheck that all pods are running:
kubectl get pods -A
kubectl get svc -AExpected output:
Pods:
cricket-db- Runningcricket-backend- Runningcricket-frontend- Running
Services:
cricket-db(ClusterIP, port 5432)cricket-backend(ClusterIP, port 8080)cricket-frontend(NodePort, nodePort 30001)
| Component | Container Port | Service Port | Node Port | Type |
|---|---|---|---|---|
| PostgreSQL | 5432 | 5432 | - | ClusterIP |
| Backend | 8080 | 8080 | - | ClusterIP |
| Frontend | 5000 | 80 | 30001 | NodePort |
- Database Connection:
jdbc:postgresql://cricket-db:5432/cricket_academy
- Backend API:
http://cricket-backend:8080/api
- Frontend Access:
NodePort 30001 → Service port 80 → Pod port 5000
Browser → NodePort 30001 → Service (port 80) → Frontend Pod (port 5000)
→ Backend Service (port 8080) → Database Service (port 5432)
When using the Docker driver on Linux, use the Minikube service helper:
minikube service cricket-frontend --urlThis will example output a URL like:
http://127.0.0.1:37387
Important: Keep this terminal window open while using the application.
- Copy the printed URL (e.g.,
http://127.0.0.1:37387) - Paste it into your browser's address bar
- Press Enter
- You should see the Cricket Academy frontend
# 1. Start Minikube cluster
minikube start --driver=docker
# 2. Deploy all Kubernetes resources
kubectl create -f cricket-compose.yml
# 3. Get the application URL
minikube service cricket-frontend --url
# 4. Copy the URL and open it in your browser# Frontend logs
kubectl logs -l app=cricket-frontend
# Backend logs
kubectl logs -l app=cricket-backend
# Database logs
kubectl logs -l app=cricket-dbkubectl delete -f cricket-compose.ymlminikube stopCricket-Academy-Project/
├── cricket-compose.yml # Kubernetes manifests
├── frontend/ # Flask application
├── backend/ # Spring Boot application
└── README.md # This file