Open-Source Laravel Mosque Management System | Mohamed Said      [  ![Mohamed Said](https://cdn.msaied.com/01KT78WE565VEMM3PSNQAAB0MH.png)   Mohamed Said Laravel Backend Engineer  ](https://msaied.com) [ Home ](https://msaied.com) [ Projects ](https://msaied.com/projects) [ Articles  ](https://msaied.com/articles) [ Certificates ](https://msaied.com/certificates) [ Contact ](https://msaied.com#contact-section) 

       [  ](https://github.com/EG-Mohamed)       

 [ Home ](https://msaied.com) [ Projects ](https://msaied.com/projects) [ Articles ](https://msaied.com/articles) [ Certificates ](https://msaied.com/certificates) [ Contact ](https://msaied.com#contact-section) 

 [home](https://msaied.com) / [articles](https://msaied.com/articles) / Mosque Management System: Open-Source Laravel Platform 

  ![Mosque Management System: Open-Source Laravel Platform](https://cdn.msaied.com/30/01KT7N2BTD1FABQVXS7GJ2EXP1.jpg)

 Laravel Filament Open Source Mosque Multilingual Pest 

Mosque Management System: Open-Source Laravel Platform
======================================================

 7 min read 

Introduction
------------

The **Mosque Management System** is a free, open-source, full-stack Laravel application for mosque websites and day-to-day digital operations. It combines a public website, a Filament-powered admin panel, multilingual content management, prayer-time automation, Islamic content publishing, contact management, media galleries, and a flexible page builder in one production-ready codebase.

The project was built by **Engineer Mohamed Saied** — [msaied.com](https://msaied.com/) — and is offered as **ongoing charity, صدقة جارية**, for the Muslim community. Contributions, improvements, translations, and forks are warmly welcomed.

Repository: [github.com/EG-Mohamed/Mosque](https://github.com/EG-Mohamed/Mosque)

Built for Real Mosque Websites
------------------------------

The system is designed to cover the common needs of a mosque’s online presence without requiring every mosque to build a custom CMS from scratch.

### Public website sections

The frontend includes routes and content areas for:

- **Home page** with dynamic page-builder blocks
- **Prayer times** with daily and monthly schedules
- **Special prayers** such as Ramadan, Eid, weekly, and other grouped prayers
- **Events** for programs and activities
- **Announcements** for community notices
- **News archive** with categories and detail pages
- **Media gallery** with collection filters
- **Islamic library** for Quran verses and hadith content
- **Jumu'ah khutba archive** with category filters and detail pages
- **Staff profiles** for scholars and mosque team members
- **Contact page** with a live form and Google Maps embed
- **Custom pages** powered by the reusable page builder

Example public routes:

```bash
/                    # Home
/page/{slug}         # Custom pages
/prayer-times        # Prayer schedule
/events              # Events listing
/announcements       # Announcements
/news                # News archive
/news/{slug}         # News detail
/gallery             # Media gallery
/islamic-library     # Quran & hadith
/khutba              # Khutba archive
/khutba/{slug}       # Khutba detail
/staff               # Team & scholars
/contact             # Contact form

```

Laravel 12 + Filament 5 Admin Panel
-----------------------------------

The admin panel is built with **Filament 5** on top of **Laravel 12**, giving mosque administrators a powerful interface for managing content and operations.

Key admin capabilities include:

- Dashboard with mosque settings
- Full CRUD for the main content sections
- Dedicated resources for news, news categories, khutbas, and khutba categories
- Prayer time management with configurable adjustment factors and offsets
- Special prayer management with type classification and recurring support
- Contact submission inbox
- Language management from the UI
- Translation string management from the admin panel
- Dynamic navigation links for published non-home pages
- Home page toggle that forces the `home` slug, published state, and navigation visibility
- Model caching support through a `Cacheable` trait

The admin experience also includes practical field components such as:

- Phone input with country picker via `ysfkaya/filament-phone-input`
- Map picker for mosque location via `salemaljebaly/filament-map-picker`
- Font Awesome Blade icons via `owenvoke/blade-fontawesome`

Dynamic Multilingual Architecture
---------------------------------

One of the strongest parts of the project is its **database-driven language system**. Languages are not hardcoded in config files. They can be added, removed, and managed directly from the admin panel.

The project ships with **Arabic, English, and Polish preconfigured**, including automatic RTL/LTR layout switching. Arabic works out of the box with proper right-to-left support.

The localization stack includes:

- `spatie/laravel-translatable` for translatable model fields
- `bezhansalleh/filament-language-switch` for switching the Filament language context
- `statikbe/laravel-filament-chained-translation-manager` for editing translation strings in the admin panel
- `abdulmajeed-jamaan/filament-translatable-tabs` for clean translation tabs in forms
- `coding-socks/lost-in-translation` and `eg-mohamed/laravelmissingtranslations` for detecting missing translations during development

Adding a new language is intentionally simple:

1. Open the admin panel.
2. Go to **Languages**.
3. Click **Add Language**.
4. Add a language such as French, Urdu, Turkish, or any other required locale.

No code changes are required for that workflow.

Flexible Page Builder with 25+ Blocks
-------------------------------------

The project includes a reusable page builder powered by `redberry/page-builder-plugin`. This gives mosque teams the flexibility to build pages without changing Blade templates for every new layout.

Available blocks include:

- `Hero`
- `Slider`
- `Prayer Times`
- `Special Prayers`
- `Events`
- `Announcements`
- `News`
- `Quran Verse`
- `Hadith`
- `Staff`
- `Gallery`
- `Rich Text`
- `Contact Map`
- `Custom HTML`
- `Spacer`
- `Khutba Archive`
- `Donation`
- `Testimonial`
- `FAQ`
- `CTA`
- `Video`
- `Counter`
- `Contact Form`
- `Qibla Direction`
- `Islamic Calendar`
- `Ramadan Schedule`
- `Live Stream`
- `Zakat Calculator`
- `Iframe`

This block-based approach makes the system useful for many types of mosque pages: a Ramadan landing page, a donation page, a khutba archive page, a youth program page, or a general information page.

Prayer Times and Scheduler Automation
-------------------------------------

Prayer time management is a core feature. The system supports daily and monthly schedules, configurable adjustment factors, auto-generated iqamah times, Jummah scheduling, Taraweeh offsets, and a dedicated special-prayer module.

The automatic prayer-time generation job is scheduled in `routes/console.php`:

```php
use Illuminate\Support\Facades\Schedule;

Schedule::command('mosque:generate-prayer-times')->dailyAt('00:05');

```

For local development, the scheduler must be running:

```bash
php artisan schedule:work

```

For production, configure cron to run Laravel’s scheduler every minute:

```bash
* * * * * php /path-to-your-project/artisan schedule:run >> /dev/null 2>&1

```

If the scheduler is not running, the automatic prayer-time generation command will not execute.

Testing with Pest 4
-------------------

The project ships with a near-complete **Pest 4** test suite covering both the public frontend and the Filament admin panel.

Run the tests with:

```bash
php artisan test
# or
./vendor/bin/pest

```

The suite covers:

- Public page rendering
- Form submissions
- Admin CRUD operations
- Page builder blocks
- Frontend routes and admin resources in separate test files

The test environment uses an in-memory SQLite database for fast feedback, with Laravel-specific testing helpers from `pestphp/pest-plugin-laravel` and clean failure output through `nunomaduro/collision`.

Tech Stack
----------

| Layer | Package | Version | |---|---|---| | Language | PHP | ^8.2 | | Framework | Laravel | ^12.55 | | Admin Panel | Filament | ^5.4 | | Settings | outerweb/filament-settings | ^2.3 | | Localization | spatie/laravel-translatable | ^6.13 | | Language Switch | bezhansalleh/filament-language-switch | ^4.1 | | Translation Manager | statikbe/filament-chained-translation-manager | ^4.2 | | Translation Tabs | abdulmajeed-jamaan/filament-translatable-tabs | ^5.0 | | Page Builder | redberry/page-builder-plugin | ^3.0 | | Map Picker | salemaljebaly/filament-map-picker | ^1.0 | | Phone Input | ysfkaya/filament-phone-input | ^4.1 | | Icons | owenvoke/blade-fontawesome | ^3.2 | | Testing | pestphp/pest | ^4.4 | | Frontend | Vite + Tailwind CSS | latest |

Installation
------------

### Quick setup

The fastest setup path is the Composer script:

```bash
composer run setup

```

This installs PHP dependencies, copies `.env`, generates the application key, runs migrations, installs npm dependencies, and builds frontend assets.

### Manual setup

Clone the repository:

```bash
git clone https://github.com/EG-Mohamed/Mosque.git
cd Mosque

```

Install dependencies:

```bash
composer install
npm install

```

Create the environment file and generate the app key:

```bash
cp .env.example .env
php artisan key:generate

```

Configure your database in `.env`:

```bash
APP_NAME="Mosque"
APP_URL=http://127.0.0.1:8000

DB_CONNECTION=mysql
DB_DATABASE=mosque
DB_USERNAME=root
DB_PASSWORD=

```

Run migrations, seed the database, and link storage:

```bash
php artisan migrate --seed
php artisan storage:link

```

> The demo seeder requires `public/images/ph.jpg` as a placeholder. Restore it before running `migrate:fresh --seed` if it has been removed.

Start development:

```bash
composer dev

```

This starts the Laravel server, queue worker, Pail log viewer, and Vite dev server concurrently.

Demo Admin Access
-----------------

After seeding, the admin panel is available at `/admin`.

| Field | Value | |---|---| | Email | `admin@mosque.test` | | Password | `password` |

Why This Project Matters
------------------------

Many mosques need reliable digital infrastructure, but not every community has the budget or engineering team to build and maintain a custom platform. This project addresses that gap by providing a free, extensible, multilingual Laravel application that can be adapted to different communities, languages, and operational needs.

Because it is open source, developers can:

- Add new features
- Improve existing modules
- Contribute translations
- Fix bugs
- Extend the page builder
- Adapt the system for local mosque workflows

Conclusion
----------

The **Mosque Management System** is more than a Laravel and Filament application. It is a practical open-source tool for Muslim communities and a form of **صدقة جارية** designed to keep benefiting others over time.

If you work with a mosque, contribute to Islamic open-source software, or want to help improve multilingual community platforms, this project is worth exploring, using, and supporting.

 More Articles

 [View all →](https://msaied.com/articles) 

 [ ![RulesJson: Convert Laravel Validation Rules to JSON Request Bodies](https://cdn.msaied.com/32/01KT7NRXW0Q33S81H8AX48ZMYJ.jpg) 

### RulesJson: Convert Laravel Validation Rules to JSON Request Bodies

RulesJson is a free client-side tool that converts Laravel validation rules into ready-to-use JSON request bod...

 4 Jun 2026     12 min read  

  Read    

 ](https://msaied.com/articles/rulesjson-convert-laravel-validation-rules-to-json-request-bodies) [ ![OpenCharity: Open-Source Charity Management Platform Built with Laravel and Filament](https://cdn.msaied.com/31/01KT7NCC0QYT01D5XYZJGZ8JQE.jpg) 

### OpenCharity: Open-Source Charity Management Platform Built with Laravel and Filament

OpenCharity is an open-source Laravel and Filament platform for managing charity cases, families, visits, assi...

 4 Jun 2026     17 min read  

  Read    

 ](https://msaied.com/articles/opencharity-open-source-charity-management-platform-built-with-laravel-and-filament) [ ![Referenceable: Flexible Template-Driven References for Laravel](https://cdn.msaied.com/28/01KT7MBVQD1B1QA62RM6Y4XS1J.jpg) Laravel PHP Open Source 

### Referenceable: Flexible Template-Driven References for Laravel

A comprehensive Laravel package that makes models referenceable with customizable formats, sequential numberin...

 3 Jun 2026     6 min read  

  Read    

 ](https://msaied.com/articles/referenceable-flexible-template-driven-references-for-laravel) 

  [  ![Mohamed Said](https://cdn.msaied.com/01KT78WE565VEMM3PSNQAAB0MH.png)   Mohamed Said Laravel Backend Engineer  ](https://msaied.com)Senior Backend Engineer specializing in Laravel, scalable SaaS platforms, APIs, and cloud infrastructure. I build secure, high-performance web applications that help businesses grow.

Explore

- [Home](https://msaied.com)
- [Projects](https://msaied.com/projects)
- [Articles](https://msaied.com/articles)
- [Certificates](https://msaied.com/certificates)
- [Contact](https://msaied.com#contact-section)

Connect

- [   hello@msaied.com ](mailto:hello@msaied.com)
- [   +20 109 461 9204 ](tel:+201094619204)

© 2026 Mohamed Said. All rights reserved.

 [  ](https://github.com/EG-Mohamed) [  ](https://www.linkedin.com/in/msaiedm/) [  ](https://wa.me/201094619204) [  ](mailto:hello@msaied.com)
