Демонстрация реализации API, авторизации в API через токены, запуск обработки событий через очереди обработки сообщений, валидации Request запросов.
Стек:
- 🐘 Php 8.2 + Laravel 10 (авторизация на базе API токенов)
- 🌌 Swagger - для документации API + Swagger UI
- 🦖 MariaDb
- 🐳 Docker (Docker compose) + Laravel Sail
- ⛑ Phpunit - тестирование.
Настроить переменные окружения (если требуется изменить их):
cp .env.example .env
⚠ Если на машине разработчика установлен php и composer то можно выполнить команду:
composer install --ignore-platform-reqs
⚠ Если не установлен php и composer на машине разработчика то установить зависимости проекта можно так:
docker run --rm -u "$(id -u):$(id -g)" \
-v $(pwd):/var/www/html \
-w /var/www/html \
laravelsail/php82-composer:latest \
composer install --ignore-platform-reqs
на этом подготовка к работе с Laravel Sail закончена.
Поднять docker контейнеры с помощью Laravel Sail
./vendor/bin/sail up -d
- Сгенерировать application key
./vendor/bin/sail artisan key:generate
- Выполнить миграции и заполнить таблицы тестовыми данными
./vendor/bin/sail artisan migrate --seed
- Запустить воркер (worker) обрабатывающий задачи из очереди сообщений
./vendor/bin/sail artisan queue:work --queue=default,user-notify
- Для демонстрации работы команд выполняемых через cron можно запустить команду в локальной среде разработки
./vendor/bin/sail artisan schedule:test --name=app:send-event-reminders
Host | Назначение |
---|---|
http://localhost/api | API приложения |
http://localhost/api/documentation | Swagger UI - документация к API формата Swagger 3.0 |
http://localhost:8025 | Mailpit - вэб интерфейс для отладки отправки email сообщения |