Screenshots

Project Goal

This project is a functional clone of the MASA App (Muslim Lifestyle Application by Muhammadiyah Software Labs), built as an assignment for the Mobile Computing course at UMS. The goal was to replicate its core Islamic utility features — prayer schedules, Al-Quran, Qibla compass, duas, and Islamic calendar — while applying professional development practices: feature-branch workflow, pull request reviews, and EAS cloud builds.

Features

mosque

Prayer Schedule

Real-time countdown to the next salat with dynamic time calculations and GPS-based location detection.

explore

Qibla Compass

Magnetometer sensor tracking with interactive manual fallback for emulators. ±6° precision indicator.

menu_book

Al-Quran Digital

All 114 surahs with Arabic typography, Latin transliteration, and Indonesian translations per ayah.

self_improvement

Daily Duas

Categorized dua collection with Arabic text, transliteration, fadhilah, and reference sources.

calendar_month

Islamic Calendar

Dual-date monthly grid mapping Gregorian to Hijri dates with Islamic holiday indicators.

swap_horiz

Date Converter

Bidirectional Hijri–Gregorian converter using Julian Day algorithm for accurate date math.

bookmark

Bookmarks

Save and track reading progress across Al-Quran surahs with categorized bookmark management.

lock

AuthenticationDemo / dev only

Clerk-powered email, password & Google OAuth login. Automatic mock mode for local testing without API keys. Full Clerk authentication only works in development — production OAuth is not configured for public use.

Technology

Libraries, frameworks, and external services used across the project.

Architecture

The project uses a feature-branch workflow. Each member worked on a dedicated branch and opened a pull request into develop for review before merging. The final state was merged into main for submission.

commit
mainSubmission branch — stable, reviewed, buildable
merge
developIntegration branch — all features merged here via PR before main
fork_right
feature/ibadah-bookmarkHome, prayer schedule, doa list & detail, bookmark — Onic
fork_right
feature/al-quranTab navigation, surah list, surah detail — Mahardika
fork_right
feature/profileAuth screens, profile, Clerk integration — Affan
fork_right
feature/eas-buildEAS configuration, standalone APK pipeline — Guruh
fork_right
documentationREADME, screenshots, .md files — Mahardika & Affan

Contributions

Commit history from the project Git log, grouped by author. All 4 team members are from Universitas Muhammadiyah Surakarta (UMS).

Onic AgustinoL200234275
Home · Prayer · Doa · Bookmark
  • a0bdc1efeat: setup baseline project configuration and UI components
  • 646ca91feat(constants): add hardcoded prayer (doa) data
  • d642d4ffeat(doa): add daily prayer list screen
  • de0ce6bfeat(doa): add prayer detail screen by category
  • bceca88feat(salat): add full prayer times schedule screen using Aladhan API
  • 182bf53feat(home): add home screen with prayer schedules and daily prayers
  • d69864efeat(bookmark): add bookmark screen for last read surah
Mahardika Fatwa RamadhanL200248067
Al-Quran · Navigation · Documentation
  • f4ab1cfadd layout for bottom tab navigation
  • 17c894cadd quran interface
  • dd49d25adding surah id and list
  • ec573f7Create documentation folder, add placeholder.txt
  • 01b32f7add .md files for documentation
  • b9fb4fbAdd files via upload
  • ce178d7add home screenshot
  • c3a8ee1add prayer screenshot
  • 5fb0d81add kiblat screenshots
  • d8a2cc5add surah screenshots
  • f69f730add doa screenshots
  • cbe4e10add calendar screenshots
  • d611ca3add bookmark screenshot
  • 0ec14cfEnhance README with more project screenshots
Guruh WidisaputraL200244058
EAS Build · Project Setup
  • 2416c43feat: initialize project with Expo and TypeScript setup
  • c9f80f4feat: configure EAS build for standalone APK
  • e1e925dMerge develop into feature/eas-build
  • 1db4bcbMerge pull request #6 from feature/eas-build
  • d4afd1aMerge pull request #8 from develop
Affan Ilham ArsyilaL200234024
Auth · Profile · Audio · Salat Hook · Showcase
  • e3b6619feat(auth): add sign-in and sign-up screens with Clerk integration
  • f64795bfeat(profile): add profile screen with user information and settings
  • 40fedacrefactor: remove unused components and consolidate authentication layout
  • 4d1a306refactor: remove unused files, update Clerk integration
  • 982dd6dfeat: integrate audio playback and bookmarking features
  • 0eb6b1efeat: update dependencies and add salat schedule hook
  • d859623fix: update default user name and email for unauthenticated users
  • 26a1d04refactor: remove prototype component
  • 857dfe3docs: update team member details in project documentation
  • 321832adocs: update formatting and enhance clarity in README
  • 0b162b6docs: update team member contributions in README
  • a7509a8feat: initialize showcase project with Next.js and TypeScript

Post-Submission Updates

The submitted version has been updated to address several issues and complete unfinished functionality identified after submission. Updates by cokecaine (Affan Ilham Arsyila, L200234024).

FeatureState at submissionFix
bookmarkBookmarksBroken — feature incompleteFully implemented bookmark save/remove and reading progress tracking
volume_upAudio PlaybackBroken — audio did not playIntegrated expo-audio with proper playback controls and state management
mosqueSalat ScheduleHardcoded times — no API fetchReplaced static data with a live prayer-time calculation hook using device GPS coordinates
location_onGPS LocationNot working — always fallback cityFixed expo-location permission flow and reverse geocoding to correctly resolve the user's city