yasiramin380/foundation-kit

The skeleton application for the Laravel framework.

Installs: 2

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Forks: 0

Type:project

pkg:composer/yasiramin380/foundation-kit

dev-main 2026-02-22 16:56 UTC

This package is not auto-updated.

Last update: 2026-02-23 09:09:15 UTC


README

A production-ready Laravel 12 + React 19 starter with Inertia.js, TypeScript, and a custom module system. Built for scalable, modular web applications.

Features

  • Laravel 12 (PHP 8.2+) with React 19 and TypeScript
  • Inertia.js (React) for a single-page app experience without building an API
  • Custom module system — backend in app/Modules/, frontend in resources/js/modules/ (Dashboard, Privileges, AppSetting included)
  • Authentication — Laravel Fortify (registration, login, 2FA, email verification, password reset)
  • Roles & permissions — Spatie Laravel Permission (backend + frontend hooks)
  • UI — shadcn/ui (Radix) + Tailwind CSS 4
  • Type-safe routes — Laravel Wayfinder (generated route helpers for the frontend)
  • Real-time — Laravel Reverb (WebSockets)
  • Developer tools — Laravel Telescope, Pest PHP, ESLint, Prettier, Laravel Pint
  • App settings — Backend-managed logo, site name, and general settings (used on welcome page and app shell)

Prerequisites

  • PHP 8.2+
  • Composer
  • Node.js 18+ (LTS recommended)
  • SQLite, MySQL, or PostgreSQL

Installation

# Clone the repository
git clone <repository-url>
cd foundation-kit

# PHP dependencies
composer install

# Environment
cp .env.example .env
php artisan key:generate

# Database
php artisan migrate

# Frontend
npm install
npm run build

# After Migration also run this
php artisan app:init --db --seed

Development

# Run Laravel, Reverb, queue worker, and Vite together
composer dev

This starts:

  • Laravel dev server
  • Laravel Reverb (WebSockets)
  • Queue worker
  • Vite dev server

For SSR (optional):

npm run build:ssr
composer dev:ssr

Project structure (overview)

PathDescription
app/Modules/Backend modules (Controllers, Models, Routes, migrations)
resources/js/modules/Frontend module pages and components (React)
resources/js/pages/Global Inertia pages (welcome, settings)
resources/js/components/Shared React components and shadcn/ui
resources/js/routes/Wayfinder-generated route definitions (do not edit by hand)

Useful commands

CommandDescription
php artisan make:module ModuleNameCreate a new module (backend + frontend scaffold)
php artisan wayfinder:generateRegenerate route/action types for the frontend
php artisan app:initBootstrap: .env, key, clear cache/logs, storage link, wayfinder
php artisan app:init --db --seedSame as above + fresh migrate + seed
composer testRun Pest tests and Pint
npm run lintESLint
npm run formatPrettier (resources/)
npm run typesTypeScript check

Documentation

Full documentation (architecture, modules, auth, permissions, helpers, UI, etc.) is available in the app at /documentations (Blade-based doc page).

Tech stack summary

Backend: PHP 8.2, Laravel 12, Fortify, Sanctum, Reverb, Spatie (permission, activity log, backup), Laravel Telescope, Wayfinder
Frontend: React 19, TypeScript, Inertia.js, Vite 7, Tailwind CSS 4, shadcn/ui (Radix), Lucide icons, TanStack Table
Tooling: Pest, Pint, ESLint, Prettier

License

MIT.