PHPackages                             yanpenalva/starter-kit-laravue - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [DevOps &amp; Deployment](/categories/devops)
4. /
5. yanpenalva/starter-kit-laravue

ActiveProject[DevOps &amp; Deployment](/categories/devops)

yanpenalva/starter-kit-laravue
==============================

Starter kit with Laravel , Vue 3, Quasar, Vite and Docker support

v2.0.0(8mo ago)1333[1 PRs](https://github.com/yanpenalva/starter-kit-laravue/pulls)MITPHPPHP ^8.2CI passing

Since May 16Pushed 1mo ago2 watchersCompare

[ Source](https://github.com/yanpenalva/starter-kit-laravue)[ Packagist](https://packagist.org/packages/yanpenalva/starter-kit-laravue)[ RSS](/packages/yanpenalva-starter-kit-laravue/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (5)Dependencies (23)Versions (17)Used By (0)

🚀 LaraVue Starter Kit
=====================

[](#-laravue-starter-kit)

The **LaraVue Starter Kit** is a full-stack boilerplate combining **Laravel 13** and **Vue 3 + Quasar Framework**, built for scalable, testable, and maintainable web applications. It provides a pre-configured environment for authentication, user and permission management, dashboards, REST APIs, automated testing, and development observability.

---

📑 Table of Contents
-------------------

[](#-table-of-contents)

1. [Architecture Overview](#%EF%B8%8F-architecture-overview)
2. [Installation](#%EF%B8%8F-installation)
3. [Husky (Git Hooks)](#%EF%B8%8F-husky-git-hooks)
4. [Database Configuration](#%EF%B8%8F-database-configuration)
5. [Fix Access Permissions (Spatie Permission Cache)](#%EF%B8%8F-fix-access-permissions-spatie-permission-cache)
6. [Key Features](#%EF%B8%8F-key-features)
7. [Technology Stack](#%EF%B8%8F-technology-stack)
8. [Queues and Horizon Monitoring](#%EF%B8%8F-queues-and-horizon-monitoring)
9. [Project Architecture](#%EF%B8%8F-project-architecture)
10. [Docker Services](#%EF%B8%8F-docker-services)
11. [Testing](#%EF%B8%8F-testing)
12. [Best Practices](#%EF%B8%8F-best-practices)
13. [Commit Conventions](#%EF%B8%8F-commit-conventions)
14. [Code Standards](#%EF%B8%8F-code-standards)

---

⚙️ Architecture Overview
------------------------

[](#️-architecture-overview)

This starter kit runs entirely in **Docker (Alpine)** containers for consistent local and CI environments. It includes containers for the app, Nginx, PostgreSQL, Redis, and Mailpit, ensuring isolated and reproducible development.

---

📥 Installation
--------------

[](#-installation)

### 1️⃣ Clone the repository

[](#1️⃣-clone-the-repository)

```
git clone https://github.com/yanbrasiliano/starter-kit-laravue.git
cd starter-kit-laravue
```

### 2️⃣ Build and start containers

[](#2️⃣-build-and-start-containers)

```
docker compose up -d --build --force-recreate --remove-orphans
```

### 3️⃣ Environment setup

[](#3️⃣-environment-setup)

```
cp .env.example .env
```

Verify your database settings:

```
DB_CONNECTION=pgsql
DB_HOST=db
DB_PORT=5432
DB_DATABASE=starterkit
DB_USERNAME=postgres
DB_PASSWORD=admin

```

### 4️⃣ Install dependencies

[](#4️⃣-install-dependencies)

```
docker exec -it starterkit-app bash
composer install
npm install
php artisan migrate --seed
```

### 5️⃣ Fix permissions (Linux/Mac)

[](#5️⃣-fix-permissions-linuxmac)

```
chmod +x permissions.sh
./permissions.sh
```

### 6️⃣ Run the app

[](#6️⃣-run-the-app)

```
docker exec -it starterkit-app npm run dev
```

Access: ****

---

🪝 Husky (Git Hooks)
-------------------

[](#-husky-git-hooks)

The project uses **Husky** to enforce pre-commit and pre-push checks (lint, tests, commit validation).

### Setup

[](#setup)

After dependencies installation:

```
npx husky init
```

> Do **not** overwrite existing hooks — this repository already includes custom `pre-commit` and `pre-push` scripts.

If Husky overwrites them, restore:

```
git restore .husky/pre-commit .husky/pre-push
```

---

🛠️ Database Configuration
-------------------------

[](#️-database-configuration)

> PostgreSQL 16 is the default database. Created automatically on first container startup.

To access manually inside the container:

```
docker exec -it starterkit-db psql -U postgres -d starterkit
```

---

🧩 Fix Access Permissions (Spatie Permission Cache)
--------------------------------------------------

[](#-fix-access-permissions-spatie-permission-cache)

If a user has correct permissions in the database but still receives:

> “You do not have permission to perform this action.”

Run inside the container:

```
docker compose exec starterkit-app php artisan permission:cache-reset
```

### Versions &lt;5.x:

[](#versions-5x)

```
docker compose exec starterkit-app php artisan cache:forget spatie.permission.cache
```

---

📌 Key Features
--------------

[](#-key-features)

- **Laravel 13** — Modular, RESTful backend
- **Vue 3 + Quasar** — Modern reactive UI
- **Spatie Permission** — Role &amp; permission system
- **Spatie Activity Log** — Transparent audit trail
- **PestPHP** — Expressive test framework
- **Larastan + PHP Insights** — Static analysis &amp; code quality
- **Scramble** — Automatic API documentation
- **Pulse + Telescope + Debugbar + Horizon** — Monitoring and debugging

---

⚙️ Technology Stack
-------------------

[](#️-technology-stack)

- **Backend:** Laravel 13 (PHP 8.4 on Alpine)
- **Frontend:** Vue 3.5 + Quasar Framework + Vite
- **Database:** PostgreSQL 16
- **Cache/Queue:** Redis 7
- **Mail:** Mailpit (SMTP emulator)
- **Containerization:** Docker Compose
- **Testing:** PestPHP
- **Static Analysis:** Larastan
- **Monitoring:** Pulse, Telescope, Debugbar, Horizon

---

⚙️ Queues and Horizon Monitoring
--------------------------------

[](#️-queues-and-horizon-monitoring)

The Starter Kit integrates **Redis queues** and **Laravel Horizon** for distributed asynchronous job execution and real-time monitoring.

### 🧠 How It Works

[](#-how-it-works)

- **Jobs** are dispatched using Redis queues via `queue:work`.
- **Supervisor** automatically manages the worker lifecycle (restart, retry, timeout).
- **Horizon** provides a dashboard for job tracking, performance metrics, and failure insights.

### Example Job Dispatch

[](#example-job-dispatch)

```
dispatch(new ImportProcessJob())->onQueue('imports');
dispatch(new SendEmailJob())->onQueue('emails');
```

Each queue runs independently, enabling **parallel processing** and **load distribution**.

### Supervisor Configuration Example

[](#supervisor-configuration-example)

```
[program:laravel-queue]
command=/usr/local/bin/php /var/www/html/artisan queue:work redis --queue=default --daemon --tries=3 --max-time=3600
autostart=true
autorestart=true
user=www-data
```

- `--tries`: number of attempts before failure logging.
- `--max-time`: ensures workers restart periodically to prevent memory leaks.
- `--daemon`: keeps workers running persistently.

### Access Horizon Dashboard

[](#access-horizon-dashboard)

```
http://localhost:8001/horizon

```

> Access is restricted to **admin users only** in all environments (local, staging, production).

Authorization defined in:

```
Gate::define('viewHorizon', fn($user) => $user && $user->isAdmin());
```

### Horizon Features

[](#horizon-features)

- Real-time job and queue stats
- Retry failed jobs
- Queue balancing and prioritization
- Job execution metrics and runtime distribution

### Recommended Practices

[](#recommended-practices)

- Name queues descriptively (`imports`, `emails`, `notifications`)
- Split heavy operations into chunks (`chunk(100)`)
- Avoid complex listeners — isolate logic in jobs
- Use `Bus::batch()` for large batch operations

---

🚀 Project Architecture
----------------------

[](#-project-architecture)

Applies **Action Pattern** for isolated business logic and **Event-Driven Design (EDD)** for asynchronous processes.

---

🧱 Docker Services
-----------------

[](#-docker-services)

All services are defined in `docker-compose.yaml`.

---

🧪 Testing
---------

[](#-testing)

### 1️⃣ Test Database

[](#1️⃣-test-database)

If `starterkit_test` is not created automatically, run:

```
chmod +x docker-entrypoint-initdb.sh
./docker-entrypoint-initdb.sh
```

### 2️⃣ Run Tests

[](#2️⃣-run-tests)

```
docker compose exec starterkit-app composer test
```

With coverage:

```
docker compose exec starterkit-app composer test:coverage
```

Parallel mode:

```
docker compose exec starterkit-app env APP_ENV=testing php artisan test --parallel
```

---

🧠 Best Practices
----------------

[](#-best-practices)

**Security**

- `APP_DEBUG=false` in production
- Generate unique `APP_KEY`
- Protect routes with `auth:sanctum`
- Mask sensitive logs

**Performance**

- Cache queries (tagged TTLs)
- Optimize autoloaders/config caches
- Use `DB::transaction()` for atomicity

**Code Quality**

- Maintain ≥80% coverage
- Run Larastan + PHP Insights regularly
- Keep controllers thin; logic in Actions

---

🔄 Commit Conventions
--------------------

[](#-commit-conventions)

Follow **Conventional Commits**.

```
:  -

```

**Types:** feat, fix, docs, refactor, test, perf, build, ci, ops, chore, revert

---

📝 Code Standards
----------------

[](#-code-standards)

- `declare(strict_types=1);` required
- Method names ≤ 5 words
- Use imperative verbs
- Variables in `camelCase`
- Routes follow `{resource}.{action}`
- API versioning `/api/v1/...`
- Coverage ≥ 80 lines

### Static Analysis

[](#static-analysis)

```
docker exec -it starterkit-app composer run:phpstan
```

### Code Quality

[](#code-quality)

```
docker exec -it starterkit-app composer run:phpinsights
```

### API Documentation

[](#api-documentation)

```
docker exec -it starterkit-app php artisan scramble:export
```

### Tests

[](#tests)

```
docker exec -it starterkit-app composer test
docker exec -it starterkit-app composer test:coverage
```

---

⚡ Makefile Shortcuts
--------------------

[](#-makefile-shortcuts)

```
make help
```

CategoryCommandDescription📦 Containers`make up` / `make down` / `make restart`Manage containers💻 Dev`make shell` / `make front`Enter container / run frontend🗄️ DB`make migrate` / `make rollback`Manage migrations🧪 Tests`make test` / `make test-all`Run test suites✨ Quality`make pint` / `make check`Format and lint🛠️ Tools`make artisan` / `make queue` / `make telescope`Laravel utilities

###  Health Score

43

—

FairBetter than 91% of packages

Maintenance78

Regular maintenance activity

Popularity12

Limited adoption so far

Community16

Small or concentrated contributor base

Maturity57

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 70.5% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~24 days

Total

5

Last Release

264d ago

Major Versions

v1.0.3 → v2.0.02025-08-21

### Community

Maintainers

![](https://www.gravatar.com/avatar/a76895dcbbc3549305b07a8eec1b29345bd8251f4c3306e4053154bdbc25219c?d=identicon)[yanpenalva](/maintainers/yanpenalva)

---

Top Contributors

[![yanpenalva](https://avatars.githubusercontent.com/u/72168914?v=4)](https://github.com/yanpenalva "yanpenalva (272 commits)")[![nikoz84](https://avatars.githubusercontent.com/u/6708508?v=4)](https://github.com/nikoz84 "nikoz84 (86 commits)")[![everton-nfs](https://avatars.githubusercontent.com/u/43849964?v=4)](https://github.com/everton-nfs "everton-nfs (7 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (7 commits)")[![nikozrh](https://avatars.githubusercontent.com/u/134535608?v=4)](https://github.com/nikozrh "nikozrh (7 commits)")[![JaylanEsquivel](https://avatars.githubusercontent.com/u/27833147?v=4)](https://github.com/JaylanEsquivel "JaylanEsquivel (6 commits)")[![MH4GF](https://avatars.githubusercontent.com/u/31152321?v=4)](https://github.com/MH4GF "MH4GF (1 commits)")

---

Tags

dockerlaravellaravel-frameworkquasarvuelaravelviteboilerplatestartervuequasar

###  Code Quality

TestsPest

Static AnalysisPHPStan

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/yanpenalva-starter-kit-laravue/health.svg)

```
[![Health](https://phpackages.com/badges/yanpenalva-starter-kit-laravue/health.svg)](https://phpackages.com/packages/yanpenalva-starter-kit-laravue)
```

###  Alternatives

[bagisto/bagisto

Bagisto Laravel E-Commerce

26.2k161.6k7](/packages/bagisto-bagisto)[krayin/laravel-crm

Krayin CRM

22.0k32.8k1](/packages/krayin-laravel-crm)[nasirkhan/laravel-starter

A CMS like modular Laravel starter project.

1.4k2.7k](/packages/nasirkhan-laravel-starter)[unopim/unopim

UnoPim Laravel PIM

9.4k1.8k](/packages/unopim-unopim)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
