This project is a full-stack Movie Review application demonstrating modern DevOps practices using Docker, Azure, Terraform, and GitHub Actions CI/CD.
- Frontend: React (Vite) app for browsing and reviewing movies
- Backend: Node.js/Express API with endpoints for movies and reviews
- Infrastructure as Code: Managed with Terraform for Azure
- CI/CD: Automated with GitHub Actions, including build, test, Docker image push, infrastructure provisioning, deployment, health checks, and Slack notifications
- Multi-environment support: Deploy to
devorprodwith manual approval for production - Automated testing: Backend tests run on every pipeline execution
- Dockerized: Both frontend and backend run in containers
- Terraform: Azure infrastructure is provisioned and managed as code
- Health checks: Automated checks for frontend and backend service availability after deployment
- Slack notifications: Deployment results and health check summaries sent to Slack
- Deployment log: Each deployment generates a downloadable log artifact with key steps and results
- Test: Run backend tests
- Build & Push: Build Docker images and push to Docker Hub
- Terraform Plan: Generate infrastructure plan for selected environment
- Manual Approval: Required for production deployments
- Terraform Apply: Apply infrastructure changes
- Deploy to VM: SSH into Azure VM, pull images, and start containers
- Health Check: Verify frontend and backend are healthy
- Save Deployment Log: Collect logs and health check results as an artifact
- Slack Notification: Send deployment and health check summary to Slack
- Configure secrets for Docker Hub, Azure, VM SSH, and Slack webhook in your GitHub repository
- Trigger deployments via GitHub Actions workflow dispatch, choosing
devorprod - Download deployment logs from workflow artifacts for auditing
frontend/- React appbackend/- Express APIinfra/- Terraform code for Azure.github/workflows/deploy.yml- Main CI/CD pipeline
