A full-stack health & fitness logging platform built with Next.js, React Native, Supabase, Docker, and Kubernetes.
The project includes a web application, mobile application, CI pipeline, containerized infrastructure, and Kubernetes deployment, demonstrating a complete modern development and DevOps workflow.
- create exercises
- organize training splits
- log workouts
- view training history
- Supabase authentication
- profile management
- secure user data
- Web application (Next.js)
- Mobile application (React Native + Expo)
- Next.js
- React
- Tailwind CSS
- React Native
- Expo
- Supabase
- PostgreSQL
- Docker
- Docker Compose
- GitHub Actions CI
- GitHub Container Registry (GHCR)
- Kubernetes (Minikube)
Developer
↓
Git Push
↓
GitHub Actions (CI)
↓
Docker Image Build
↓
Push to GHCR
↓
Kubernetes Deployment
↓
Running Containers
rest-assured
│
├─ web/ # Next.js web application
│
├─ mobile/ # React Native mobile app
│
├─ infra/
│ ├─ kubernetes/ # Kubernetes manifests
│ │ ├─ deployment.yml
│ │ ├─ service.yml
│ │ └─ secret.example.yml
│ │
│ └─ scripts/
│ ├─ deploy.sh # Kubernetes deploy script
│ └─ release.sh # Full release pipeline
│
├─ docker-compose.yml
│
└─ .github/workflows/ # CI pipelines
GitHub Actions automatically:
- installs dependencies
- builds the Next.js application
- builds the Docker image
- pushes the image to GitHub Container Registry
Example image:
ghcr.io/intscription/gravity-log-web:latest
The application is deployed using Kubernetes with:
- Deployment
- Service
- Secrets
Example deployment:
kubectl apply -f infra/kubernetes/Deploy the latest container image with one command:
./infra/scripts/release.shThis script:
- pushes code to GitHub
- waits for CI to build the Docker image
- deploys the new container to Kubernetes
cd web
npm install
npm run devdocker compose up --buildminikube start
kubectl apply -f infra/kubernetes/Create .env.local inside web/:
NEXT_PUBLIC_SUPABASE_URL=
NEXT_PUBLIC_SUPABASE_ANON_KEY=
- Kubernetes Ingress
- Health probes
- GitOps deployment
- Monitoring (Prometheus + Grafana)
Kartik Sanil
This project demonstrates:
- full-stack application development
- containerization with Docker
- CI/CD automation
- Kubernetes deployment
It serves as both a fitness tool and a DevOps learning platform.