diff --git a/README.md b/README.md deleted file mode 100644 index 3a46f57..0000000 --- a/README.md +++ /dev/null @@ -1,166 +0,0 @@ -# Notes Application - Docker & Kubernetes Deployment - -## Overview - -This project is a Notes Application deployed using Docker and Kubernetes (MicroK8s). -The application allows users to: - -- Create notes -- Delete notes -- Upload files -- Download files - -It follows a 3-tier architecture: - -- Frontend (Nginx) -- Backend (Node.js) -- Database (MongoDB) - -## Architecture - -``` -User -> Frontend (Nginx) -> Backend (Node.js) -> MongoDB -``` - -## Containers - -### Frontend - -- Image: `nginx:alpine` -- Role: Serves static UI -- Port: `80` - -### Backend - -- Image: `node:18` -- Role: API server (handles notes & files) -- Port: `3000` - -### Database - -- Image: `mongo:6.0` -- Role: Stores notes and file data -- Port: `27017` - -## Kubernetes Resources - -- Namespace: `z2` -- Deployments: - - `frontend` - - `backend` -- StatefulSet: - - `mongo` -- Services: - - `frontend` (NodePort -> 30007) - - `backend` (ClusterIP) - - `mongo` (Headless Service) - -## Storage - -- Persistent Volume Claim: `mongo-storage` -- Size: `1Gi` -- Mount path: `/data/db` -- Purpose: Store MongoDB data persistently - -## Setup Instructions - -### 1. Prepare Application - -```bash -./prepare-app.sh -``` - -- Builds Docker images -- Loads them into MicroK8s - -### 2. Start Application - -```bash -./start-app.sh -``` - -- Deploys Kubernetes resources -- Starts all services - -### 3. Stop Application - -```bash -./stop-app.sh -``` - -- Stops running pods -- Keeps configuration - -### 4. Delete Application - -```bash -microk8s kubectl delete all --all -n z2 -microk8s kubectl delete pvc --all -n z2 -``` - -- Removes everything including database - -## Access Application - -Open in browser: - -``` -http://:30007 -``` - -Example: - -``` -http://147.232.204.210:30007 -``` - -## Useful Commands - -Check pods: - -```bash -microk8s kubectl get pods -n z2 -``` - -Check services: - -```bash -microk8s kubectl get svc -n z2 -``` - -View logs: - -```bash -microk8s kubectl logs -n z2 -``` - -## Common Issues - -### Mongo Crash (version error) - -Fix: - -```bash -microk8s kubectl delete pvc --all -n z2 -``` - -### Frontend shows "Welcome to nginx" - -Fix: - -- Ensure `index.html` is copied in Dockerfile -- Rebuild using: - -```bash -./prepare-app.sh -``` - -## Honesty Statement - -This project was developed with the assistance of AI tools (such as ChatGPT) for: - -- Debugging errors -- Understanding Kubernetes concepts -- Identifying fixes for deployment issues - -All configurations, testing, and final implementation were completed independently, and the AI was used strictly as a learning aid. \ No newline at end of file