rokde/laravel-starter-kit

The skeleton application for the Laravel framework.

Installs: 1

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 1

Forks: 0

Open Issues: 5

Language:Vue

Type:project


README

Usage

laravel new --using=rokde/laravel-starter-kit

What is inside?

A customized version with the following things:

Repository

  • PHP 8.4
  • laravel/vue-starter-kit
  • pint.json with strict rules
  • repository dependency health with dependabot
  • automatic linting and testing on push
  • automatic CHANGELOG.md update on releases

IDE support

Starter Kit features

  • internationalization (en, de)
  • static pages based on CommonMark Markdown files, with FrontMatter support and localized
    • in resources/markdown are the md files located
    • localized version can have a *.[locale].md extension (e.g. .de.md)
  • modules supported for domain driven design
    • foundation-layout
      • with the foundation-layout module you can switch configured layouts
      • console command php artisan app:configure-layouts
    • notification
      • user preferred notification subscription (in-app or mail)
      • command to purge old notifications: php artisan notifications:purge [--age=60] [--include-unread]
    • workspace
      • with a "workspace" terminology to handle a working context like a team or project
      • you can invite other users to work with in the same workspace
      • includes an architecture test as well

Features

Laravel Features and Configuration

  • Register a user
  • Login a user
  • User must verify email
  • various settings configured in the AppServiceProvider::boot() method
  • Localized views in english and german
  • database notifications already set up
  • Profile settings including locale settings
  • Imprint, Terms and Policy templates supported
  • displaying the password rules on registration and password change
  • reveal passwords on password input elements

Build with DDD

php artisan make:module [MODULE_NAME]

This generates the whole module stub. Use contracts and dtos to communicate between domain boundaries as described in Modularizing Inertia. An example repository describes it better. It supports also the module-based loading and providing of typescript code for inertia.

Configure the used layouts with a console command (provided by the foundation-layout module)

php artisan app:configure-layouts

Then you can switch between all the provided layouts within the starter kits.

Reuse backend localization in frontend

We support localization. If your user implements the HasLocalePreference interface we would support that by the SetLocale middleware.

With php artisan translations:generate the php stored translations get transferred to the typescript translations used by vue-i18n.

Creating model documentation

composer run ide-helper

Format your code

  • during github workflows a new commit will handle this
  • or: composer run format and npm run format

Run the test suite

composer run test

Dependabot

Weekly updates for npm and php dependencies.