03. Структура
Как мы это строили
Чтобы фудтрак работал без сбоев даже при большом потоке клиентов, мы спроектировали надежную и масштабируемую архитектуру. Главной задачей было бесшовно связать пользовательский интерфейс с кухней, кассой и банковскими системами.
Ядро системы и хранение данных:
-
Backend: Использовали Django 4.2 в связке с Django REST Framework для создания быстрого и безопасного API.
-
База данных и кэш: Развернули PostgreSQL с оптимизированными индексами для надежного хранения данных. Для мгновенной загрузки каталога блюд и быстрой работы сессий подключили Redis.
Пользовательский интерфейс (Frontend):
Инфраструктура и развертывание:
-
Контейнеризация: Упаковали все сервисы в Docker (+ Docker Compose). Это позволило легко и предсказуемо разворачивать проект на серверах.
-
CI/CD: Настроили пайплайны в GitHub Actions для автоматического тестирования кода и непрерывного деплоя обновлений без остановки сервиса.
Связка систем (Интеграции): Это самая важная часть, которая позволила полностью автоматизировать рутину:
-
R-Keeper API: Настроили автоматическую передачу сформированных заказов прямо в POS-систему фудтрака, минуя ручной ввод кассира.
-
Платежные шлюзы: Интегрировали системы Kaspi Bank, Halyk Bank и Jusan Bank для удобной безналичной оплаты прямо со смартфона.
-
Уведомления: Подключили СМС-шлюз, чтобы клиенты получали статус заказа («Ваш лагман готовится» / «Заказ готов, заберите на выдаче»), и Telegram-бота для оперативного управления администраторами.