vaibhavpandeyvpz / laravel-crud
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-07-03 10:59:01 UTC
README
vaibhavpandeyvpz/starter-laravel
快速,使用 Laravel CRUD 模板,通过 Livewire 和 RBAC 实现权限管理。使用 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