A full-stack notes application built with Django REST Framework (backend) and React (frontend), fully containerized with Docker, automated using Terraform + Ansible, monitored with a complete observability stack, and scalable with Kubernetes.
notes-app/
├── application/ # Django backend + React frontend
├── docker-compose.yml # App + observability stack
├── prometheus.yml # Prometheus config
├── grafana/ # Grafana provisioning
├── k8s/ # Kubernetes manifests
├── terraform/ # Infrastructure as Code (AWS EC2)
├── ansible/ # Configuration & deployment automation
└── README.mdTerraform → Create EC2 → Generate Inventory → Ansible → Install Docker → Deploy App
cd terraform
terraform init
terraform applyec2_public_ip = "x.x.x.x"
ec2_username = "ubuntu"terraform outputterraform destroy👉 Full details: see terraform/README.md
cd ansible
chmod +x generate_inventory.sh # run once
./generate_inventory.shansible -i inventory.ini dev -m pingansible-playbook -i inventory.ini playbooks/noteapp.yml👉 Full details: see ansible/README.md
Once deployed via Ansible, services will be available:
| Service | URL |
|---|---|
| Notes App | http://:8083 |
| Prometheus | http://:9090 |
| Grafana | http://:3000 |
| cAdvisor | http://:8080 |
Included in Docker Compose:
- Prometheus → Metrics collection
- Node Exporter → Host metrics
- cAdvisor → Container metrics
- Grafana → Dashboards
- Loki + Promtail → Logging
kubectl apply -f k8s/Includes:
- Deployments
- Services
- Persistent volumes
- Autoscaling (HPA)
| Layer | Technology |
|---|---|
| Backend | Django, DRF |
| Frontend | React |
| Database | MySQL |
| Container | Docker |
| IaC | Terraform |
| Config Mgmt | Ansible |
| Orchestration | Kubernetes |
| Monitoring | Prometheus, Grafana |
| Logging | Loki |
terraform apply -auto-approve && \
cd ansible && \
./generate_inventory.sh && \
ansible-playbook -i inventory.ini playbooks/noteapp.yml- Infrastructure provisioning using Terraform
- Automated server configuration using Ansible
- Containerized microservices architecture
- Observability with metrics and logs
- Kubernetes-ready deployment
- End-to-end DevOps pipeline
See LICENSE
💡 This project demonstrates a complete real-world DevOps workflow from provisioning → deployment → monitoring