Проект является 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: [email protected] password: test1234
Tip
Вы также можете использовать коллекцию postman для тестирования.
Она располагается в директории files/.
Маршруты:
База данных:
Формула подсчёта лимита часов для продления аренды (в проекте используется лимит 24 часа):


