Mohamed Elgheith
Back to projects

KnowledgeHub

Full-Stack & DevOps Engineer · 2026

Runs ESPRIM's entire internship and final-year project pipeline, end to end.

Microservices (5 services)DockerCI/CDAI integrationSemantic search

Built for ESPRIM's Computer Science department, KnowledgeHub replaces email threads and shared drives with a single platform that carries a report from first upload through supervisor review to the final defense.

Three roles get three purpose-built workflows: students submit and track documents, supervisors review and give feedback, and admins handle supervisor matching, jury assignment, and publication. Once a document is approved and published, it becomes searchable through a semantic library open to the whole school.

Architecture

User & Authentication Service

JWT-based identity, sessions, and role management for students, teachers, and admins.

Resource Service

Owns the document lifecycle: submission, versioning, review status, and metadata.

Notification Service

Event-driven email and in-app alerts on submission, review outcome, and jury assignment.

AI Search Service

Python/FastAPI service that embeds and indexes published documents, and serves semantic queries.

API Gateway

Single entry point handling routing, auth checks, and request policy for every client.

Tech stack

Backend

  • Spring Boot

Web

  • Angular
  • Tailwind CSS

Mobile

  • Flutter

AI service

  • Python
  • FastAPI

Data

  • MySQL
  • MongoDB
  • Redis
  • MinIO
  • ChromaDB

DevOps

  • Docker
  • Jenkins
  • GitHub Actions
  • SonarQube
  • Prometheus
  • Grafana

How submissions flow

Final-year project (PFE)

  1. 1Student gets matched to a supervisor by subject and CV
  2. 2Student uploads attestation, fiche d'accord, and journal de stage
  3. 3Student submits the report for supervisor review
  4. 4Supervisor validates or rejects with feedback, student revises and resubmits until accepted
  5. 5Admin assigns a jury and a rapporteur for the defense

Summer internship

  1. 1Student uploads attestation, fiche d'accord, journal de stage, and report
  2. 2Admin reviews the submission
  3. 3Admin assigns a jury for the defense

Quality & DevOps

  • Testing pyramid: Mockito unit tests for business logic, Spring Boot + MySQL integration tests for real persistence behavior
  • Static analysis gate with SonarQube before every deploy, tracking bugs, vulnerabilities, and code smells
  • Multi-stage Jenkins pipeline: build, spin up test dependencies, run tests, SonarQube analysis, deploy via Docker Compose
  • Prometheus and Grafana for live service health and metrics
  • Health-checked, dependency-ordered Docker Compose stack across every service and datastore

Mobile app

Web for every role|Mobile for students & teachers

Team

  • Mohamed Elgheith

    Full-Stack & DevOps Engineer

Want to talk through how it was built?

Contact