A Muslim Community Application build with Flutter.
![]() |
![]() |
![]() |
|---|---|---|
| Home Screen Prayer times and quick access to services |
Ask Imam Direct questions to religious scholars |
Rent Aula Book Masjid facilities for events |
![]() |
![]() |
![]() |
|---|---|---|
| Programs Masjid Program |
Donations Donations for Masjid |
Check Status Track donation, Ask Imam, rent place status |
![]() |
![]() |
![]() |
|---|---|---|
| Quran Read Al Quran |
Hadith Explore hadith arbain |
Prayer Times Collection of Doa |
- Secure login with google auth
- Role-based access (Staff, Jamaah)
- Password recovery
- Prayer Times: Real-time prayer schedules with notifications
- Quran Digital: Complete Quran with search and bookmark features
- Hadith Collection: Authentic hadith with search functionality
- Ask Imam: Direct communication with religious scholars
- Program Management: Program management
- Facility Booking: Rent Place In Masjid facilities
- Donation System: Secure digital donations
- Program announcements
- Ask Imam
- Donation
- Program creation and management
- Approval System
- Framework: Flutter 3.x
- Language: Dart
- Backend: Firebase (Firestore, Cloudify)
- State Management: Provider
- Local Storage: Hive, SharedPreferences
- UI Components: Material Design 3
- Image Handling: Cloudinary
- HTTP Client: Dio
- Flutter SDK (>=3.0.0)
- Dart SDK (>=3.0.0)
- Android Studio / VS Code
- Firebase project setup
- Cloudinary account
-
Clone the repository
git clone https://github.com/yourusername/e_masjid.git cd e_masjid -
Install dependencies
flutter pub get
-
Configure Firebase
- Create a Firebase project
- Add your
google-services.json(Android) andGoogleService-Info.plist(iOS) - Enable Authentication and Firestore
-
Configure Cloudinary
- Create a Cloudinary account
- Update the configuration in
lib/services/cloudinary_service.dart
-
Run the app
flutter run
- β Android (API 21+)
- β iOS (12.0+)
lib/
βββ animations/ # Custom animations
βββ config/ # App configuration
βββ mixins/ # Reusable mixins
βββ models/ # Data models
βββ providers/ # State management
βββ screens/ # UI screens
β βββ login/ # Authentication screens
β βββ modul_produktiviti/ # Productivity modules
β βββ modul_tanya/ # Q&A modules
β βββ petugas/ # Staff/admin screens
β βββ quran/ # Quran-related screens
βββ services/ # Business logic
βββ utils/ # Utility functions
βββ widgets/ # Reusable UI components
- Create a new Firebase project
- Enable Authentication (Email/Password, Google Sign-in)
- Create Firestore database
- Set up security rules
- Add configuration files to respective platform folders
Create a .env file in the root directory:
CLOUDINARY_CLOUD_NAME=your_cloud_name
CLOUDINARY_API_KEY=your_api_key
CLOUDINARY_API_SECRET=your_api_secret- View prayer times
- Read Quran and Hadith
- Ask questions to Imam
- Register for programs
- Book facilities
- Make donations
- Track application status
- Manage programs
- Handle applications
- Update announcements
- Monitor donations
- Manage facility bookings
- Responsive Design: Works seamlessly across all device sizes
- Smooth Animations: Flutter Staggered Animations for enhanced UX
- Loading States: Shimmer effects and loading indicators
- Firebase Authentication
- Role-based access control
- Secure API communication
- Data encryption
- Input validation
- Lazy loading for Quran content
- Image optimization with Cloudinary
- Efficient state management
- Memory management
- Offline support with Hive
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.









