Проект является REST API сервисом по покупке и аренде машин. Основные условия выполнены.
При просмотре машины, вы можете получить цены и характеристики.
Если же машина была приобретена каким либо из двух способов, то при просмотре машины, вы также получите PIN-код
, для доступа к ней (гипотетический доступ). Данный PIN-код
добавлен для демонстрации авторизации, так как его не могут видеть пользователи, которые не приобрели машину.
Также при проверке статуса вашей покупки, для неё генерируется UUID
, который связывает между собой аккаунт пользователя, покупку, а также машину.
Данный UUID
является подтверждением подлинности покупки.
Также в проекте присутствуют роли: admin
и user
. Admin может создавать новые машины и обновлять их.
Ниже вы можете посмотреть инструкции по запуску проекта, а также его схему.
Клонирование репозитория:
git clone https://github.com/NikolaiProgramist/keep-code-test-assignment.git
cd keep-code-test-assignment
Создайте пустую базу данных Mysql
и введите данные для подключения к ней в .env.example
файле:
DB_DATABASE=db_name
DB_USERNAME=username
DB_PASSWORD=password
Далее переименуйте файл .env.example
в .env
:
mv .env.example .env
Установите зависимости:
composer install
Накатите миграции:
php artisan migrate
Заполните таблицы тестовыми данными:
php artisan db:seed --class=UserSeeder
php artisan db:seed --class=CarSeeder
Запустите сервер:
php artisan serve
Запустите фоновые schedule
задачи:
php artisan schedule:work
Это необходимо для автоматического удаления просроченных токенов, а также удаления просроченной аренды.
После всего проделанного, вы сможете получить доступ к api на localhost:8000/api/v1/
.
В базе данных присутствует администратор, вот его данные для аутентификации:
email: admin@mail.ru password: test1234
Tip
Вы также можете использовать коллекцию postman
для тестирования.
Она располагается в директории files/
.
Маршруты:
База данных:
Формула подсчёта лимита часов для продления аренды (в проекте используется лимит 24 часа):