- Notifications
You must be signed in to change notification settings - Fork0
Laradev-Vue is a sample Laravel app that can be used as a skeleton for your next Laravel project.
License
scify/laradev-vue
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
- About Laradev-Vue
- Features
- Tech Stack
- Installation - Local Development
- Changelog
- Contributing
- Available Scripts
- Available Scripts - DDEV
- Releasing a new version
- Security
- License
- Credits
Laradev-Vue is a sample Laravel app that can be used as a skeleton for your next Laravel project.
It includes a basic setup for both the backend and frontend, with support for bothDDEV andNative (PHP, Composer, etc running locally) development environments.
- Support for bothDDEV andNative development environments
- Vue/Inertia frontend with Vite for faster development
- Tailwind CSS with shadcn/ui components
- SCSS support with PostCSS
- TypeScript support
- Automated code formatting (PHP, JS/TS, SCSS)
- Git hooks for code quality
- Comprehensive test suite using Pest
- Role-based authentication using Spatie Permissions
- Dark mode support
- Responsive design
- GitHub Actions for CI/CD
Backend:
- Laravel 12.x
- PHP 8.2+
- MySQL/SQLite
- Laravel Pint (Code Styling)
- PHPStan (Static Analysis)
- Pest (Testing)
Frontend:
- Vue 3.x
- InertiaJS
- TypeScript
- Tailwind CSS
- shadcn/ui Components
- Vite
- ESLint + Prettier
In order to start developing withLaradev-Vue, you will need to read the guide intheLOCAL-DEVELOPMENT.md file.
Please seeCHANGELOG for more information on what has changed recently.
To contribute to the application, follow these steps:
- Fork this repository.
- Read theCONTRIBUTING file.
- Create a branch:
git checkout -b <branch_name>. - Make your changes and commit them:
git commit -m '<commit_message>' - Push to the original branch:
git push origin <project_name>/<location> - Create the pull request
This application usesLaravel Pint in order to perform code-styling checks and fixes.
In order to run the styler, run :
./vendor/bin/pint --test -v# the --test will not do any changes, it will just output the changes needed./vendor/bin/pint -v# this command will actually perform the code style changes
To run the tests, run the following command:
./vendor/bin/pest
To run with type coverage, run the following command:
./vendor/bin/pest --type-coverage
Note: depending nonyour environment, you may have to export the XDEBUG_MODE environment variable to enable code coverage:
XDEBUG_MODE=coverage ./vendor/bin/pest --coverage --parallel
To run against thearch presets (defined intests/Unit/ArchTest.php), run the following command:
./vendor/bin/pest --arch
Or, under DDEV:
ddevtestTo run the tests with coverage, run the following command:
XDEBUG_MODE=coverage ./vendor/bin/pest --coverage
To filter tests, use the--filter flag. For example:
./vendor/bin/pest --filter testName
We use Jest for frontend tests.
To run the tests, run the following command:
npm runtestTo run the tests with coverage, run the following command:
npm run test:coverage
This application usesPHPStan in order to perform code-scanning checks.
In order to run the code-scanner, run the following command:
./vendor/bin/phpstan analyse
The project includes pre-commit hooks that automatically format code. They're installed automatically with:
composer install
npm run dev- Start Vite development servernpm run build- Build for productionnpm run lint- Run ESLintnpm run lint:fix- Fix ESLint issuesnpm run types- Check TypeScript typescomposer format- Format PHP codecomposer analyse- Run static analysis
ddev artisan migrate- Migrate the databaseddev artisan db:seed- Seed the databaseddev artisan db:refresh- Refresh the databaseddev artisan db:reset- Reset the databaseddev artisan key:generate- Generate the application keyddev artisan migrate:fresh- Refresh the database and migrateddev artisan migrate:fresh --seed- Refresh the database and seedddev artisan migrate:fresh --seed --seeder=DatabaseSeeder- Refresh the database and seed with the DatabaseSeederddev pint- Format PHP codeddev test- Run testsddev analyse- Run static analysisddev format- Format all code
After you have committed your changes, create a new git tag:
git tag -a vx.y.z -m"This is a nice tag name"(for thex.y.z version number, follow theSemantic Versioning guidelines).
Then, push the tag:
git push origin vx.y.z
Then, in theGitHub Releases page, create a new Release *and correlate it with the tag that you just created.*
Also, don't forget to update theCHANGELOG.md file with the new version name, release date, and release notes.
This project implements several security measures:
- Secret Scanning:Gitleaks integration prevents accidental exposure of sensitive information like API keys, passwords, and tokens. SeeGITLEAKS-SECURITY.md for detailed configuration and usage.
- Security Headers: Custom middleware adds security headers (CSP, HSTS, etc.)
- CSRF Protection: Laravel's built-in CSRF protection
- Role-based Access Control: Using Spatie Laravel Permission package
If you discover any security-related issues, please emailinfo[at]scify.org, instead of using the issue tracker.
This project is open-sourced software licensed undertheApache License, Version 2.0.
About
Laradev-Vue is a sample Laravel app that can be used as a skeleton for your next Laravel project.
Resources
License
Contributing
Security policy
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Releases
Packages0
Uh oh!
There was an error while loading.Please reload this page.