# Ghaymah SRE Project This repository contains a full set of SRE and DevOps deliverables for the Ghaymah platform. It includes a health-monitoring web app, a containerized dashboard, an incident postmortem, CI/CD guidance, and a high-traffic architecture design. ## Project Overview The project is organized into five main parts: - Q1: API health monitoring app and dashboard - Q2: Incident postmortem and resilience recommendations - Q3-CICD: CI/CD workflow and deployment strategy - Q4: High-traffic architecture design for 15,000 RPS - Q5: Containerized monitoring service for uptime and SSL checks ## Repository Structure ```text Ghaymah_Task/ ├── Q1/ │ ├── Dashboard/ │ ├── Dockerfile │ ├── monitor.sh │ ├── package.json │ ├── README.md │ └── server.js ├── Q2/ │ └── readme,md ├── Q3-CICD/ │ ├── README.md │ └── workflow.yml ├── Q4/ │ ├── GhaymahAPI.png │ └── README.md ├── Q5/ │ ├── Dockerfile │ ├── Entrypoint.sh │ ├── README.md │ ├── index.html │ └── monitor.py └── README.md ``` ## What Each Part Includes ### Q1 — API Health Monitor and Dashboard This section provides a lightweight web service that exposes a health endpoint and serves a dashboard for monitoring service status, response time, and request count. Key files: - [Q1/server.js](Q1/server.js) - [Q1/monitor.sh](Q1/monitor.sh) - [Q1/Dashboard/index.html](Q1/Dashboard/index.html) ### Q2 — Incident Postmortem This section documents a major outage caused by memory exhaustion and proposes mitigation strategies such as autoscaling, pagination, and observability improvements. Key file: - [Q2/readme,md](Q2/readme,md) ### Q3-CICD — Continuous Integration and Deployment This section outlines the CI/CD workflow for automating build, test, and deployment processes for the platform. Key files: - [Q3-CICD/workflow.yml](Q3-CICD/workflow.yml) - [Q3-CICD/README.md](Q3-CICD/README.md) ### Q4 — High-Traffic Architecture Design This section explains how to design a scalable architecture for handling 15,000 requests per second, covering load balancing, caching, database replication, and storage planning. Key files: - [Q4/README.md](Q4/README.md) - [Q4/GhaymahAPI.png](Q4/GhaymahAPI.png) ### Q5 — Containerized Monitoring Service This section contains a Dockerized monitoring solution that checks uptime, latency, SSL expiry, and dashboard availability using a simple Python script. Key files: - [Q5/Dockerfile](Q5/Dockerfile) - [Q5/monitor.py](Q5/monitor.py) - [Q5/Entrypoint.sh](Q5/Entrypoint.sh) ## How to Use This Repository 1. Review the documentation in each folder. 2. Run the applications locally as described in their own README files. 3. Use the CI/CD workflow from Q3-CICD for deployment automation. 4. Reference Q4 for the large-scale architecture approach. 5. Use Q5 as a container-based monitoring example. ## Technologies Used - Node.js / Express - Python - Docker - HTML / CSS / JavaScript - GitHub Actions workflow-based CI/CD ## Summary This project demonstrates a practical SRE approach covering monitoring, incident response, automation, scalability, and container-based operations for a production-style platform. --- ## Author **Gamal Mohamed** DevSecOps Engineer Qabilah Profile ``` https://qabilah.com/profile/gamalmohammed0909/ ```