PHPackages                             mgahed/laravel-starter - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Framework](/categories/framework)
4. /
5. mgahed/laravel-starter

ActiveLibrary[Framework](/categories/framework)

mgahed/laravel-starter
======================

This is my package laravel-starter

v1.3.18(2mo ago)296↓62.5%11MITJavaScriptPHP ^8.2

Since Mar 2Pushed 2mo ago1 watchersCompare

[ Source](https://github.com/Mgahed/laravel-starter)[ Packagist](https://packagist.org/packages/mgahed/laravel-starter)[ Docs](https://github.com/mgahed/laravel-starter)[ RSS](/packages/mgahed-laravel-starter/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (10)Dependencies (7)Versions (28)Used By (1)

Mgahed Laravel Starter
======================

[](#mgahed-laravel-starter)

[![Packagist Version](https://camo.githubusercontent.com/85adf924ff6460b644108567a9be7c170167cd4d5278d5dc89b507adcb1d270b/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6d67616865642f6c61726176656c2d737461727465723f7374796c653d666c617426636f6c6f723d626c7565)](https://camo.githubusercontent.com/85adf924ff6460b644108567a9be7c170167cd4d5278d5dc89b507adcb1d270b/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6d67616865642f6c61726176656c2d737461727465723f7374796c653d666c617426636f6c6f723d626c7565)[![Packagist Downloads](https://camo.githubusercontent.com/4a4b27b9ebeaba023d84fe28ed0f1c51a4d1e367c4ff12333216a2f197ae3857/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6d67616865642f6c61726176656c2d737461727465723f7374796c653d666c617426636f6c6f723d626c7565)](https://camo.githubusercontent.com/4a4b27b9ebeaba023d84fe28ed0f1c51a4d1e367c4ff12333216a2f197ae3857/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6d67616865642f6c61726176656c2d737461727465723f7374796c653d666c617426636f6c6f723d626c7565)[![Packagist License](https://camo.githubusercontent.com/0525c516f49f83f391e1de1820f606ac0aabf2f3048d54c77e30a9635af2b29b/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f6d67616865642f6c61726176656c2d737461727465723f7374796c653d666c617426636f6c6f723d677265656e)](https://camo.githubusercontent.com/0525c516f49f83f391e1de1820f606ac0aabf2f3048d54c77e30a9635af2b29b/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f6d67616865642f6c61726176656c2d737461727465723f7374796c653d666c617426636f6c6f723d677265656e)[![Packagist PHP Version Support](https://camo.githubusercontent.com/f4c5a02c593db15c86a883c64bc5c7ba8936143cee6a552ebcad46a6bc16026c/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f6d67616865642f6c61726176656c2d737461727465723f7374796c653d666c617426636f6c6f723d707572706c65)](https://camo.githubusercontent.com/f4c5a02c593db15c86a883c64bc5c7ba8936143cee6a552ebcad46a6bc16026c/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f6d67616865642f6c61726176656c2d737461727465723f7374796c653d666c617426636f6c6f723d707572706c65)[![Packagist Stars](https://camo.githubusercontent.com/e0524eaf2fa07fcb96452b31118260e14706d5c7baf96180194208c2fea47a82/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f73746172732f6d67616865642f6c61726176656c2d737461727465723f7374796c653d666c617426636f6c6f723d6f72616e6765)](https://camo.githubusercontent.com/e0524eaf2fa07fcb96452b31118260e14706d5c7baf96180194208c2fea47a82/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f73746172732f6d67616865642f6c61726176656c2d737461727465723f7374796c653d666c617426636f6c6f723d6f72616e6765)

The package `mgahed/laravel-starter` allows you to easily use starter templates for your Laravel projects.

This is a PHP Package made to serve a plain Laravel project, This package add authentication and (view, edit, delete) profile using Saul theme. And you can easily customize and use the theme features in your project.

Warning

Please note that this package is still in development.

Configuration
-------------

[](#configuration)

You can customize the behavior of the authentication views by adding the following variables to your `.env` file:

- `REGISTRATION_ENABLED`: Set to `false` to disable the "Create an account" link on the login page. Defaults to `true`.
- `SOCIAL_AUTH_ENABLED`: Set to `false` to disable the social authentication buttons (e.g., Google, Facebook) on the login page. Defaults to `true`.

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

[](#installation)

```
composer require mgahed/laravel-starter
```

Publishing
----------

[](#publishing)

#### assets

[](#assets)

```
php artisan vendor:publish --tag="mgahed-laravel-starter-assets"
```

This will add folder assets to the `public` path in your Laravel project.

#### migrations

[](#migrations)

```
php artisan vendor:publish --tag="mgahed-laravel-starter-migrations"
```

#### seeders

[](#seeders)

```
php artisan vendor:publish --tag="mgahed-laravel-starter-seeders"
```

Running Migrations
------------------

[](#running-migrations)

```
php artisan migrate --path=database/migrations/mgahed-laravel-starter
```

Running Seeders
---------------

[](#running-seeders)

```
php artisan db:seed --class=Mgahed\LaravelStarter\Database\Seeders\MgahedStarterSitesSeeder
```

```
php artisan db:seed --class=Mgahed\LaravelStarter\Database\Seeders\MgahedStarterMenusSeeder
```

Features supported
------------------

[](#features-supported)

- Authentication
- Profile (view, edit, delete)
- Easy translation system with multi-language support
- Automated translation job (see [Translation Job Guide](TRANSLATION_JOB_GUIDE.md))
- Menu management system with multi-language support
- Saul Theme supported
- Easy to customize
- Supports `mcamara/laravel-localization` package
    - Run `composer require mcamara/laravel-localization`
    - publish the config file `php artisan vendor:publish --provider="Mcamara\LaravelLocalization\LaravelLocalizationServiceProvider"`
    - See docs [here](https://github.com/mcamara/laravel-localization)

Menu Management System
----------------------

[](#menu-management-system)

The package includes a powerful menu management system that supports multi-language menu titles. Menu titles are stored as JSON in the database and automatically integrate with `mcamara/laravel-localization` package.

### Creating a New Menu Item

[](#creating-a-new-menu-item)

Use the `mgahed:menu` command to create menu items with multi-language support:

```
php artisan mgahed:menu {slug} {route?} {parent?}
```

**Parameters:**

- `slug` (required): The unique slug for the menu item
- `route` (optional): The route name or URL (defaults to "#")
- `parent` (optional): The parent menu slug (for creating sub-menus)

**Interactive Multi-Language Input:**

The command automatically detects available languages from your `mcamara/laravel-localization` configuration and prompts you to enter the menu title for each language:

```
# Create a simple menu item
php artisan mgahed:menu products products.index

# Create a parent menu
php artisan mgahed:menu settings-parent

# Create a child menu with parent
php artisan mgahed:menu site-settings settings.index settings-parent
```

**Example Output:**

```
Please enter the menu title for each language:
Title for English (en): Products
Title for Arabic (ar): المنتجات
Title for German (de): Produkte

Successfully created menu with id: 5
+----------+------------+
| Language | Title      |
+----------+------------+
| en       | Products   |
| ar       | المنتجات  |
| de       | Produkte   |
+----------+------------+

```

**How it works:**

1. The command reads available languages from `config/laravellocalization.php`
2. Prompts you to enter a title for each configured language
3. Stores the titles as JSON in the database using `spatie/laravel-translatable`
4. If no localization config is found, defaults to English and Arabic

**Database Structure:**

Menu titles are stored as JSON in the `title` column:

```
{
  "en": "Dashboard",
  "ar": "لوحة التحكم",
  "de": "Armaturenbrett"
}
```

This allows seamless integration with all Mgahed packages that support multi-language features like `mgahed/ai`, `mgahed/core`, `mgahed/one`, etc.

Translation System
------------------

[](#translation-system)

The package includes a powerful translation job that can automatically translate your content to multiple languages using Google Translate API. The job integrates seamlessly with `mcamara/laravel-localization` to support all configured locales.

### Translation Management UI

[](#translation-management-ui)

The package now includes a user-friendly interface for managing translations within the admin panel. This UI provides the following features:

- **Scan Translations:** Discover new translation keys from your application and vendor packages.
- **Translate All:** Automatically translate all unpublished translations at once.
- **Publish Translations:** Publish all translations to the language files.
- **Unpublished Items:** View a list of translations that have not yet been published.
- **Translation Editor:** Edit translations for different languages in a user-friendly table.
- **Google Translate Integration:** Automatically translate individual keys using Google Translate.
- **Global Translation:** Apply a translation to all occurrences of a key across the system.

### Translation Scanning

[](#translation-scanning)

The translation scanner automatically discovers translation keys from your code and vendor packages. for example if you have alot of packages under `mgahed` By default, it scans:

- Application views and controllers
- All vendor packages under the `mgahed` namespace (configurable)

#### Scanning Multiple Vendor Packages

[](#scanning-multiple-vendor-packages)

You can configure the package prefix to scan all packages under a specific vendor namespace. This is useful when you have multiple packages like `mgahed/ai`, `mgahed/core`, `mgahed/one`, etc.

**Configuration:**

Add to your `.env` file:

```
PACKAGES_PREFIX=mgahed
```

**How it works:**

The scanner will automatically discover and scan all packages under `vendor/{PACKAGES_PREFIX}/`:

- Scans `resources/views` directory in each package
- Scans `src` directory in each package
- No need to manually configure each package

**Example:**

If you have the following packages:

- `vendor/mgahed/ai`
- `vendor/mgahed/core`
- `vendor/mgahed/one`
- `vendor/mgahed/laravel-starter`

All of them will be automatically scanned for translation keys without additional configuration.

**Running the Scan:**

```
use Mgahed\LaravelStarter\Jobs\ScanTranslationJob;

// Dispatch the job to scan for translation keys
ScanTranslationJob::dispatch();
```

### Quick Start

[](#quick-start)

```
use Mgahed\LaravelStarter\Jobs\TranslateJob;

// Translate from English to all supported languages
TranslateJob::dispatch('en');

// Translate from English to specific languages
TranslateJob::dispatch('en', ['ar', 'fr', 'es']);
```

For detailed usage instructions, see the [Translation Job Guide](TRANSLATION_JOB_GUIDE.md).

System Settings
---------------

[](#system-settings)

A new System Settings page lets you manage the company data used in document headers, footers, and the HACCP cover.

- Route: `system-settings.index`
- Cover preview: `system-settings.cover`
- Cover PDF: `system-settings.cover?format=pdf` (requires `dompdf/dompdf`)

Seeders:

- `SystemSettingsMenuSeeder` adds the menu item under `settings-parent`.
- `SystemSettingsSeeder` inserts the default company settings.

Supported Links
---------------

[](#supported-links)

- [Saul Theme](https://keenthemes.com/products/saul-html-free)

### Support me by clicking the button below

[](#support-me-by-clicking-the-button-below)

 [![](https://camo.githubusercontent.com/467fa8c82e73846b41fb1bcc52d28eafa2ca1d3f297c445ba9476403e96bc403/68747470733a2f2f63646e2e70726f642e776562736974652d66696c65732e636f6d2f3563313465333837646162353736666536363736383963662f3637306635613031633031656139313931383039333938635f737570706f72745f6d655f6f6e5f6b6f66695f626c75652e706e67)](https://ko-fi.com/mgahed)

###  Health Score

45

—

FairBetter than 92% of packages

Maintenance85

Actively maintained with recent releases

Popularity14

Limited adoption so far

Community12

Small or concentrated contributor base

Maturity60

Established project with proven stability

 Bus Factor1

Top contributor holds 95.6% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~15 days

Recently: every ~2 days

Total

25

Last Release

78d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/7ac4d6fc36e59659d2659b358348d3ecec8ea11317989ff989bf3b5954c44d12?d=identicon)[Mgahed](/maintainers/Mgahed)

---

Top Contributors

[![Mgahed](https://avatars.githubusercontent.com/u/41325933?v=4)](https://github.com/Mgahed "Mgahed (43 commits)")[![joue-zero](https://avatars.githubusercontent.com/u/89282386?v=4)](https://github.com/joue-zero "joue-zero (2 commits)")

---

Tags

laravelLaravel Startermgahedmgahed.com

###  Code Quality

Static AnalysisPHPStan

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/mgahed-laravel-starter/health.svg)

```
[![Health](https://phpackages.com/badges/mgahed-laravel-starter/health.svg)](https://phpackages.com/packages/mgahed-laravel-starter)
```

###  Alternatives

[laravel/browser-kit-testing

Provides backwards compatibility for BrowserKit testing in the latest Laravel release.

5139.4M286](/packages/laravel-browser-kit-testing)[lunarstorm/laravel-ddd

A Laravel toolkit for Domain Driven Design patterns

17959.0k](/packages/lunarstorm-laravel-ddd)[bezhansalleh/filament-plugin-essentials

A collection of essential traits that streamline Filament plugin development by taking care of the boilerplate, so you can focus on shipping real features faster

27584.7k16](/packages/bezhansalleh-filament-plugin-essentials)[jonpurvis/squeaky

A Laravel Validation Rule to Help Catch Profanity.

706.0k](/packages/jonpurvis-squeaky)[awcodes/filament-addons

A set of components / fields to extend Filament Admin.

3013.1k2](/packages/awcodes-filament-addons)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
