EduQuran Backend API
Quran Learning & Murajaah Backend API with Mobile Deep Links
Clean-architecture Go REST API powering cross-device Quran learning, spaced murajaah scheduling, and subscriptions for iOS and Android clients.
- Role
- Backend Systems Engineer
- Year
- 2026
- Production Domain
- api.eduquran.cloud
Context & Challenge
Mobile memorization apps needed UUID-based cross-device ayah progress sync, murajaah quality tracking, premium subscriptions, and native Apple/Android deep linking.
Architecture & Solution
Built a Go (Gin + GORM) API documented with Swagger, complete with `.well-known` Universal/App Links, Resend transactional email, and Redis caching.
Key Implementation Details
- Clean Go architecture (delivery, usecase, service, repository, domain) with full Swagger specs.
- Serves Apple Universal Links and Android Digital Asset Links directly from the API edge.
- Supports murajaah schedules, recitation quality scoring, Google OAuth, and subscription checkout.
System Architecture Flow
iOS & Android Apps + Universal/App Links
Consumes `/api/v1` endpoints and resolves native Universal/App Links on iOS and Android.
- Deep Links
- Google OAuth
- Swagger Consumers
Nginx Reverse Proxy + SSL
Secures API traffic and proxies object storage assets.
- Nginx
- TLS
- CORS
Go Gin + GORM + Resend Mailer
Handles auth, email verification, murajaah scheduling, bookmarks, and subscription checkout.
- JWT v5
- Swaggo
- Resend Go SDK
PostgreSQL (UUID PKs) + Redis + MinIO
Stores surah, ayah, and learning progress using UUID keys for reliable cross-device sync.
- PostgreSQL
- Redis
- MinIO
Technology Stack
- Go
- Gin
- GORM
- PostgreSQL
- Redis
- MinIO
- Resend
- Swagger
Next Case Study
01 / GODA Indonesia