← Back to Projects
Educational Platform (LMS)

GuruHub

Market: GlobalPlatforms: Web, iOS, AndroidEnvironments: Staging, Production

Overview

Designed and implemented GuruHub, a full-stack educational platform including backend services, an admin dashboard, and a mobile application. Built backend services using cutting-edge Spring Boot 4.0.1 + PostgreSQL, exposing 168 secure REST APIs. Developed a Flutter mobile application and a web dashboard for administration and analytics. Implemented enterprise-grade mobile security, single-device session enforcement, and role-based access control. Deployed using Docker and CI/CD pipelines. Note: GuruHub is currently in an internal testing phase. Please get in touch to be invited to the staging environment.

My Role

Full-Stack Software Engineer

Responsibilities

  • Designed and implemented GuruHub, a full-stack Learning Management System platform
  • Built enterprise-grade mobile security including freeRASP device integrity, Firebase App Check, SSL Pinning, and screenshot prevention
  • Built modular backend services using Spring Boot 4.0.1 (Spring Modulith) and PostgreSQL
  • Exposed 168 secure REST API endpoints for mobile and web clients
  • Implemented a commercial plan system with AOP-based feature gating (@RequiresCapability)
  • Built event-driven push notification system using Spring Application Events + Firebase Cloud Messaging
  • Designed quiz engine with deterministic randomization, timed attempts, and re-enrollment model
  • Implemented student progress tracking with real-time playback position sync and course completion analytics
  • Developed a Flutter mobile application following Clean Architecture
  • Developed a web dashboard using Vue 3 and Vuetify for administration and analytics
  • Implemented authorization with Spring Security roles + AOP plan capability on the backend and CASL on the frontend

Technical Challenges

Problem

Quiz integrity during concurrent attempts

Solution

Deterministic shuffle using attempt ID as seed + unpublish guard blocking while live attempts exist

Result

Students always see consistent question order on resume

Problem

Single-device enforcement for students taking quizzes

Solution

Built a device registration and validation flow using X-Device-Id headers and admin-approved device resets.

Result

Prevented unauthorized account sharing and ensured academic integrity.

Problem

Feature gating across 4 commercial plans

Solution

Built AOP aspect with @RequiresCapability annotation + plan resolution chain (agency → user → denied)

Result

Zero-code feature toggling per plan tier

Problem

Cross-module data access in modular monolith

Solution

Enforced module boundaries via PublicService interfaces + Spring Modulith dependency rules

Result

Clean architecture with testable module contracts

Problem

App performance and update management

Solution

Integrated Shorebird for continuous OTA updates and freeRASP for device integrity checks.

Result

Secure application with zero-downtime updates for critical fixes.

Tech Stack

Java 21Spring Boot 4.0.1Spring ModulithSpring SecurityPostgreSQLFlywayMapStructVue 3VuetifyFlutterFirebase Cloud MessagingCodemagicDocker

Key Features

  • 168 API Endpoints
  • Course Builder with hierarchical sections/lessons + standalone & lesson-attached quiz engine
  • Admin home screen curation with featured content management
  • Admin, Agency & Instructor analytics dashboards
  • OAuth student authentication with single-device enforcement
  • Enterprise-grade mobile security (SSL Pinning, freeRASP, App Check)
  • i18n support (English + Arabic)
  • Modular Monolith Backend