Маркетплейс: мобильное приложение, веб и админка
Сельскохозяйственный маркетплейс, связывающий производителей и покупателей: приложение на Flutter для поля, консоль на React для операций и NestJS API за обоими. Наша собственная разработка.
- NestJS
- PostgreSQL
- Flutter
- React
- Docker
- nginx
/Задача
У маркетплейса три аудитории, почти не пересекающиеся между собой: производители с телефоном под открытым небом и слабой связью, покупатели, которые смотрят каталог, и операторы, которым нужно вмешиваться. Три интерфейса на одном API означают, что API нельзя затачивать ни под один из них.
/Решение
NestJS API на PostgreSQL как единственный источник истины, с ролевым доступом и валидацией на границе, а не в каждом клиенте. Мобильное приложение на Flutter, одна кодовая база на обе платформы; операционная консоль на React, где важнее плотность и работа с клавиатуры, чем касания. Интеграция локальных платежей живёт на стороне сервера, чтобы ни один клиент не хранил учётные данные.
/Результат
Один API обслуживает трёх клиентов по описанному контракту, развёрнут в контейнерах за nginx. Архитектура, результаты аудита и порядок работы с секретами записаны в репозитории, а не держатся в голове одного человека.
/Задействованные услуги