A modern, full-stack application built with Go, featuring a microservices architecture, containerization, and comprehensive monitoring.
- Go (Golang)
- PostgreSQL
- Docker
- Kubernetes
- Prometheus & Grafana for monitoring
- React.js
- Nginx
- Docker
- Terraform for infrastructure as code
- Ansible for configuration management
- GitHub Actions for CI/CD
- Docker Compose for local development
- Kubernetes for container orchestration
.
├── backend/ # Go backend service
├── frontend/ # React frontend application
├── kubernetes/ # K8s deployment configurations
├── prometheus/ # Monitoring configurations
├── terraform-modules/ # Infrastructure as Code
├── ansible/ # Configuration management
└── docker-compose.yml # Local development setup
- Docker and Docker Compose
- Go
- Node.js and npm
- Terraform
- Ansible
- kubectl
- Clone the repository
git clone https://github.com/AB-Rhman/simple-go
cd simple-go- Start the services using Docker Compose
docker-compose up -d- Access the applications:
- Frontend: http://localhost:80
- Backend API: http://localhost:8080
- Prometheus: http://localhost:9090
- Grafana: http://localhost:3000
Our GitHub Actions workflow automates the following processes:
-
Code Quality Checks
- Linting
- Unit Tests
- Integration Tests
-
Build & Push
- Build Docker images
- Push to Docker Hub
-
Deployment
- Deploy to Kubernetes cluster
- Run smoke tests
- Verify deployment health
The project includes comprehensive monitoring using Prometheus and Grafana:
- System metrics
- Application metrics
- Custom business metrics
- Alerting rules
The infrastructure is managed using Terraform and Ansible:
- Kubernetes cluster setup
- Network configuration
- Security groups
- Load balancers
- Database instances


