@hexlet/php-flight-booking-frontend
v1.0.2
Published
Фронтенд сервиса бронирования авиабилетов. Хекслет предоставляет его студенту-бекендеру: приложение работает поверх API, которое студент реализует по контракту.
Readme
frontend — готовый фронтенд для студента-бекендера
Приложение сервиса бронирования на React + Vite + TypeScript. Студент его не пишет — он подключает собранную сборку и реализует под неё API. Экраны: поиск рейсов, оформление брони, просмотр и отмена.
Публикуется как npm-пакет @hexlet/php-flight-booking-frontend, в пакет уезжает только dist.
Команды
make install # npm install
make build # tsc + vite build → dist/
make dev # дев-сервер на :5173, проксирует /api на $API_URL (дефолт http://localhost:8080)
make publish # npm publish (вручную, нужен токен)Как он попадает в приложение
code/package.json зависит от этого пакета, make -C code build копирует его dist в public/,
откуда статику раздаёт сервер студента. Запросы идут по относительным путям /api/... — тот же
origin, что и приложение; абсолютного адреса API в сборке нет.
Пока пакет не опубликован в npm, зависимость указана как file:../frontend — npm подставляет
локальный каталог симлинком. После публикации это меняется на версию из реестра одной строкой в
code/package.json.
Чего здесь намеренно нет
Зависимости от @hexlet/frontend-flight-booking-server. В проекте для фронтендеров этот пакет
подключён и раздаёт статику вместе с API, но он же — полная эталонная реализация API, то есть
готовое решение задачи бекендера. Здесь его быть не должно ни в зависимостях, ни в скриптах.
