cvtmal/laravel-react-starter

React Laravel starter kit with PHPStan/Larastan, Pint, Pest, and Rector based on the latest Laravel 12 React Starter Kit.

Installs: 6

Dependents: 0

Suggesters: 0

Security: 0

Stars: 3

Watchers: 1

Forks: 0

Open Issues: 0

Language:TypeScript

Type:project

dev-main 2025-03-21 18:39 UTC

This package is auto-updated.

Last update: 2025-04-21 18:49:59 UTC


README

Build Status License

cvtmal/laravel-react-starter

A Laravel starter kit that comes preconfigured with modern PHP tools, coding standards, and an opinionated project structure. This starter kit is designed to help you jumpstart your Laravel projects with robust quality checks, static analysis, and architectural guidelines.

Requirements

  • PHP Version: 8.2
  • Laravel Version: 12.x

Features

Static Analysis & QA

  • Larastan/PHPStan: Configured with phpstan.neon set to maximum level (10). Note that framework-specific react starter kit code is annotated with // @phpstan-ignore-line to bypass false positives.
  • Rector PHP: Automated refactoring and code modernization.
  • Laravel Pint: Strict rules defined in pint.json for consistent code style.

Project Structure

  • Actions: Single-purpose business logic classes independent of HTTP concerns in app/Actions.
  • Enums: Place your enumerations in app/Enums.
  • Services: Service classes get located in app/Services.

Testing

Unit Tests:

  • Actions tests are in tests/Unit/Actions.
  • Enums tests are in tests/Unit/Enums.
  • Models tests are in tests/Unit/Models.

Architecture Tests:

  • Adding tests/Unit/ArchTest.php
  • Included to ensure the project adheres to established architectural guidelines.

Custom Configurations

  • AppServiceProvider: Configured with custom rules to further align with your project requirements.
  • PHPStan: Custom settings in phpstan.neon to suit your project's needs.
  • Rector PHP: Configured in rector.php for automated refactoring.
  • Laravel Pint: Configured in pint.json for code style enforcement.
  • Environment File: Example environment file provided as .env.example.
  • GitHub Actions: CI/CD pipeline configured in .github/workflows/tests.yml for automated testing and quality checks.

Project Structure

├── app
│   ├── Actions/                         # Actions Pattern
│   ├── Enums/                           # Enums
│   ├── Providers
│       └── AppServiceProvider.php       # Customized App Service Provider
│   └── Services/                        # Service classes
├── tests
│   └── Unit
│       ├── Actions/                     # Unit tests for actions
│       ├── Enums/                       # Unit tests for enums
│       ├── Models/                      # Unit tests for models
│       └── ArchTest.php                 # Architecture tests
├── .env.example                         # Example environment file
├── phpstan.neon                         # PHPStan configuration
├── pint.json                            # Laravel Pint configuration
└── rector.php                           # Rector PHP configuration

Customization

  • PHPStan & Larastan: Refer to phpstan.neon for custom settings and the use of // @phpstan-ignore-line in framework-specific code.
  • Rector PHP: Adjust the configuration as needed to tailor refactoring rules.
  • Laravel Pint: Modify pint.json to enforce or relax specific style guidelines.
  • AppServiceProvider: Check the custom rules applied within the App\Providers\AppServiceProvider for application-wide configurations.

Contributing

Contributions are welcome! Feel free to fork this repository, make improvements, and submit pull requests. Please ensure that your changes adhere to the project's coding standards and pass all tests.

License

This project is open-source and available under the MIT License.