Техническое задание: Микросервис «Складские остатки»

Цель проекта

Разработать высокопроизводительный и надежный бэкенд-сервис для управления актуальными данными о количестве товаров на складе. Сервис должен обеспечивать мгновенное обновление и предоставление информации даже при интенсивной нагрузке.

Стек технологий

  • Язык программирования: Rust
  • Веб-фреймворк: Actix-web
  • База данных: PostgreSQL
  • Взаимодействие: REST API (JSON)

Ключевые требования к функционалу

Основные операции

  • Получение текущего остатка товара по его идентификатору (ID).
  • Оперативное изменение остатка (увеличение/уменьшение) с фиксацией причины операции (например, «приход», «продажа», «списание»).
  • Получение истории операций по конкретному товару за указанный период.

Требования к производительности и надежности

  • Архитектура должна быть рассчитана на обработку высокого RPS (запросов в секунду).
  • Необходимо обеспечить консистентность данных при параллельных операциях.
  • Реализовать корректную обработку ошибок и логирование ключевых событий.
  • Продумать стратегию подключения к БД (пулы соединений).
  • Код должен быть чистым, документированным и покрытым базовыми тестами.

Дополнительные пожелания

  • Наличие Dockerfile для контейнеризации сервиса.
  • Примеры запросов и ответов API (curl или Postman-коллекция).
  • Краткое описание развертывания.

Разработка телеграм-бота для кофейни на Python

Необходимо создать функционального Telegram-бота для приема и обработки заказов в кофейне. Бот должен иметь админ-панель для управления меню и отслеживания заказов. Требуется чистый Python без использования конструкторов.