This project is a full stack application built with Spring Boot (backend) and Angular (frontend and admin). It includes a complete DevOps pipeline for CI/CD, Kubernetes deployment, infrastructure provisioning with Terraform, configuration management with Ansible, and monitoring with Prometheus and Grafana.
- backend/: Spring Boot backend application.
- Frontend/: Angular frontend application.
- Admin/: Angular admin application.
- k8s/: Kubernetes manifests for deployment and services.
- terraform/: Terraform configuration for AWS EKS cluster.
- ansible/: Ansible playbook for setting up Docker and kubectl.
- prometheus/: Prometheus configuration for metrics scraping.
- grafana/: Grafana datasource configuration.
- Docker
- Kubernetes (kubectl)
- Jenkins
- AWS CLI (for Terraform)
- Ansible
git clone https://github.com/ibrahimelothmani/Job-Search-Platform.git
In the Jenkinsfile
and Kubernetes manifests, replace your-docker-registry
with your actual Docker registry (e.g., Docker Hub, AWS ECR, etc.).
cd ansible
ansible-playbook ansible/setup.yml -i setup.yml
cd terraform
terraform init
terraform apply
Use Helm or manual deployment to set up Prometheus and Grafana in your Kubernetes cluster.
Trigger the Jenkins pipeline to build, test, and deploy your app.
- Prometheus: Scrapes metrics from the backend, frontend, and admin applications.
- Grafana: Visualizes metrics from Prometheus.
This project is licensed under the MIT License.