{"id":26450426,"url":"https://github.com/bharatsutharx/ecoshop_project","last_synced_at":"2026-04-11T03:04:04.372Z","repository":{"id":282246377,"uuid":"947901860","full_name":"bharatsutharx/EcoShop_Project","owner":"bharatsutharx","description":" E-Commerce Project (React + Vite + Supabase as backend) – DevOps Practice","archived":false,"fork":false,"pushed_at":"2025-03-13T14:12:59.000Z","size":8535,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-13T15:24:36.225Z","etag":null,"topics":["argocd","cicd","devops","devops-tools","docker","github-actions","jenkins","kubernetes","terraform"],"latest_commit_sha":null,"homepage":"https://ecoshop-by-bharat.netlify.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bharatsutharx.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-03-13T12:32:31.000Z","updated_at":"2025-03-13T14:13:03.000Z","dependencies_parsed_at":"2025-03-13T15:34:53.026Z","dependency_job_id":null,"html_url":"https://github.com/bharatsutharx/EcoShop_Project","commit_stats":null,"previous_names":["bharatsutharx/ecoshop_project"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bharatsutharx%2FEcoShop_Project","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bharatsutharx%2FEcoShop_Project/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bharatsutharx%2FEcoShop_Project/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bharatsutharx%2FEcoShop_Project/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bharatsutharx","download_url":"https://codeload.github.com/bharatsutharx/EcoShop_Project/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244250223,"owners_count":20423115,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["argocd","cicd","devops","devops-tools","docker","github-actions","jenkins","kubernetes","terraform"],"created_at":"2025-03-18T15:37:48.421Z","updated_at":"2025-12-30T20:06:45.637Z","avatar_url":"https://github.com/bharatsutharx.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# EcoShop - DevOps Implementation\n\n## Application Architecture\n\nEcoShop is a **React + Vite + Supabase + Zustand** frontend project with the following architecture:\n\n```\nClient (Browser)\n      ⬇️\nVite React App (Frontend)\n      ⬇️\nSupabase (Database)\n```\n\n\u003cimg src=\"docs/EcoShop-ezgif.com-crop.gif\" width=\"600\"\u003e\n\n### 🖥️ Frontend (React + Vite)\n- **Vite**: Used for fast builds.\n- **React**: Manages UI components.\n- **Zustand**: Handles global state.\n- **Tailwind CSS**: Provides modern styling.\n\n### 🔗 Backend (Supabase)\nSupabase acts as a backend replacement:\n- **Database**: PostgreSQL\n- **API access**: Managed via Supabase\n\n### 🛠️ DevOps Stack\n- **Containerization**: Docker\n- **Orchestration**: Kubernetes (Minikube for local testing)\n- **CI/CD**: Jenkins (Phase 1), GitHub Actions + ArgoCD (Phase 2)\n- **Monitoring**: Prometheus, Grafana,  Alertmanager\n\n## DevOps implementation \n\n###  Containerization (Docker) : Build a lightweight, production-ready Docker image.\n\n- Use a **multi-stage build** to minimize image size.\n- Use **Nginx** to serve the frontend.\n- pass **environment variables**.\n\n---\n\n###  CI/CD Pipeline: GitHub Actions + ArgoCD \n\nAutomate testing, building, and deploying the app\n\nGitHub Actions, Docker Hub, Kubernetes, ArgoCD\n\nSteps:\n\n1. GitHub Actions - CI Pipeline\n\n* Build \u0026 push Docker image to Docker Hub\n\n2. GitHub Actions - CD Pipeline\n\n* Deploy to Kubernetes cluster using ArgoCD\n\n* Ensure automatic deployments via GitOps\n\n* Kubernetes Deployment\n\n* Create Deployment, Service, Ingress YAML files\n* Expose the app using Nginx Ingress Controller\n\n**I deployed kubernetes manifests and using argocd in minikube**\n\n## Flow (How ArgoCD Deploys Your App in minikube) - \n\n*  I push the Kubernetes YAML files to GitHub inside the k8s/ folder.\n\n* ArgoCD watches the repo and detects changes automatically.\n\n*  ArgoCD pulls the latest manifests and applies them to Minikube.\n\n*  Application is deployed inside Minikube just like running kubectl apply -f k8s/ but fully automated.\n\n\u003cimg src=\"docs/ArgoCD.png\" width=\"600\"\u003e\n\n---\n\n### : Monitoring \u0026 Logging\nSet up end-to-end observability for the application.\n\n####  Integrate Monitoring Tools\n- **Prometheus + Grafana** for metrics\n- **Loki + Grafana** for logs\n- **Alerting** via Alertmanager + Slack/Email\n\n\u003cimg src=\"docs/Grafana.png\" width=\"600\"\u003e\n\n---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbharatsutharx%2Fecoshop_project","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbharatsutharx%2Fecoshop_project","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbharatsutharx%2Fecoshop_project/lists"}