codewithdennis/larament

A starter template for building projects with Laravel and FilamentPHP.

Fund package maintenance!
CodeWithDennis

Installs: 366

Dependents: 0

Suggesters: 0

Security: 0

Stars: 208

Watchers: 3

Forks: 13

Open Issues: 0

Type:project


README

Pint PEST PHPStan Total Installs Latest Version on Packagist

Larament

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

Table of Contents

Features

Security and Testing

PESTPHP

  • PESTPHP: Preconfigured with test cases for streamlined testing. (Learn more)
  • Strict mode enabled via Should Be Strict:
    • Prevents lazy loading (N+1 queries).
    • Guards against discarding or accessing missing attributes.
  • Production safeguards: Prevents destructive commands in production. (Learn more)
  • Architectural testing with Archtest.
  • Static analysis using PHPStan.
  • Debugging with Laravel Debugbar.

Quality of Life

Global Search Keybinding

  • Custom login page autofills email and password with seeded data for quicker testing.
  • Built-in password generator action on the user profile and user resource pages.
  • Enhanced global search includes email addresses for better discoverability.
  • Auto-translatable component labels.
  • composer review: A single command to run Pint, PHPStan, and PEST.
  • Helper functions available through a dedicated helper file.
  • Custom php artisan make:filament-action command for generating Filament actions.

Design

User Global Search

  • Filament Panel's primary color is preset to blue.
  • Single Page Application (SPA) mode enabled by default.
  • Global search keybinding set to CTRL + K or CMD + K.
  • A ready-to-use FilamentPHP custom theme, including a sidebar separator.
  • Enhanced profile page with a built-in password generator.

Default User

A default user is seeded with the following credentials, pre-filled on the login page for quick access:

DEFAULT_USER_NAME="John Doe"
DEFAULT_USER_EMAIL="admin@example.com"
DEFAULT_USER_PASSWORD="password"

Included Packages

The following packages are pre-installed:

Installation

Using the Template

  • Create a repository using the Larament template.
  • Clone your repository to your local machine. Navigate to the project directory and run the following commands:
composer install
npm install && npm run build
cp .env.example .env
php artisan key:generate
php artisan migrate
php artisan db:seed

CLI Installation

Alternatively, you can use the following command to create a new project with Larament:

composer create-project --prefer-dist CodeWithDennis/larament example-app

Create a Terminal Alias

For easier usage in future projects, create an alias in your terminal:

alias larament="composer create-project --prefer-dist CodeWithDennis/larament"

Now, you can create a new project with a simple command:

larament my-cool-app