Overview
This personal project is a multilingual Quran mobile application supporting daily religious life. Designed with Turkish, Arabic, and English language support to appeal to an international user base.
Modules
- Mushaf reading: High-resolution, swipeable Mushaf viewer
- Prayer times: Location-based, real-time prayer times
- Qibla compass: Instant qibla direction with compass sensor
- Recitation planner: Plan for completing the Quran within a set period
- Personal bookmarks/notes: Add notes and bookmarks to verses
- Tasbih counter: Digital prayer beads
- AI-powered verse explanation: Detailed explanation in the user's own language for selected verses via Google Gemini API
Technical Architecture
A three-layer structure:
- Mobile layer: Flutter + Riverpod for state management
- Backend: ASP.NET Core + Entity Framework, user and bookmark management
- AI microservice: Verse explanation service with Gemini API on FastAPI
Data storage with PostgreSQL, service orchestration with Docker, authentication with JWT.
Highlighted Features
- Offline support: Works without internet after Mushaf images and basic data are downloaded
- Language-aware AI: Verse explanation in the user's language — Turkish if reading Turkish, Arabic if reading Arabic, English if reading English
- Location-based prayer time: Separate scheduling for each city
Personal Motivation
I started this project for personal use, but I shaped architectural decisions with the question "how would this look at production level?" — that's why it has a three-tier, scalable structure.