rokde/laravel-starter-kit

The skeleton application for the Laravel framework.

Fund package maintenance!
www.paypal.me/rok
Buy Me A Coffee

Installs: 4

Dependents: 0

Suggesters: 0

Security: 0

Stars: 1

Watchers: 1

Forks: 0

Open Issues: 13

Language:Vue

Type:project


README

Usage

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

What is inside?

A customized version with the following things:

Repository

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)
  • using UseFactory class attribute for eloquent models
  • modules supported for domain driven design
    • analytics - Track and visualize user interactions with elements in the application
    • foundation-layout - Configure and switch between different layout styles
    • notification - Manage user notification preferences and delivery methods
    • passkey - Enable secure, passwordless authentication using WebAuthn
    • todo - Create, manage, and track todos within workspaces
    • workspace - Create and manage workspaces for team collaboration

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
  • User has locale and timezone for displaying the dates correct
    • provide a inApplicationTimezone and inUserTimezone method for each carbon instance

Build with DDD

php artisan make:module [MODULE_NAME]

For detailed instructions on creating modules, including backend implementation, Vue.js frontend, and Pest testing, see the Module Development Guide.

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.

Module Dependency Graph

You can generate a visual representation of module dependencies with:

php artisan modules:graph

This command analyzes the codebase and creates a dependency graph using Mermaid, which is supported by GitHub Markdown. The graph shows which modules depend on each other and provides detailed information about each module.

The generated graph is saved to docs/module-dependency-graph.md by default, but you can specify a custom output path:

php artisan modules:graph --output=custom/path/graph.md

Database Entity Relationship Diagram

A visual representation of the database schema is available, showing all tables, columns, relationships, and indexes used in the project.

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

Code Coverage

To generate a code coverage report, run:

composer test:coverage

After the tests complete, you can view the coverage report by opening ./tests/coverage/index.html in your browser.

Dependabot

Weekly updates for npm and php dependencies.