Skip to content
arsyad®

work/muslimapp · 02/04

Daily companion app for Muslim users

Role
Mobile engineer
Client
MuslimApp
Stack
Flutter, Cubit, Firebase
Platform
Mobile
Year
2022
Link
Private
MuslimApp prayer-time reminder screen
[01]overview.md

Overview

01 — problem

Prayer times, Qur'an, qibla and community features usually live in five different apps.

02 — what I did

Built the Flutter client — prayer schedule with local reminders, feature hub and polished store-ready screens.

03 — outcome

A single app covering daily worship, published on the stores with a consistent, friendly UI.

[02]screens/
Prayer time reminders
01 — Prayer time reminders
MuslimApp feature screen
02 — MuslimApp feature screen
MuslimApp feature screen
03 — MuslimApp feature screen
MuslimApp feature screen
04 — MuslimApp feature screen
MuslimApp feature screen
05 — MuslimApp feature screen
[03]under_the_hood.ts

Under the hood

Flutter appCubit stateLocal notificationsFirebaseSIHAT Kemenag times
fig — system overview
lib/features/prayer/prayer_cubit.dartdart
class PrayerCubit extends Cubit<PrayerState> {  PrayerCubit(this._repo, this._alarms) : super(const PrayerState.loading());  Future<void> load(City city, DateTime day) async {    final times = await _repo.timesFor(city, day);    await _alarms.reschedule(times.where((t) => t.reminderOn));    emit(PrayerState.ready(times, next: times.nextAfter(DateTime.now())));  }}
Reminders are rescheduled from the same state the UI renders, so they never drift apart.

Stack

  • Flutter
  • Cubit
  • Firebase
[04]results.log

Whatshipped.

  • Published on App Store and Google Play.
  • 14 feature modules behind one consistent design system.
next project → cd ../tomasTomasInternal mobility & driver app — Toyota Manufacturing