This repository provides the complete source code for a Simple Task Microservices system. It includes microservices, Docker containerization, CI/CD setup with GitHub Actions, and monitoring with Prometheus and Grafana.
- Implemented in Go with the following services:
- Task Service
- User Service
- Authentication/Authorization Service
- API Gateway: Tyk
- Database: MySQL
- All services are containerized using Docker.
- Each service is packaged with specific Docker Image Version Tags for easy management and deployment.
- Automated build, packaging, and deployment processes are managed through GitHub Actions, enabling continuous integration and delivery (CI/CD).
- The entire system is monitored using Prometheus for collecting metrics.
- Grafana is used for visualizing data and setting up alerts (notifications) when issues occur.
- Go for microservices.
- Tyk for API Gateway.
- MySQL as the database.
- Docker for containerization.
- GitHub Actions for CI/CD.
- Prometheus & Grafana for monitoring and alerting.
- Docker
- GitHub Account for CI/CD setup
- Prometheus and Grafana for monitoring
-
Clone the repository:
git clone https://github.com/your-repo.git
-
Build Docker images:
docker-compose build
-
Start services:
docker-compose up
-
Access the live services:
- Task Management Website:
http://localhost:3000
- Grafana Dashboard:
http://localhost:3001
- Task Management Website:
This project is licensed under the MIT License - see the LICENSE file for details.