bang-digital-dev / laravel-template
The skeleton application for the Laravel framework.
Installs: 9
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 1
Forks: 0
Open Issues: 0
Type:project
Requires
- php: ^8.1
- guzzlehttp/guzzle: ^7.2
- laravel/framework: ^10.10
- laravel/sanctum: ^3.2
- laravel/tinker: ^2.8
- league/flysystem-aws-s3-v3: ^3.0
- league/flysystem-read-only: ^3.0
Requires (Dev)
- fakerphp/faker: ^1.9.1
- laravel/pint: ^1.10
- laravel/sail: ^1.18
- mockery/mockery: ^1.4.4
- nunomaduro/collision: ^7.0
- nunomaduro/larastan: ^2.0
- phpunit/phpunit: ^10.1
- spatie/laravel-ignition: ^2.0
README
Шаблон, который используется для Laravel проектов в BD.
Howto: Использование шаблона
-
Убедитесь, что у вас установлен Docker
-
Создайте директорию, в которой вы хотите развернуть проект и войдите в нее
mkdir my-app && cd my-app
-
Созайте новый проект с помощью composer:
docker run --rm --interactive --tty --volume $PWD:/app composer create-project bang-digital-dev/laravel-template .
-
Выполните авторизацию в docker registry
Для следующего шага вам понадобится логин и пароль. Логин - это ваш username в gitlab. В качестве пароля используйте personal access token для gitlab с доступом к
read_registry
. Получить его можно здесь.docker login bangdig.gitlab.yandexcloud.net:5050
-
Первый запуск проекта
- Собираем образы, запускаем контейнеры
make build start
- Инициализируем проект
make init
Важно! Перед запуском скрипта инициализации проекта, убедитесь, что mysql контейнер запустился и готов к работе.
- Собираем образы, запускаем контейнеры
-
Вы великолепны!
Бонус пункт - уставка админки
Для того, чтобы поставить админку Laravel Nova, добавьте в composer.json
:
"repositories": {
"local-nova": {
"type": "path",
"url": "./packages/laravel-nova"
}
}
Далее, архив* с Laravel Nova разархивируйте в папку ./packages/laravel-nova
и выполните команду:
composer require laravel/nova
Затем выполните скрипты инициализации Laravel Nova:
php artisan nova:install php artisan migrate
И не забудьте поправить правила доступа в админку в \App\Providers\NovaServiceProvider::gate
:
protected function gate() { Gate::define('viewNova', function (User $user) { return $user->is_admin; }); }
*Архив можете запросите у коллег
Локальная разработка проекта
Доступные сервисы
- mysql
- redis
- minio
- mailhog
- swagger ui
- phpmyadmin
Порты и доступы смотрите в docker-compose.yml
Доступные Makefile команды
build
Команда для сборки Docker-образов проекта.
make build
start
Команда для запуска Docker-контейнеров проекта.
make start
stop
Команда для остановки Docker-контейнеров проекта.
make stop
remove
Команда для полной остановки и удаления Docker-контейнеров, а также networks и volumes проекта.
make remove
init
Команда для инициализации проекта.
make init
php_sh
Команда для запуска оболочки внутри контейнера с PHP-FPM, чтобы можно было выполнить команды внутри контейнера.
make php_sh
phpstan
Команда для запуска анализатора кода phpstan
make phpstan