← Back to Projects
Educational Platform (LMS)LMSMobile AppAdmin Dashboard

GuruHub

Learn anything, anywhere — expert video courses, quizzes, and analytics in one platform.

GuruHub — Educational Platform (LMS)

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.

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.

Results & Impact

Offline
Full courses without internet
Anti-cheat
Per-student randomized quizzes
4
Commercial plan tiers, zero-code gating
2
Languages — English + Arabic (RTL)

Tech Stack

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

Gallery

GuruHub screenshotGuruHub screenshotGuruHub screenshot

Key Features

  • Expert video courses & comprehensive Course Builder
  • Standalone quizzes & reusable question banks
  • Offline downloads for on-the-go learning
  • Cross-device progress tracking (Resume anywhere)
  • Admin, Agency & Instructor analytics dashboards with student management
  • In-app direct messaging between instructors and students
  • Free course previews before enrollment
  • Enterprise-grade mobile security with single-device enforcement
  • i18n bilingual support (English + Arabic with RTL layouts)
  • Modular Monolith Backend exposing 168 secure API Endpoints