shnartho / Holiday-Planner-FullStackWebApp

Production-ready webapp using React, Django, and PostgreSQL with CI/CD using Jenkins and ArgoCD, deployed on Kubernetes

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

๐Ÿ”ฐ A scalable and production-ready full-stack web application, combining the power of React, Django, and PostgreSQL. Seamlessly deployed and orchestrated with Kubernetes, while leveraging CI/CD using Jenkins and ArgoCD for streamlined development and reliability.

๐Ÿƒโ€โ™‚๏ธ Running and Testing the Project in 3 Different Ways:
๐Ÿง‘โ€๐Ÿ”ฌ Using Minikube ๐Ÿ™โ€โ™‚๏ธUsing Docker-Compose ๐Ÿ‘ถOn localhost

CI/CD Workflow

Application

Execute and Evaluate the Web Application

๐ŸŸข Using Minikube
To run using minikube, make sure you have minikube installed in your mahchine. If your minikube running on docker driver, use these command Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All and minikube config set driver hyperv. The deploy the frontend, backend and database in minikube kubernetes cluster go to ./kubernetes-deployment and run,
kubectl apply -f db-service.yaml -f db-deployment.yaml
kubectl apply -f backend-config.yaml backend-service.yaml -f backend-deployment.yaml
kubectl apply -f frontend-config.yaml frontend-service.yaml -f frontend-deployment.yaml

minikube

Image 1 Image 3

๐ŸŸข Using Docker-Compose
To run using docker-compose, run "docker-compose up --build" in the current directory. Please make sure make sure the database credentials of the docker-compsoe file and /backend/start_project/settings.py match. Also in /backend/entrypoint.sh make sure you use the hostname instead of db-service. docker-compose

๐ŸŸข Running On Localhost
To run the frontend and backend application locally, Inside current directory you need to run "npm run build" and "npm start". To run the backend, go to /backend and run "python manage.py migrate" and "python manage.py runserver 0.0.0.0:8000". Please make sure you have postgresql or any other rdbms installed and correctly configured in /backend/start_project/settings.py.

Application

Image 1 Image 3

Automate Software Delivery




Trying to test with different tech stacks, therefore....

WorkInProgressStillWorkingGIF

About

Production-ready webapp using React, Django, and PostgreSQL with CI/CD using Jenkins and ArgoCD, deployed on Kubernetes


Languages

Language:JavaScript 64.9%Language:Python 31.4%Language:CSS 2.9%Language:Dockerfile 0.5%Language:Shell 0.3%