creasi / skeleton
Creasi.co 应用项目骨架
Requires
- php: >=8.1
- creasi/laravel-base: dev-main
- creasi/laravel-nusa: ^0.1.2
- fakerphp/faker: ^1.9.1
- guzzlehttp/guzzle: ^7.2
- inertiajs/inertia-laravel: ^0.6.9
- laravel/framework: ^10.0
- laravel/sanctum: ^3.0
- sentry/sentry-laravel: ^3.1
Requires (Dev)
- barryvdh/laravel-debugbar: ^3.7
- creasi/dusk-browserstack: ^0.2.0
- deployer/deployer: ^7.0
- laravel/dusk: ^7.0
- laravel/pint: ^1.1
- laravel/telescope: ^4.9
- laravel/tinker: ^2.7
- mockery/mockery: ^1.4.4
- nunomaduro/collision: ^7.5
- phpunit/phpunit: ^10.0
- spatie/laravel-ignition: ^2.1
- tightenco/ziggy: ^1.6
This package is auto-updated.
Last update: 2024-09-05 22:34:43 UTC
README
应用骨架
需求
- PHP
>= v8.1
和 Composer>= v2.0
- Node.js
>= v16.0
和 PNPMv8.x
- 数据库服务器(MySQL、MariaDB 或 PostgreSQL)
栈
设置
-
克隆仓库并
cd
进入git clone git@github.com:creasico/laravel-project.git my-project && cd $_
-
安装
composer
和pnpm
依赖 -
将
.env.example
文件复制到.env
文件并生成新的应用密钥 -
创建新数据库并相应地更新
.env
文件# for MySQL (presumably you've already have mysql client) $ mysql -e 'create database <db-name>' # for PostgreSQL (presumably you've already have postgresql client) $ createdb <db-bame>
-
一切设置妥当?然后运行
$ php artisan migrate --seed # run database migration $ pnpm build # compile front-end assets
-
你可以开始了
开发
前端
该项目使用 windi.css
和 vue.js
,配合 inertia.js
作为默认前端库,这意味着除非你运行以下命令,否则你的任何更改都不会立即显示
$ pnpm dev
测试
此骨架已预配置用于测试,使用 Laravel 框架内置和官方测试工具,即 phpunit
和 laravel dusk
。
单元测试
我们只需要为测试预留另一个数据库。原因在于当我们运行测试时,它将重置现有的开发数据库。有关更多信息,请参阅 官方文档。
创建新数据库后,你可以将 .env
文件复制到 .env.testing
并使用新创建的数据库更新数据库配置。
$ composer test:unit # to run unit test
集成测试
在开始使用 Laravel dusk 进行测试之前,请确保你已经使用以下命令安装了 WebDriver
$ php artisan dusk:chrome-driver --detect
默认情况下,该命令将安装最新版本的 ChromeDriver,这意味着你需要确保安装的 ChromeDriver 版本与本地安装的 Google Chrome 版本相匹配,然后运行
$ composer test:e2e # to run end-to-end test using larvel-dusk
默认情况下,Laravel dusk 将无头运行,如果你愿意禁用无头模式,只需在 .env.testing
文件中取消注释 DUSK_HEADLESS_DISABLED
即可。有关更多信息,请参阅 官方文档
注意
.env.example
也预配置了BROWSERSTACK_USERNAME
和BROWSERSTACK_ACCESS_KEY
,这是在 BrowserStack 上运行集成测试所必需的,如果你不想在本地运行,可以随意取消注释这些变量。有关本地测试的更多信息,请参阅他们的官方 文档。
贡献
- 提交约定:该项目遵循 Conventional Commits,使用 @commitlint/config-conventional 作为标准,因此请确保你遵循规则。
- 代码风格:本项目使用
Laravel Pint
配置laravel
预设和@antfu/eslint-config
作为编码标准,请确保您遵守这些规则。但不用担心,您的 VSCode 应该可以帮您处理这些。有关更多信息,请参考 此配置。
赞助商
许可协议
该项目是一个开源软件,受 MIT 许可协议 许可。