๐Ÿ“š Micro Learning Platform

Falah Mobile โ€” Handover

Complete E2E system for browsing, purchasing, consuming, and certifying bite-sized (5 min) courses derived from books.

Repository git.falahos.my/wmj/falah-mobile.git ยท Source /root/falah-mobile ยท Branch main ยท Commit bfd3509 ยท GitHub maifors/falah-mobile
๐Ÿ“Š

Phase 1 Complete โ€” Live in Production

Production: falahos.my/mobile  ยท  Staging: falahos.my:4014/mobile

Deployment Docker + Traefik
Host Contabo VPS (Ubuntu 24.04)
Auth Ummah ID (JWT)
Payments Polar.sh
โœ…

Courses Built

4
Courses Live
21
Modules
6
Categories
35
Courses Left
Atomic Habits Defining Decade Simplicity Parenting Tao Te Ching
Library completion 4 / 39 courses (10%)

All 4 in Self Improvement. Quran, Hadith, Prayer, History, Finance categories empty โ€” ready for content.

๐ŸŽ“

Delivery Features

  • โœฆ Course catalog โ€” search bar + category filter tabs
  • โœฆ Module reader โ€” markdown content + progress bar + quiz badges
  • โœฆ TTS audio โ€” Web Speech API, Google UK English Female (preferred)
  • โœฆ Markdown stripping โ€” 11 patterns clean text for TTS
  • โœฆ Quiz system โ€” 3โ€“5 MCQs per module, submit/score/retry
  • โœฆ Certificate issuance โ€” auto-issued on 100% completion, PDF + serial
๐Ÿ’ณ

Payments & Subscription

  • โœฆ $9.99/mo Learn Pass Monthly โœ… Live
  • โœฆ $79.99/yr Learn Pass Annual โœ… Live
  • โœฆ $4.99 each One-time course purchases โŒ Not mapped
  • โš  Action: Add Polar price IDs for 4 new courses to checkout/route.ts PRODUCTS map
๐Ÿ“‹

Priority Backlog

  • โœฆ 35 more courses โ€” build & seed across 6 categories
  • โœฆ Checkout mapping โ€” Polar price IDs for each new course
  • โœฆ Course thumbnails โ€” replace emoji/gradient with real cover art
  • โœฆ Gitea sync โ€” test course sync script
  • โœฆ Server-side TTS โ€” Azure / ElevenLabs for higher quality
  • โœฆ Admin dashboard โ€” course management UI
  • โœฆ Analytics โ€” completion rates, quiz scores
๐Ÿ“ฆ

Tech Stack

Next.js 16 TypeScript SQLite Prisma v5.22 Tailwind CSS Polar.sh Docker Traefik Web Speech API Gitea

Database

SQLite (/app/data/dev.db) via Prisma ORM

Schema: prisma/schema.prisma

Deployment

Source โ†’ npm run build โ†’ Docker โ†’ Traefik reverse proxy

Host: Contabo VPS

๐Ÿ—

Route Architecture

# Next.js App Router โ€” basePath: "/mobile"
GET /mobile/learn โ† Course catalog (search + category tabs)
GET /mobile/learn/[slug] โ† Course detail + module timeline
GET /mobile/learn/[slug]/[moduleId] โ† Module reader + TTS + Quiz
GET /mobile/api/learn/courses โ† ?category=&search=
GET /mobile/api/learn/courses/[slug] โ† Course detail API
GET /mobile/api/learn/categories โ† List categories
POST /mobile/api/learn/checkout โ† Polar.sh checkout
POST /mobile/api/learn/progress โ† Mark module complete + auto-certificate
GET /mobile/api/learn/certificates โ† User certificates
POST /mobile/api/learn/sync โ† Gitea sync

Key Source Files (26 files)

prisma/schema.prisma learn/page.tsx [slug]/page.tsx checkout/route.ts progress/route.ts courses/route.ts lib/learn.ts Dockerfile LearnPassCard.tsx
โš™๏ธ

Common Commands

$ cd /root/falah-mobile
$ npm run build
$ docker build -t falah-mobile:latest .
$ docker compose up -d --no-deps falah-mobile
$ npx prisma db push

DB ops via docker cp + sqlite3 for quick data fixes

๐Ÿ›

Known Issues

  • #1 ๐ŸŸก Health check slow โ€” 30s+ but API works immediately
  • #2 ๐ŸŸก .env permission error โ€” EACCES in logs (env still loads correctly)
  • #3 ๐Ÿ”ด Checkout missing courses โ€” Only 3 old courses in PRODUCTS map
  • #4 ๐ŸŸก Staging DB sharing โ€” prod & staging share same volume
  • #5 ๐ŸŸข Missing thumbnails โ€” emoji/gradient placeholders
  • #6 ๐ŸŸข Course card navigation โ€” stopPropagation edge case
Low Medium High