M Association Mobile Application
Discover the results
our collaborations
We redesigned Jakarta Murugan Temple’s website with an elegant and user-friendly interface, enabling seamless online pooja bookings, donations, and event registrations. This digital transformation improved visitor management, enhanced transparency, and increased temple donations by 4x
Overview
M Association is a multi-organization management app built with Flutter, designed to help users manage multiple associations or groups under one platform.
It offers a seamless experience to handle login credentials, organizational data, notifications, and session-based navigation, all backed by Firebase and local caching for smooth offline and online operations.
The app’s architecture follows a Bloc + Provider state management pattern, ensuring clean separation between UI, business logic, and data handling.
It integrates Firebase for messaging, crash reporting, and version control, while maintaining user security through permission management and local data encryption.
Problem Statement
Previously, users who belonged to multiple organizations faced the following issues:
- Required to log in separately for each association, with no unified management.
- Difficulty in maintaining session states across organizations.
- No centralized control for app updates, notification management, or background service handling.
- Inconsistent permission handling and error reporting led to poor user experience.
- Lack of modular design made scalability and maintenance challenging for new organizations.
These challenges resulted in user confusion, redundant logins, and inefficient workflows, especially for members associated with multiple organizations.
Solution
To overcome these challenges, the M Association app was developed as a modular, scalable, and secure platform that enables users to manage multiple associations from a single interface.
- Firebase Integration : Initialized in the main app entry (main.dart) for push notifications, crash analytics, and app version management.
- MultiProvider Setup : Injects Bloc and repository providers globally to manage app state and logic efficiently.
- Dynamic Organization Handling : The AddCompany module allows users to add organizations dynamically by validating codes and loading backend-defined login fields (e.g., email, phone, number).
- Splash Screen Logic : Checks user session, fetches company list, and directs to the right screen — either LoginScreen or DashboardScreenFinal.
- Permission Management : Managed using permission_handler for storage, notification, camera, and microphone access, ensuring smooth multi-platform functionality.
- Firebase Messaging : Configured for both foreground and background notifications via a centralized MessagingService.
- Offline Data Handling : Utilizes Floor (SQLite ORM) and SharedPreferences for session persistence and local data caching.
- Error Handling & Security : Integrated Firebase Crashlytics for crash reporting, form-level validation, and encrypted local session storage for enhanced security.
Outcome
The M Association App now allows users to:
- Seamlessly manage multiple organizations from one login
- Receive real-time updates and push notifications
- Benefit from reduced app crashes through proactive error logging
- Experience smoother onboarding with dynamic form-based login
- Enjoy a consistent, fast, and secure mobile experience
Spiritual Journeys Shared by Our Visitors
Jakarta Murugan Temple has transformed beautifully! The new website is simple and user-friendly. Booking a pooja or donating online takes just minutes. Truly grateful to the temple team.







