Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/shnartho/holiday-planner-fullstackwebapp

Production-ready webapp using React, Django, and PostgreSQL with CI/CD using Jenkins and ArgoCD, deployed on Kubernetes
https://github.com/shnartho/holiday-planner-fullstackwebapp

argocd aws ci-cd django-reactjs-postgres docker jenkins kubernetes

Last synced: about 2 months ago
JSON representation

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

Awesome Lists containing this project

README

        

πŸ”° 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](./images/forGithub1.jpeg)

## 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](./images/minikube-front.png)


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](./images/docker-compose.png)

🟒 **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](./images/forGithub2.png)


Image 1
Image 3

## Automate Software Delivery





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

![WorkInProgressStillWorkingGIF](https://github.com/shnartho/Holiday-Planner-FullStackWebApp/assets/83227963/d07a81b9-6f87-4260-a525-7b76defb2243)