Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/shnartho/holiday-planner-fullstackwebapp
- Owner: shnartho
- Created: 2023-07-14T23:57:37.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-08-04T00:53:09.000Z (over 1 year ago)
- Last Synced: 2023-08-04T01:48:11.302Z (over 1 year ago)
- Topics: argocd, aws, ci-cd, django-reactjs-postgres, docker, jenkins, kubernetes
- Language: JavaScript
- Homepage:
- Size: 2.89 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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)
π’ **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)
## 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)