cp .env.example .env
composer install
php artisan key:generate
docker-compose up -d
docker-compose exec laravel.test bash
php artisan passport:keys
php artisan migrate --seed
# Проверить работоспособность проекта
php artisan test- Postman коллекция находится в корне в файле
postman_collection.json - По роуту
/request-docsможно потрогать доступные по API роуты
Разработать базу данных и REST API административной части CMS-сервиса. Проект должен разворачиваться на Docker. Для проверки методов приложить коллекцию в Postman.
Требования:
- Миграции для определения схем баз данных;
- Пользователь по умолчанию: admin/admin;
- Сгенерировать 50 пользователей (Factories) со случайными данными и доступами.
- Аутентификация пользователя:
- Метод выхода из сервиса (revoke token);
- Заблокированные пользователи не могут пользоваться авторизованными методами; // Оставил возможность ревоука токена
- Метод получения списка пользователей (с пагинацией и поиском);
- Метод подробной информации о пользователе;
- Авторизация пользователя OAuth2 (Laravel Passport);
- Метод изменения пользователя;
- Метод блокировки/разблокировки пользователя;
- Метод изменения пароля пользователя;
- Валидация пароля: 8-20 символов, должен содержать как минимум одну заглавную букву, одну цифру и один символ;
- Метод добавления пользователя;
- Пользователи без доступа к модулю “Администрирование” не могут пользоваться методами для получения/добавления/изменения пользователей;
- Пользователи без доступа к модулю “Администрирование” могут получать подробную информацию только о самих себе;
- Пользователи без доступа к модулю “Администрирование” могут поменять только собственный пароль;
Необходимые роуты:
- Логин
- Логаут
- Получение списка пользователей с поиском и пагинацией
- Полная информация пользователя
- Изменение пароля пользователя
- Редактирование данных пользователя
- Создание нового пользователя