Полный разработчик разработчика Unstop
Запись о проблеме
- В тренере поезда есть 80 мест с 7 местами подряд и последним рядом всего на 3 места. Для простоты в этом поезде есть только один тренер.
- Один человек может зарезервировать до 7 мест за раз.
- Если человек зарезервирует места, приоритетом будет забронировать их в одном ряду.
- Если места не доступны в одном ряду, то бронирование должно быть сделано таким образом, чтобы ближайшие места были забронированы.
Решение
- Проблемный сценарий включает в себя тренер поезда с 80 местами, расположенным в рядах. Каждое место может быть в одном из двух состояний: пусто ('0') или забронировано ('1'). Статус сиденья представлен строкой, называемой «all_seats» с длиной 80 .
- Чтобы сохранить статус сиденья, строка «all_seats» хранится в базе данных. Это позволяет программе сохранять изменения, внесенные в резервирование сидений.
- Логика в коде, areseatsavailable () функция проверяет, имеет ли заданный строк последовательный блок пустых сидений, который может вместить определенное количество мест. Требуется ряд мест ($ ряд) и желаемое количество мест, которые будут зарезервированы ($ numseats)
- Функция Breanseseats () отвечает за резервирование мест в тренере поезда. Требуется два параметра: массив тренера ($ Coach) и желаемое количество мест, которые будут зарезервированы ($ Numseats).
- Хранив строку «all_seats» в базе данных, резервирование сидений может сохраняться в разных прогонках программы. Это позволяет программе поддерживать последний статус сиденья даже после перезапуска или закрытия приложения.
Как запустить приложение
- Загрузите проект ZIP с GitHub [https://github.com/kunalpandharkar/unstop-challenge]
- Установить все зависимости проекта, запустив команду
- Установите файл среды, копируйте файл * .env.example на .env в корне проекта.
- Обновите файл .env с соответствующими деталями конфигурации (настройки базы данных и т. Д.) Для вашей локальной среды.
- Создайте ключ приложения:
- Запустите сервер XAMPP. [Mysql]
- Запустить миграции базы данных:
php artisan migrate:fresh
- * Очень важно: сеялка базы данных, которая вставляет строку с длиной 80 в таблице.
Файлы, используемые в проекте
app/Http/Controllers/TicketBookingController
database/migrations/
database/seeders/TicketbookingSeeder
resources/views/welcome.blade.php
resources/views/ticket-info.blade.php
routes/web.php
Обо мне
Полный веб -разработчик с полным стеком имеет опыт разработки и развертывания успешных проектов в соответствии с требованиями и спецификациями клиента, ищет сложную роль в авторитетной организации, чтобы использовать мои навыки
? Ссылки