Цель нашего тестового задания - это определить уровень ваших знаний и навыков по разработке бэкенда веб-приложения. Тестовое задание сформулировано без каких-то жёстких требований, но просим при реализации учитывать лучшую практику из вашего опыта по оформлению кода и репозитория, обеспечению безопасности, производительности и командной работе. Пожалуйста, помните, что код и API должны быть не только рабочими, но и стабильными, понятными и удобными в использовании.
- Создайте новый публичный репозиторий на Gitlab.com, его нужно назвать “test28”. Пришлите на него ссылку по итогу тестового.
- Установите последнюю версию фреймворка Laravel (9.x).
- Марка автомобиля
- Название
- Модель автомобиля
- Название
- Марка
- Автомобиль
- Марка
- Модель
- Год выпуска (опциональный атрибут)
- Пробег (опциональный атрибут)
- Цвет (опциональный атрибут)
- Список марок автомобилей;
- Список моделей автомобилей;
- Список + CRUD автомобилей.
(выполняется по желанию)
Привязать автомобиль к пользователю и разрешить пользователям доступ только к “своим” автомобилям.
cd /project-folder/test28
# Одно из двух делаем
# linux
cp .env.example .env
# windows
copy .env.example .env
# Сборка образа
docker compose build
# Запуск контейнеров
docker compose up -d
- Ждём пока соберутся образы.
- Запускаем контейнеры.
- Убедились что они все поднялись (если не встали, разбираемся почему).
- Ждем пока отработает стартовый скрипт в контейнере api.
Ссылка на открытый Workspace postman, с готовыми запросами.
- Форкаем postman, заходим в папку auth.
- Выбираем request Login (подготовил пользователя c email=[email protected] password=password).
- Отправляем (send).
- Из ответа, получаем token(Тип указан в ответе).
- Записываем его в Variables коллекции, называем его test28_token
Наслаждаемся.
- expire token поставил на 30 минут
- сделал schedule контейнер, в котором работает Laravel schedule через cron
- каждые 15 минут проверяет и удаляет просроченные token