A professional Laravel application starter kit with production-ready capabilities. Jalara provides a highly-polished, feature-rich foundation with integrated authentication, role-based authorization, comprehensive application settings, dynamic branding, and a complete testing suite.
- Authentication & Account Security: Secure authentication, password reset, email verification, and secure session handling powered by Laravel Fortify, with individual account management.
- RBAC & User Management: Granular roles and permissions system built with Spatie Laravel Permission, alongside an administrative panel for user provisioning, export, and management.
- Runtime Settings & Branding: Dynamic system configuration panels including general parameters, authorization rules, mail server setup, and brand assets customization.
- Notifications: Dedicated notification center supporting multiple delivery channels to keep users informed.
- Direct Messaging: In-app private chat system supporting instant messaging and rich reactions.
- Internal Documentation: Built-in documentation center allowing all authenticated users to read and search, with authoring and management restricted to super administrators.
- Media Processing: Integrated media storage and processing lifecycle supporting queued image processing, optimization, lifecycle tracking, and orphan cleanup.
- Localization: Multi-language support for English and Indonesian with a runtime-configurable default locale.
- Typed Inertia/Vue Frontend: Seamless SPA architecture combining Vue 3 and Inertia.js 3, powered by Laravel Wayfinder for end-to-end type-safe routing.
Before setting up Jalara Starter Kit, ensure your environment meets the following requirements:
- PHP:
^8.5(Composer dependencies require this version) - Composer:
^2.0 - Node.js: Version
^24.xrecommended - pnpm:
^11.0(pinned viapnpm-lock.yaml) - Database: SQLite (recommended for local development), MySQL, MariaDB, or PostgreSQL
- Laravel Installer:
^5.31 - ext-intl: Required. Month names in documents are read from ICU so they match what the browser renders.
- A Chrome or Chromium binary: Required only for PDF export, at runtime.
PDF export renders through Browsershot, which drives a real Chrome from Node. Two things follow, and neither is optional wherever documents are generated:
node_modulesmust be present in production, because Browsershot shells out to Node and requires thepuppeteerpackage. It is a runtime dependency, not a build-time one.- A Chrome or Chromium binary must exist, and
LARAVEL_PDF_CHROME_PATHmust point at it. Puppeteer's own browser download is declined inpnpm-workspace.yaml, so no browser is fetched duringpnpm install.
Nothing in CI catches a missing browser: the Pest suite fakes rendering, and only the end-to-end job runs a real one, pointed at the Chromium that Playwright installs. A misconfigured server therefore fails on the first document a user asks for, not in the pipeline.
Chromium's sandbox needs unprivileged user namespaces, which Ubuntu 23.10+ and most containers deny. Prefer granting the namespace permission over setting LARAVEL_PDF_NO_SANDBOX=true; the test suite sets that flag for itself, and production should not inherit it.
- Laravel Boost MCP: Version
^2.0for framework context, database query execution, and schemas - Serena MCP: For semantic search, precise code refactoring, and code memories
- Context7 MCP: For non-Laravel library documentation queries
- shadcn MCP: For searching and managing shadcn-vue components
Jalara installs as a community starter kit through the Laravel installer (version 5.31 or newer). Run the following command:
laravel new my-app \
--using=https://github.com/tomylana93/jalara-starter-kit \
--database=sqlite \
--pnpm \
--no-boost \
--no-interactionAfter installation, set up the development server:
composer run devFor detailed explanations of the installation flags, how to configure the environment, setup the Super Admin, or run background processes (scheduler, queue, broadcasting), see the Setup & Technical Documentation.
- Core Framework: Laravel 13
- PHP Version: PHP 8.5
- Authentication Engine: Laravel Fortify
- Authorization Engine: Spatie Laravel Permission
- Settings Store: Spatie Laravel Settings
- SPA Bridge: Inertia.js 3
- UI Library: Vue 3
- Styling: Tailwind CSS 4
- Backend Testing: Pest 5
- Frontend Testing: Vitest
- End-to-End Testing: Playwright
- Static Analysis & Refactoring: Larastan & Rector
- Formatting & Linting: Pint (PHP), ESLint & Prettier (Frontend)
Jalara is built with stability and software quality as first-class citizens. The codebase is backed by a comprehensive, multi-tiered validation suite spanning unit, feature, and end-to-end verification powered by Pest, Vitest, and Playwright. The project enforces a minimum application coverage threshold of 80%.
To maintain code standards, we utilize:
- Larastan & Rector for static analysis and automated refactoring of backend PHP code.
- Pint for PHP code formatting.
- ESLint & Prettier for frontend code linting and formatting.
Guidelines for branching, tiered CI checks, commit conventions, and release automation are documented in the Contributing & Releases Guidelines.
This project is open-source software licensed under the MIT License.