PHPackages                             ethio/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. ethio/starter

ActiveProject[Framework](/categories/framework)

ethio/starter
=============

Laravel Starter Kit with 2FA, Roles &amp; Permissions, Backup, and Settings a robust Laravel 12+ starter boilerplate

1.x-dev(9mo ago)101[1 PRs](https://github.com/nigus-abate/laravel-starter/pulls)MITBladePHP ^8.2CI passing

Since Jul 23Pushed 7mo agoCompare

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

READMEChangelogDependencies (13)Versions (2)Used By (0)

[![Build Status](https://github.com/nigus-abate/ethio-starter/actions/workflows/ci.yml/badge.svg)](https://github.com/nigus-abate/ethio-starter/actions/workflows/ci.yml/badge.svg)[![License](https://camo.githubusercontent.com/4775a9f87e7b568dc6a7934e0f97b33cef8710f57c2f9372a814b967acf1e887/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f6e696775732d61626174652f6c61726176656c2d737461727465722e737667)](https://camo.githubusercontent.com/4775a9f87e7b568dc6a7934e0f97b33cef8710f57c2f9372a814b967acf1e887/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f6e696775732d61626174652f6c61726176656c2d737461727465722e737667)[![Laravel](https://camo.githubusercontent.com/81f59de722a919bf4e189fac52f0c376b512c62403d01c60816627c3f60a17ca/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c61726176656c2d31322b2d726564)](https://camo.githubusercontent.com/81f59de722a919bf4e189fac52f0c376b512c62403d01c60816627c3f60a17ca/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c61726176656c2d31322b2d726564)[![brand](https://private-user-images.githubusercontent.com/213416851/469723653-cf3c20e3-497a-416e-b2fc-2051867ea1e4.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzUxODU1NDMsIm5iZiI6MTc3NTE4NTI0MywicGF0aCI6Ii8yMTM0MTY4NTEvNDY5NzIzNjUzLWNmM2MyMGUzLTQ5N2EtNDE2ZS1iMmZjLTIwNTE4NjdlYTFlNC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYwNDAzJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDQwM1QwMzAwNDNaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT01M2ZhNmE2MDdmMDkyY2UxMTc0N2U4MDA3MTFlZjdlYjFkOWQ4MTQ4OWQ1ZTI2YjZmYTUxZTAxY2I0MDg5NTllJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.ghWml6ARdvofT7BfxrzeZHSkbzeuTe6QOXyI4wObWOc)](https://private-user-images.githubusercontent.com/213416851/469723653-cf3c20e3-497a-416e-b2fc-2051867ea1e4.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzUxODU1NDMsIm5iZiI6MTc3NTE4NTI0MywicGF0aCI6Ii8yMTM0MTY4NTEvNDY5NzIzNjUzLWNmM2MyMGUzLTQ5N2EtNDE2ZS1iMmZjLTIwNTE4NjdlYTFlNC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYwNDAzJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDQwM1QwMzAwNDNaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT01M2ZhNmE2MDdmMDkyY2UxMTc0N2U4MDA3MTFlZjdlYjFkOWQ4MTQ4OWQ1ZTI2YjZmYTUxZTAxY2I0MDg5NTllJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.ghWml6ARdvofT7BfxrzeZHSkbzeuTe6QOXyI4wObWOc)

⚙️ Laravel Starter Kit with 2FA, Roles &amp; Permissions
========================================================

[](#️-laravel-starter-kit-with-2fa-roles--permissions)

[![Screenshot 2025-07-23 at 03-59-18 Laravel Starter Dashboard](https://private-user-images.githubusercontent.com/213416851/469722770-b3e5965e-6de2-4877-8e7c-be8be114ea36.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzUxODU1NDMsIm5iZiI6MTc3NTE4NTI0MywicGF0aCI6Ii8yMTM0MTY4NTEvNDY5NzIyNzcwLWIzZTU5NjVlLTZkZTItNDg3Ny04ZTdjLWJlOGJlMTE0ZWEzNi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYwNDAzJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDQwM1QwMzAwNDNaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT04M2I5NTJmZGNhZDU0OTljNDIwYjIzYjYxNGFmYWZiZThjMGUwNTczY2I2YjhhMjdiZTYwZjI5MjMwZGFmMDJkJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.J4HAKeCr0xXAg3Wx6lj6FXS0mpFqhVDQjGy8L7NnD0E)](https://private-user-images.githubusercontent.com/213416851/469722770-b3e5965e-6de2-4877-8e7c-be8be114ea36.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzUxODU1NDMsIm5iZiI6MTc3NTE4NTI0MywicGF0aCI6Ii8yMTM0MTY4NTEvNDY5NzIyNzcwLWIzZTU5NjVlLTZkZTItNDg3Ny04ZTdjLWJlOGJlMTE0ZWEzNi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYwNDAzJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDQwM1QwMzAwNDNaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT04M2I5NTJmZGNhZDU0OTljNDIwYjIzYjYxNGFmYWZiZThjMGUwNTczY2I2YjhhMjdiZTYwZjI5MjMwZGFmMDJkJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.J4HAKeCr0xXAg3Wx6lj6FXS0mpFqhVDQjGy8L7NnD0E)A robust Laravel 12+ starter boilerplate packed with:

- ✅ **Two-Factor Authentication (2FA)**
- 🔐 **Role &amp; Permission System** via [Spatie](https://spatie.be/docs/laravel-permission)
- 🧑‍💻 **User Impersonation**
- 📝 **Activity Logging**
- 💾 **Backup &amp; Restore Management**
- 📨 **Notification Center**
- 🧩 **Job Queue Viewer**
- 🎨 **Auto SVG Avatars**
- ⚙️ **Settings Management**
- 🛠 Laravel UI or Breeze compatible

---

📦 Features
----------

[](#-features)

### ✅ Authentication &amp; Security

[](#-authentication--security)

- Login, registration, email verification
- Two-Factor Authentication (TOTP-based)
- Password update via profile
- Recovery code support for 2FA

### 🔐 Role &amp; Permission Management

[](#-role--permission-management)

- Fully integrated [Spatie Permission](https://spatie.be/docs/laravel-permission)
- Create, edit, delete roles and permissions
- Role-based middleware protection

### 👥 User &amp; Profile Management

[](#-user--profile-management)

- Manage users with full CRUD support
- Secure password updates
- Avatar upload + SVG fallback based on name

### 🔁 Impersonation

[](#-impersonation)

- Admins can impersonate other users
- Prevent impersonation of super-admins

### ⚙️ System Settings

[](#️-system-settings)

- Centralized config system with editing interface
- Bulk and single-key update support

### 📝 Activity Logs

[](#-activity-logs)

- Log key actions and changes
- View, delete, or clear logs
- Powered by `LogsActivity` trait

### 💾 Backup System

[](#-backup-system)

- Database backup and restoration
- Download backups
- Real-time progress tracking and cancellation

### 📨 Notification Center

[](#-notification-center)

- View all user notifications
- Mark individual or all notifications as read

### 🧱 Job Queue Viewer

[](#-job-queue-viewer)

- View and retry failed jobs
- Check job stats and history

---

🛠 Tech Stack
------------

[](#-tech-stack)

- Laravel 12+
- PHP 8.2+
- MySQL or PostgreSQL
- TailwindCSS + Alpine.js or Bootstrap (UI agnostic)
- Laravel UI or Breeze
- Spatie Laravel Permission
- Laravel Scheduler

---

🚀 Getting Started
-----------------

[](#-getting-started)

```
git clone https://github.com/nigus-abate/laravel-starter.git
cd ethio-starter

composer install
cp .env.example .env
php artisan key:generate
php artisan migrate --seed
npm install && npm run dev
php artisan serve
```

📚 Documentation
---------------

[](#-documentation)

See the [`docs/`](./docs) folder for feature-specific guides.

✅ Setup Checklist

```
Update .env:

```

```
        DB_* – Database connection

        MAIL_* – Mail for 2FA/verification

        FILESYSTEM_DISK – Storage settings for backups
```

🔐 Roles &amp; Permissions

Seeder to create roles, permissions, and users:

```
php artisan db:seed --class=RolesAndPermissionsSeeder
```

Example:

```
$user->assignRole('admin');
$user->givePermissionTo('impersonate users');
```

Default Roles &amp; Permissions:

```
Admin — Full access to users, roles, logs, settings, backups, and jobs

User — Limited access (e.g., view reports)

```

🔁 2FA Setup

User model includes:

```
'two_factor_secret',
'two_factor_recovery_codes',
'two_factor_enabled' => boolean
```

Usage:

```
Enable/disable from /profile

View or regenerate recovery codes

Protect routes with middleware: 2fa

```

📂 Route Overview Public Routes

```
/ → Homepage

/login, /register, /password/reset → Auth routes

```

Protected Routes (auth, verified, 2fa)

```
/dashboard – Authenticated user dashboard

/profile – Profile settings & 2FA management

/users – User CRUD

/roles, /permissions – Role & permission management

/activity-logs – View and manage logs

/settings – App config management

/backups – Backup create, restore, download

/jobs – View, retry, and manage job queue

/notifications – Notification center

```

Impersonation

```
POST /impersonate/{user}       # Start impersonation
POST /leave-impersonation      # Stop impersonation
```

🧪 Testing

Run full test suite:

```
php artisan test
```

```
Tip: Use Pest PHP for a more elegant testing experience.

```

🛡 Security Practices

```
Passwords are hashed via Laravel default hashing

2FA secrets and recovery codes hidden from JSON

Route middleware includes auth, verified, 2fa, can

Optional: Rate limiting, CAPTCHA, brute-force protection

```

📁 Folder Structure

```
app/Models/User.php — Roles, 2FA, avatar, impersonation

app/Http/Controllers/Admin — Admin-specific controllers

app/Traits/LogsActivity.php — Trait for activity logging

resources/views/ — Blade views

routes/web.php — Cleanly grouped & namespaced routes

```

📄 License

This project is open-source and available under the MIT License. 🤝 Credits

```
Laravel

Spatie Laravel Permission

Laravel UI

Niguse Abate

PRs and contributions welcome.
If you find it useful, star ⭐ the repo!

```

###  Health Score

27

—

LowBetter than 49% of packages

Maintenance60

Regular maintenance activity

Popularity3

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity34

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% 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

Unknown

Total

1

Last Release

299d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/7b2829734c47c8c4ac9e07dae07b808a5c8cc226f2ccf82a8cf8fc446067d0f1?d=identicon)[nigus-abate](/maintainers/nigus-abate)

---

Top Contributors

[![nigus-abate](https://avatars.githubusercontent.com/u/213416851?v=4)](https://github.com/nigus-abate "nigus-abate (14 commits)")

---

Tags

frameworklaravel

###  Code Quality

TestsPHPUnit

Code StyleLaravel Pint

### Embed Badge

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

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

###  Alternatives

[bagisto/bagisto

Bagisto Laravel E-Commerce

26.2k161.6k7](/packages/bagisto-bagisto)[krayin/laravel-crm

Krayin CRM

22.0k32.8k1](/packages/krayin-laravel-crm)[unopim/unopim

UnoPim Laravel PIM

9.4k1.8k](/packages/unopim-unopim)[nasirkhan/laravel-starter

A CMS like modular Laravel starter project.

1.4k2.7k](/packages/nasirkhan-laravel-starter)[lms-laravel/lms-laravel

The Laravel Framework.

4981.8k](/packages/lms-laravel-lms-laravel)[codewithdennis/larament

Larament is a time-saving starter kit to quickly launch Laravel 13.x projects. It includes FilamentPHP 5.x pre-installed and configured, along with additional tools and features to streamline your development workflow.

3691.5k](/packages/codewithdennis-larament)

PHPackages © 2026

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