rappasoft/laravel-boilerplate
Rappasoft Laravel Boilerplate is a batteries-included Laravel starter kit with a ready-made admin panel, authentication, user/role/permission management, localization, activity logs, and CRUD-friendly scaffolding for rapidly building secure web apps.
This is not a Composer package you require into an existing app — it's a full Laravel application skeleton. You consume it by cloning/forking the repo, not by installing it as a dependency.
git clone https://github.com/rappasoft/laravel-boilerplate.git my-app
cd my-app
composer install
cp .env.example .env
php artisan key:generate
# set DB creds in .env
php artisan migrate --seed
npm install && npm run dev # or npm run prod
Where to look first:
routes/backend.php and routes/frontend.php — the app is split into Backend (admin) and Frontend (public) via route files, separate controllers, and separate layouts. Understanding this split is the whole mental model.app/Http/Controllers/Backend/ — user management, roles, permissions live here. This is your reference for the "boilerplate pattern."app/Models/ + database/seeders/ — the seeded roles (Administrator, User) and permission set are what the first login depends on.https://laravel-boilerplate.com — still the best source for the localization, 2FA, social login, and CRUD conventions..env.example — note the social login keys, 2FA settings, and ACTIVE_THEME which switches the frontend theme.First use case: log in as the seeded admin, then use the built-in Backend > Access Management screens (Users, Roles, Permissions) to confirm the RBAC stack works before you touch any code. That single flow exercises auth, roles/permissions, localization, and the Backend layout all at once.
Treat it as a codebase you own, not a library you call. Everything is publishable/overridable by editing files directly. There is no vendor boundary.
IndexController (list + datatables), CreateController/StoreRequest, EditController/UpdateRequest, DestroyController, plus a FormRequest with authorize() calling the permission check. Follow this and every new resource feels native.spatie/laravel-permission. Guard against hardcoding hasRole('Administrator') — use the permission middleware (permission:view users) that the boilerplate sets up, since roles are seeded and editable at runtime.spatie/laravel-translatable. UI strings live in resources/lang/{locale}/. When adding a translatable field, add the column as json and the property to $translatable — then the existing language-switcher and Backend form partials handle the rest.app/Providers/FormServiceProvider (or equivalent) defines Bootstrap form macros. Reuse Form::text(), Form::select() etc. instead of raw HTML so validation error state renders consistently.google2fa), social login (laravel/socialite), email confirmation, and password expiry are already implemented. Configure via .env + config/boilerplate.php rather than rewriting the auth controllers.Integration tips. If you have an existing Laravel app, don't merge this wholesale — cherry-pick the pieces you want (Backend layout, RBAC wiring, Form macros, 2FA controllers) by diffing against a fresh Laravel 8 install. That's realistically the only way to "leverage" it in a modern project.
composer require-able. There's no consumable package API, no service provider to register, no facade. Attempting require rappasoft/laravel-boilerplate will fail or produce a useless skeleton inside vendor/. Clone or fork.composer.json pins framework and dependency versions that conflict with Laravel 10/11 (e.g., spatie/laravel-permission, laravel/socialite, older symfony/*). Upgrading the whole app is a project, not a task.database/seeders/ and the README for default passwords; remove or force a reset on first deploy.config/boilerplate.php is the source of truth for feature toggles (registration, email confirmation, 2FA, social providers). Editing .env alone won't enable features if the config is cached — remember php artisan config:clear after changes.php artisan route:cache occasionally surfaces name collisions when you add resources. Prefix new resource names (backend.users.*, frontend.posts.*).spatie/laravel-permission + Filament for the admin side — that combination covers 90% of what this boilerplate gave you, actively maintained.Backend middleware groups, the FormServiceProvider macros, spatie/laravel-translatable on models, and event hooks on user lifecycle. These are the seams worth preserving if you're maintaining a fork.How can I help you explore Laravel packages today?