creasi/skeleton

Creasi.co 应用项目骨架

v0.1.3 2023-10-29 03:06 UTC

README

Version License Actions Status

应用骨架

需求

  • PHP >= v8.1 和 Composer >= v2.0
  • Node.js >= v16.0 和 PNPM v8.x
  • 数据库服务器(MySQL、MariaDB 或 PostgreSQL)

设置

  1. 克隆仓库并 cd 进入

    git clone git@github.com:creasico/laravel-project.git my-project && cd $_
  2. 安装 composerpnpm 依赖

  3. .env.example 文件复制到 .env 文件并生成新的应用密钥

  4. 创建新数据库并相应地更新 .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>
  5. 一切设置妥当?然后运行

    $ php artisan migrate --seed  # run database migration
    $ pnpm build                  # compile front-end assets
  6. 你可以开始了

开发

前端

该项目使用 windi.cssvue.js,配合 inertia.js 作为默认前端库,这意味着除非你运行以下命令,否则你的任何更改都不会立即显示

$ pnpm dev

测试

此骨架已预配置用于测试,使用 Laravel 框架内置和官方测试工具,即 phpunitlaravel 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_USERNAMEBROWSERSTACK_ACCESS_KEY,这是在 BrowserStack 上运行集成测试所必需的,如果你不想在本地运行,可以随意取消注释这些变量。有关本地测试的更多信息,请参阅他们的官方 文档

贡献

赞助商

BrowserStack Logo

许可协议

该项目是一个开源软件,受 MIT 许可协议 许可。