Кейс 07 / Разработка и DevOps
Сервис заказа еды и кабинет ресторана
Объединить каталог ресторанов, заказ, оплату, статусы доставки и работу партнеров в одной продуктовой системе.
Результат
Единая продуктовая система для выбора ресторана, оформления и оплаты заказа, отслеживания доставки и работы партнеров. В нее входят web-интерфейс, mobile приложения и адаптеры ресторанных интеграций.
С чего начали
- Разделили сценарий между гостем, рестораном, оператором и курьером.
- Сохранили заказ единым объектом с общей историей для всех участников.
- Вынесли интеграции с разными кассовыми системами в отдельные адаптеры.
- Зафиксировали цену и состав заказа в момент подтверждения, а для внешних статусов ввели проверку допустимых переходов.
Что сделала команда
- Разработали web-интерфейс каталога, поиска, карточки ресторана и корзины.
- Синхронизировали меню, цены, модификаторы, график и недоступные позиции.
- Добавили онлайн-оплату, промокоды, бонусы и расчет итоговой суммы.
- Создали кабинет партнера и mobile приложения для клиента и курьера.
- Реализовали события заказа, push-уведомления и поддержку в контексте доставки.
- Добавили защиту от дублей и повторной оплаты, настроили мониторинг отдельных интеграций.
Как проверили результат
- Недоступную позицию нельзя оплатить из старой вкладки.
- Ресторан видит только свои заказы и настройки.
- Повторное нажатие не создает второй заказ.
- Сбой кассовой системы попадает в контролируемую очередь.
- Ключевой путь проверяется в web, Android и iOS.
Передача результата
Что получил заказчик
- Web и mobile приложения.
- Сервисы заказа.
- Кабинет ресторана.
- Адаптеры интеграций.
- Документация событий, дашборды, автотесты и порядок реагирования на инциденты.
Технический контур
Технологии и инструменты
- React
- TypeScript
- ASP.NET Core
- Kotlin
- Swift
- PostgreSQL
- Redis
- RabbitMQ