Thanks to visit codestin.com
Credit goes to github.com

Skip to content

aavilyavdo/toworkwith

Repository files navigation

#1-65 initial statement for project #Необходимо разработать бекенд (серверную часть) веб-приложения, демонстрирующего #расписание рейсовых автобусов. #Автобусы двигаются по маршрутам от конечной до конечной в прямом и обратном направлении. В #разных направлениях может быть разный набор остановочных пунктов. #Фронтенд приложения получает данные с сервера через REST API, необходимо реализовать #следующие методы этого API:

#/api/find-bus #Описание: #Возвращает автобусы, маршрут которых включает отрезок от одной остановки к другой, с тремя #ближайшими к текущему времени вариантами времени прибытия на исходную остановку. #Параметры запроса: #● from: id исходной остановки. #● to: id конечной остановки. #Пример ответа: #{ #"from": "ул. Пушкина", #"to": "ул. Ленина", #"buses": [ #{ #"route": "Автобус No11 в сторону ост. Попова", // указывается конечная остановка маршрута #"next_arrivals": ["08:15", "08:40", "09:15"] #}, #{ "route": "Автобус No21 в сторону ост.Ленина", "next_arrivals": ["08:30", "09:04", "09:30"] } ] } Методы (или метод) предоставляющие механизм редактирования маршрутов, т.е. набора остановок на пути следования автобуса (без указания времени). Входный параметры и формат ответа продумать самостоятельно. Требования к реализации: Язык программирования: PHP (версия 7+). Использование фреймворка: допускается использование фреймворка на выбор: Laravel, Symfony, Yii2 или чистый PHP. База данных: PostgreSQL. Использование подхода ООП Оцениваться будут архитектура решения, качество кода, соответствие REST принципам и тестируемость. Будет плюсом если проект будет запускаться в docker. Результат представить в виде ссылки на публичный репозиторий на bitbucket.org. Он должен включать в себя php файлы проекта, sql дамп базы, схему структуры базы данных в виде изображения и инструкцию по запуску проекта. Давайте разработаем серверную часть веб-приложения для демонстрации расписания рейсовых автобусов. Для начала определимся со структурой базы данных и основными сущностями, а затем перейдем к разработке API на основе выбранного вами фреймворка.

Структура базы данных Мы будем использовать следующие сущности:

Остановки (stop) id: идентификатор остановки name: название остановки Автобусы (bus) id: идентификатор автобуса number: номер автобуса Маршруты (route) id: идентификатор маршрута bus_id: идентификатор автобуса direction: направление маршрута (прямое или обратное) stops: массив идентификаторов остановок Расписание (schedule) route_id: идентификатор маршрута arrival_time: время прибытия на остановку Методы (или метод) предоставляющие механизм редактирования маршрутов, т.е. набора остановок на пути следования автобуса (без указания времени). Входный параметры и формат ответа продумать самостоятельно. Требования к реализации: Язык программирования: PHP (версия 7+). Использование фреймворка: допускается использование фреймворка на выбор: Laravel, Symfony, Yii2 или чистый PHP. База данных: PostgreSQL. Использование подхода ООП Оцениваться будут архитектура решения, качество кода, соответствие REST принципам и тестируемость. Будет плюсом если проект будет запускаться в docker. Результат представить в виде ссылки на публичный репозиторий на bitbucket.org. Он должен включать в себя php файлы проекта, sql дамп базы, схему структуры базы данных в виде изображения и инструкцию по запуску проекта. Давайте разработаем серверную часть веб-приложения для демонстрации расписания рейсовых автобусов. Для начала определимся со структурой базы данных и основными сущностями, а затем перейдем к разработке API на основе выбранного вами фреймворка.

Структура базы данных Мы будем использовать следующие сущности:

Остановки (stop) id: идентификатор остановки name: название остановки Автобусы (bus) id: идентификатор автобуса number: номер автобуса Маршруты (route) id: идентификатор маршрута bus_id: идентификатор автобуса direction: направление маршрута (прямое или обратное) stops: массив идентификаторов остановок Расписание (schedule) route_id: идентификатор маршрута arrival_time: время прибытия на остановку Миграции Создадим миграции для каждой из этих таблиц:

Инструкция по запуску проекта Скопируйте репозиторий на свой компьютер:

git clone https://bitbucket.org/your-repository.git cd bus-scheduler Запустите контейнеры Docker:

docker-compose up -d Выполните миграцию базы данных:

docker-compose exec web php artisan migrate Откройте браузер и перейдите по адресу http://localhost:8080, чтобы увидеть ваше приложение. Схема структуры базы данных Вы можете создать схему структуры базы данных с помощью инструмента, такого как PostgreSQL Maestro. Сохраните её в формате PNG и добавьте в репозиторий.

Вот и всё! Ваш проект готов к использованию. Удачи в разработке!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published