ghostcompiler / laravel-react-mantime
Laravel, React, Inertia, Mantine, and SSR starter kit.
Package info
github.com/ghostcompiler/laravel-react-mantime
Type:project
pkg:composer/ghostcompiler/laravel-react-mantime
Requires
- php: ^8.3
- inertiajs/inertia-laravel: ^3.0
- laravel/framework: ^13.0
- laravel/tinker: ^3.0
Requires (Dev)
- fakerphp/faker: ^1.23
- laravel/pail: ^1.2.5
- laravel/pint: ^1.27
- mockery/mockery: ^1.6
- nunomaduro/collision: ^8.6
- phpunit/phpunit: ^12.5.12
README
Demo
View the live demo at laravel-react-mantime.ghostcompiler.in.
Install
composer create-project ghostcompiler/laravel-react-mantime
laravel new demo --using=ghostcompiler/laravel-react-mantime
Custom Artisan Makers
This project adds a few frontend-focused generator commands in routes/console.php.
Pages
php artisan make:page Dashboard
Creates:
resources/pages/Dashboard.jsx
Nested paths are supported:
php artisan make:page Admin/Users
Creates:
resources/pages/Admin/Users.jsx
Components
php artisan make:component ThemeToggle
Creates:
resources/components/ThemeToggle.jsx
Nested paths are supported:
php artisan make:component Layouts/AppHeader
Creates:
resources/components/Layouts/AppHeader.jsx
Hooks
php artisan make:hook auth-user
Creates:
resources/hooks/AuthUser.js
The generated function is normalized to a React hook name:
export default function useAuthUser() { // }
Nested paths are supported:
php artisan make:hook auth/use-user
Creates:
resources/hooks/auth/UseUser.js
Library Modules
php artisan make:lib formatter
Creates:
resources/lib/Formatter.js
Nested paths are supported:
php artisan make:lib date/formatter
Creates:
resources/lib/date/Formatter.js
PHP Helpers
php artisan make:helper string-tools
Creates:
app/helpers/StringTools.php
Nested paths are supported:
php artisan make:helper formatting/string-tools
Creates:
app/helpers/formatting/StringTools.php
Existing Files
If the target file already exists, the command asks before overwriting:
resources/pages/Dashboard.jsx already exists. Overwrite it? (yes/no) [no]:
Use --force to overwrite without a prompt:
php artisan make:page Dashboard --force
Mantine Theme
Mantine is configured in resources/js/theme.js.
The active color scheme is stored in browser local storage under:
theme
Supported values are:
light
dark
auto
The theme toggle is mounted globally from resources/components/ThemeToggle.jsx, so every Inertia page can switch between light, dark, and auto mode.
Development And Build Environment
This starter was developed using ServBay as the local development environment.
Development Tool Used
- Local development tool:
ServBay - Website: www.servbay.com
ServBay your development friend
Testing And Build Machine
- Tested on:
Mac M4 - Built on:
Mac M4