Backend-разработка
Backend для склада, диспетчерской службы и платежей
Сервисы на Go и Python для задач, где одна операция ни в коем случае не должна выполниться дважды.
- опыта в backend-разработке и интеграциях
- 6 лет
Что получите
- API и фоновые задачи под конкретную операцию: приёмку товара, отгрузку, диспетчеризацию транспорта, приём платежей.
- Журнал операций в PostgreSQL. Каждая операция записывается в журнал до обращения к внешней системе, поэтому двойное нажатие кнопки на терминале сбора данных создаёт один документ, а не два.
- Метрики в Prometheus, понятные логи и автоматическая проверка того, что сервис работает.
- Автоматические тесты на настоящей базе, Docker-образ и установка на ваш сервер или в Kubernetes.
Как делаю
У каждой части бизнеса свой модуль, а бизнес-логика написана простыми функциями, которые легко проверить тестами. Ничего не делаю «на вырост», если это не нужно сейчас.
Весь проект проверяется одной командой. Изменение не попадает в работу, пока проверка не пройдена.
Как журнал операций не даёт создать второй документ или платёж, я разобрал в статье «Повторный запрос не должен создавать второй заказ». Если нужен обмен между готовыми системами, а не свой сервис, посмотрите интеграцию 1С, CRM и маркетплейсов.
Когда нужен отдельный backend-сервис
- Склад работает на терминалах сбора данных, а ERP слишком медленная или ненадёжная, чтобы подключать терминалы к ней напрямую.
- Процесс держится на таблицах и мессенджерах, и ему нужен нормальный сервис.
- Серверная часть работает, но никто не решается её менять.
Частые вопросы
На чём пишете?
Go или Python, база PostgreSQL, очереди на RabbitMQ или Redis, метрики в Prometheus. Сервис поставляется Docker-образом и работает на вашем сервере или в Kubernetes.
Берёте готовый проект на сопровождение?
Да. Первую неделю изучаю код, настраиваю автоматическую проверку и составляю список проблем. Потом вместе решаем, что исправлять в первую очередь.