Easy-to-manage touch screens
무료 오픈소스 터치스크린으로 USB 설정 가이드, 드래그‑드롭 편집기, 로컬 제어를 제공하며 Home Assistant용으로 제작되었습니다
Masjid jamat times, reminders and notices — Flutter app for Android & iOS, in Bangla and English.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Public beta. During the beta any signed-in account can register a masjid without SMS verification. The phone number is typed in and marked not verified for the admin. Set
kBeta = falseinmuslimin_app/lib/core/config.dartfor the stable release, which also needs Phone auth on the Blaze plan.
Free Android and iPhone app, in English and Bangla. It shows the masjids near you with each masjid's own jamat times, reminds you before jamat and shows masjid notices. Masjid authorities register their own masjid, and an admin verifies every profile before it goes public.
Website & downloads: https://litu173.github.io/Muslimin/
Muslimin/
├── muslimin_app/ Flutter app (Android, iOS, and a web build for the admin panel)
├── firebase/ Firestore rules + indexes, Cloud Functions (push for notices)
└── docs/ Landing page (GitHub Pages) with download links + QR code
| Who | How | Can do |
|---|---|---|
| User | Signs in after onboarding with email or Google (required by default; set kRequireAccount = false in lib/core/config.dart to allow guests) | Browse nearby masjids, follow them (More → Followed Masjids), get reminders and notices |
| Account | Email + password or Google (sign up, sign in, forgot password, change password, delete account) | Same as guest, plus followed masjids and reminders are saved in the cloud and synced across phones |
| Masjid authority | Account + phone (OTP-verified, or typed during beta) + registration rules | Manage their masjid's jamat, maktab, staff, live link and notices (after approval) |
| Super admin | users/{uid}.role = "superAdmin" set in the Firestore console | Approve, reject, suspend or restore masjids |
Data lives in Firebase, project muslimin-app-bd, with Firestore in asia-south1:
users/{uid} holds name, email, phone, role, follows and FCM tokens. A user can read and write only their own document and can't change their own role.masjids/{id} is readable by everyone once approved. Pending profiles are visible only to the owner and admins.notices/{id} is public to read. Only the approved masjid's owner can write.The rules are in firebase/firestore.rules. Deploy them with:
cd firebase
firebase deploy --only firestore
cd firebase/functions && npm install
cd .. && firebase deploy --only functions
role to superAdmin.cd muslimin_app
flutter run # uses the real Firebase project
flutter run --dart-define=DEMO=true
DEMO=true uses offline sample data. In demo mode:
[email protected] / demo1234 (owns a masjid) and [email protected] / admin1234 (super admin)123456Android users can also update from inside the app: More → About the App → App version checks the latest GitHub release and offers the new APK.
The landing page always links to releases/latest/download/Muslimin.apk and Muslimin-iOS.ipa, so publishing a new GitHub release updates the website automatically.
cd muslimin_app
flutter build apk --release
flutter build ios --release --no-codesign
cd build/ios/iphoneos && mkdir -p Payload && cp -r Runner.app Payload/ && zip -qr Muslimin-iOS.ipa Payload && cd -
cp build/app/outputs/flutter-apk/app-release.apk Muslimin.apk
gh release create v1.0.1 Muslimin.apk build/ios/iphoneos/Muslimin-iOS.ipa --title "Muslimin v1.0.1" --notes "…"
android/key.properties and android/app/upload-keystore.jks exist only on the build machine and are git-ignored. Back them up. Without them you can't publish updates that install over the existing app.IOS_URL in docs/index.html to the App Store link.The tokens come from the Figma file and live in lib/core/theme/:
| Token | Value |
|---|---|
| ink | #002828 |
| gold | #BB8907 |
| goldLight | #FFC940 |
| cream | #F3EED5 |
| card | #FFFDF5 |
| teal | #74C5B3 |
Other values:
app_colors.dart has a light and a dark value.Fonts bundled with the app are free under the SIL Open Font License 1.1. The licence texts are in muslimin_app/assets/licenses/ and also appear in the app under About → Open-source licences.
| Font | Used for | Author |
|---|---|---|
| Grenze Gotisch | Logo and prayer names | Omnibus-Type (Renata Polastri, Pablo Cosgaya) |
| Poppins | Latin text | Indian Type Foundry, Jonny Pinhorn |
| Hind Siliguri | Bangla text | Indian Type Foundry |
| Anek Bangla | Bangla digits (times, dates) – cut to BanglaDigits by tool/build_bangla_digits.py | Ek Type |
| Galada | Bangla prayer names | Black Foundry |
| Scheherazade New | Quran and dua text (full Uthmani script support) | SIL International |
The design asks for Li Ador Noirrit (Lipighor) for Bangla times. Lipighor's free licence does not allow redistributing the font file, which bundling it in an app would do, so Anek Bangla is used until Lipighor grants permission ([email protected]); then replace the BanglaDigits files.
The logo and English prayer names are vector artwork from the design (assets/brand, assets/prayers).
The Figma design uses Hidayatullah by Anthonie Van Hayu (ARToni). Its free DEMO version is licensed for personal use only, so the app uses Grenze Gotisch instead. To use the original, buy a licence from MyFonts and replace the GrenzeGotisch family in pubspec.yaml and lib/core/theme/app_text.dart.