Download the PHP package yanpenalva/starter-kit-laravue without Composer
On this page you can find all versions of the php package yanpenalva/starter-kit-laravue. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download yanpenalva/starter-kit-laravue
More information about yanpenalva/starter-kit-laravue
Files in yanpenalva/starter-kit-laravue
Package starter-kit-laravue
Short Description Starter kit with Laravel , Vue 3, Quasar, Vite and Docker support
License MIT
Informations about the package starter-kit-laravue
๐ 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
- Architecture Overview
- Installation
- Husky (Git Hooks)
- Database Configuration
- Fix Access Permissions (Spatie Permission Cache)
- Key Features
- Technology Stack
- Queues and Horizon Monitoring
- Project Architecture
- Docker Services
- Testing
- Best Practices
- Commit Conventions
- Code Standards
โ๏ธ 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
1๏ธโฃ Clone the repository
2๏ธโฃ Environment setup
3๏ธโฃ Build and start containers
Verify your database settings:
4๏ธโฃ Install dependencies
5๏ธโฃ Fix permissions (Linux/Mac)
6๏ธโฃ Run the app
Access: http://localhost:8001
๐ช Husky (Git Hooks)
The project uses Husky to enforce pre-commit and pre-push checks (lint, tests, commit validation).
Setup
After dependencies installation:
Do not overwrite existing hooks โ this repository already includes custom
pre-commitandpre-pushscripts.
If Husky overwrites them, restore:
๐ ๏ธ Database Configuration
PostgreSQL 16 is the default database. Created automatically on first container startup.
To access manually inside the container:
๐งฉ 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:
Versions <5.x:
๐ Key Features
- Laravel 13 โ Modular, RESTful backend
- Vue 3 + Quasar โ Modern reactive UI
- Spatie Permission โ Role & permission system
- Spatie Activity Log โ Transparent audit trail
- PestPHP โ Expressive test framework
- Larastan + PHP Insights โ Static analysis & code quality
- Scramble โ Automatic API documentation
- Pulse + Telescope + Debugbar + Horizon โ Monitoring and debugging
โ๏ธ Technology Stack
- Backend: Laravel 13 (PHP 8.5 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
๐ข Preparing for production
This repository is configured primarily for local development. Before using it in production, apply the following changes:
- Use a production Compose/deployment configuration without bind mounts from the host and build the frontend assets during the image build.
- Set
APP_ENV=production,APP_DEBUG=false, a uniqueAPP_KEY, and production-specific values for the database, Redis, mail and application URL. - Replace the development PHP configuration with
docker/PHP/php-prd.ini, disable Xdebug and run the application with a non-development process configuration. - Store passwords, encryption keys and tokens in the deployment secret
manager; never copy
.env.examplevalues directly to production. - Restrict CORS and
SANCTUM_STATEFUL_DOMAINSto the real frontend domains, enable HTTPS and configure trusted proxies correctly. - Do not expose Telescope, Horizon, Pulse or Scramble publicly without authentication and an explicit production access policy.
- Configure persistent logs, queue workers, scheduler execution, database backups and health checks before accepting traffic.
โ๏ธ 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
- 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
Each queue runs independently, enabling parallel processing and load distribution.
Supervisor Configuration Example
--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 is restricted to admin users only in all environments (local, staging, production).
Authorization defined in:
Horizon Features
- Real-time job and queue stats
- Retry failed jobs
- Queue balancing and prioritization
- Job execution metrics and runtime distribution
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
Applies Action Pattern for isolated business logic and Event-Driven Design (EDD) for asynchronous processes.
๐งฑ Docker Services
All services are defined in docker-compose.yaml.
๐งช Testing
1๏ธโฃ Test Database
If starterkit_test is not created automatically, run:
2๏ธโฃ Run Tests
With coverage:
Parallel mode:
๐ง Best Practices
Security
APP_DEBUG=falsein 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
Follow Conventional Commits.
Types: feat, fix, docs, refactor, test, perf, build, ci, ops, chore, revert
๐ 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
Code Quality
PHP Insights is not currently installed in this starter kit.
API Documentation
Tests
โก Makefile Shortcuts
| Category | Command | Description |
|---|---|---|
| ๐ฆ 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 |
All versions of starter-kit-laravue with dependencies
dedoc/scramble Version ^0.12.10
guzzlehttp/guzzle Version ^7.2
laravel/framework Version ^12.0
laravel/horizon Version ^5.31
laravel/sanctum Version ^4.0
laravel/telescope Version ^5.6
laravel/tinker Version ^2.8
spatie/laravel-activitylog Version ^4.9
spatie/laravel-permission Version ^6.7