vaibhavpandeyvpz / starter-laravel
Laravel框架的基础应用程序。
Requires
- php: ^8.1
- guzzlehttp/guzzle: ^7.2
- http-interop/http-factory-guzzle: ^1.2
- intervention/image: ^2.7
- jamesmills/laravel-timezone: ^1.13
- laracasts/flash: ^3.2
- laravel/framework: ^10.10
- laravel/horizon: ^5.19
- laravel/prompts: ^0.1.5
- laravel/sanctum: ^3.2
- laravel/scout: ^10.2
- laravel/socialite: ^5.8
- laravel/tinker: ^2.8
- laravel/ui: ^4.2
- league/flysystem-aws-s3-v3: ^3.0
- livewire/livewire: ^2.12
- meilisearch/meilisearch-php: ^1.3
- quarks/laravel-auditors: ^1.2
- quarks/laravel-locking: ^1.0
- spatie/laravel-activitylog: ^4.7
- spatie/laravel-permission: ^5.10
- tightenco/ziggy: ^1.6
Requires (Dev)
- fakerphp/faker: ^1.9.1
- laravel/pint: ^1.0
- laravel/sail: ^1.18
- laravel/telescope: ^4.16
- mockery/mockery: ^1.4.4
- nunomaduro/collision: ^7.0
- phpunit/phpunit: ^10.1
- spatie/laravel-ignition: ^2.0
This package is auto-updated.
Last update: 2024-09-03 11:21:23 UTC
README
快速,使用 Laravel 和 Livewire 以及 RBAC 的 CRUD 模板。使用 Docker 进行本地开发和生产部署,基于 Bootstrap 优化了认证视图,很好地集成了 Select2 和 Flatpickr。
准备
如果您希望使用 SSL 进行本地开发(推荐),您需要在您的机器上安装 mkcert。安装完成后,接下来请将 mkcert 的本地 CA 安装到系统的信任存储中。
$ sudo mkcert -install
然后使用以下命令为本地开发生成 SSL 证书
$ mkcert local.dev '*.local.dev' localhost 127.0.0.1 ::1
安装
在安装之前,请确保已安装 Docker。然后简单地下载或克隆代码,并在项目文件夹中运行以下命令
# create from example file(s) $ cp .env.example .env $ cp ngrok.example.yml ngrok.yml # setup NGROK_AUTHTOKEN in .env # start the services $ docker compose up -d # spawn a shell in web container $ docker compose exec web bash # install dependencies $ composer install && yarn install && yarn build # set application key $ php artisan key:generate # initialize scout indices $ php artisan scout:sync-index-settings # prepare database $ php artisan migrate --seed # link public storage directory $ php artisan storage:link
您可以通过浏览器在 https://web.local.dev/ 或 http://localhost:8000/ 访问项目。
要能够管理用户、角色等,您必须为用户创建或分配相关角色。您可以通过运行以下命令并交互式地提供用户信息来完成此操作
$ php artisan make:admin
附加信息
Traefik 要求您将主机名路由到本地机器。为此,请将以下行添加到您的 /etc/hosts
文件中
127.0.0.1 cdn.local.dev
127.0.0.1 mailcatcher.local.dev
127.0.0.1 meilisearch.local.dev
127.0.0.1 minio.local.dev
127.0.0.1 phpmyadmin.local.dev
127.0.0.1 redis-commander.local.dev
127.0.0.1 web.local.dev
该 Docker 设置还包括以下服务,以简化本地开发
- MailCatcher - 捕获所有发出的电子邮件,在 https://mailcatcher.local.dev/ 访问
- Meilisearch - 全文搜索引擎,在 https://meilisearch.local.dev/ 访问
- MinIO - 兼容 S3 的存储,在 https://minio.local.dev/ 访问
- phpMyAdmin - 用于管理 SQL 数据库,在 https://phpmyadmin.local.dev/ 访问
- Redis Commander - 用于管理 Redis 数据,在 https://redis-commander.local.dev/ 访问
以下可能需要一些额外的配置,以实现扩展功能。
文件上传
在上传文件之前,您可能需要使用 laravelapp
作为(用户名和密码)登录到 MinIO 控制台 https://minio.local.dev/,并创建一个名为 laravelapp
的存储桶。创建后,转到存储桶的设置,将其 访问策略 更改为 公共
。
Ngrok
项目设置还包括 ngrok 服务。要获取活动隧道URL,请使用以下命令
# start the services $ docker compose up -d # show ngrok tunnel url $ php artisan ngrok:discover
代码风格
项目使用 laravel/pint 来强制执行代码风格。要运行它并修复任何问题,请使用以下命令
$ docker run --rm -v .:/workspace syncloudsoftech/pinter
部署
您可以使用以下命令将项目部署到生产环境(使用 Docker)
# build production container $ docker build -t laravelapp . # push image to registry $ docker push laravelapp