Awais Rasool

DeenQuest

Backend Lead & System ArchitectIn Progress
DeenQuest preview

Tech Stack

Frontend
React.js
TypeScript
Backend
Go
Kafka
Microservices
Database
Firebase
MongoDb
Redis
Cloud & DevOps
Docker

Overview

DeenQuest is a gamified Islamic learning platform built with a mobile app, admin panel, and a scalable Go microservices backend. It makes religious education engaging through interactive quizzes, progress tracking, achievements, and competitive leaderboards.

Problem Solved

Islamic education platforms often lack engagement and personalization. Learners need a modern, gamified experience that adapts to their progress while maintaining content authenticity and reliability. Traditional learning methods struggle to retain younger audiences who expect interactive, digital-first experiences.

Solution

DeenQuest transforms Islamic education into an engaging journey with gamified learning paths, XP systems, badges, and real-time leaderboards. The platform personalizes content recommendations based on user progress and maintains strict editorial standards for all learning materials.

Workflow

  1. Registration: Users create profiles and select their learning track
  2. Learning Paths: Browse structured courses divided into bite-sized lessons
  3. Quizzes & Challenges: Test knowledge through interactive quizzes with instant feedback
  4. Gamification: Earn XP, unlock badges, and climb the global leaderboard
  5. Progress Sync: Learning state is persisted across devices via the backend
  6. Admin Oversight: Content moderators manage lessons, review reports, and analyze engagement
  7. Personalization: ML-driven recommendations suggest the next best lesson based on performance

Technical Highlights

  • Architecture: Go microservices with API Gateway pattern for routing and auth
  • Communication: REST APIs for service interaction, Kafka for event-driven async messaging
  • Events: Apache Kafka for reliable inter-service event streaming
  • Caching: Redis for leaderboards, sessions, and frequently accessed content
  • Database: MongoDB for flexible document storage of user profiles and lessons
  • DevOps: Fully Dockerized with Docker Compose for reproducible environments

Key Takeaways

Microservices architecture adds complexity but pays off when different domains (auth, content, gamification) need independent scaling and deployment. The event-driven design with Kafka proved essential for decoupling services while maintaining data consistency.

Features

Gamified learning paths with XP and badges

Microservices architecture for scalability

Real-time leaderboards with Redis caching

Event-driven messaging with Apache Kafka

Admin panel for content and user management

Progress tracking and personalized recommendations

Dockerized services for consistent environments

Architecture

DeenQuest is built on a microservices architecture. The API Gateway routes requests to domain-specific services (Auth, Content, Gamification, Progress). Each service is a Go binary exposing REST APIs, with asynchronous inter-service communication handled by Apache Kafka. Redis caches leaderboards and sessions. MongoDB stores user data and content. Docker Compose orchestrates local development.

API & System Flow

Client requests hit the API Gateway → Gateway authenticates via Auth Service (JWT) → Routes to appropriate microservice → Services publish domain events to Kafka → Other services consume events to update their read models → Redis caches hot data → MongoDB persists authoritative state.

Challenges & Solutions

Solution

Implemented an event-sourcing pattern with Kafka as the event bus, ensuring eventual consistency and audit trails for all state changes.