The Zero-Boilerplate Enterprise: Unpacking khrnchn/mms

How a hyper-local Mosque Management System proves that Filament and modern Laravel have quietly solved the CRUD scaling problem for solo developers.

6 min read · khrnchn/mms

A lone architect sliding large brass modules into a clockwork city, representing the speed and modularity of building with FilamentPHP.
FilamentPHP allows developers to snap enterprise-grade CRUD interfaces together like prefabricated brass modules.
Key Takeaways

The Speedrun Architecture

Building an Enterprise Resource Planning (ERP) system has historically been a multi-team, multi-year endeavor. The Mosque Management System (MMS) shatters this assumption. Designed as a Final Year Project by a solo developer, the repository is a masterclass in exploiting the leverage provided by the modern PHP ecosystem. By utilizing Laravel 11 and FilamentPHP, the developer circumvented hundreds of hours of frontend scaffolding to deliver a hyper-local SaaS packed with Role-Based Access Control (RBAC), financial reporting, and event management.

Bypassing the Controller

The secret to this output velocity lies in FilamentPHP's Resource paradigm. In a traditional Laravel application, building an administration panel for community events requires creating a migration, a model, a controller, explicit routes in web.php, and multiple Blade templates for the create, read, update, and delete views.

In MMS, files like EventResource.php abstract all of this away. The UI, routing, and access control are auto-generated from a single PHP file. By defining a schema array, the developer instructs Filament to render a complete interactive dashboard without writing a single line of HTML.

The Filament Engine compiles PHP array schemas directly into full-stack CRUD interfaces.

Hyper-Local FinTech Integration

A generic global platform often fails at the hyper-local level. MMS succeeds by integrating directly with ToyyibPay, a Malaysian payment gateway, to handle community donations. The public-facing donation interface is driven by a Livewire component (Donation.php), which maintains reactivity without page reloads.

A traditional woven Malaysian basket with a sleek brass coin-sorting mechanism built into the rim, organizing coins as they drop.
MMS marries traditional community functions with modern, automated financial infrastructure.

Once a transaction is processed, the data flows into TransactionResource.php. Here, the system categorizes donations into specific Islamic charitable categories (sedekah, infaq, ramadhan). Filament's native Summarizer classes instantly aggregate these figures, providing real-time financial reporting directly on the admin tables.

A Congregation in the Database

Beyond finances, the system models the complex social fabric of a local congregation. The relational logic within the database tracks not just attendance, but specific volunteer roles.

In User.php, the events relationship leverages pivot tables (event_participants) to store granular data like joined status and assigned roles. This, combined with a nested ForumResource that behaves like a localized social network, ensures the software serves as the central nervous system for community operations.

ComponentTraditional Laravel MVCFilamentPHP Resource Architecture
RoutingManual entries in web.phpAuto-registered via Resource classes
ViewsMultiple Blade files (index, create, edit)Single PHP Array Schema
ControllersDedicated CRUD methods (store, update, destroy)Abstracted traits and base classes
Development TimeDays per core entityHours per core entity