Язык / Language: Русский | English
- Бакин Владислав Артемович, АСУ-23-1б — @Meidorislav
- Умарова Ангелина Михайловна, АСУ-23-1б — @gelya305
Система приёма и надёжной обработки платёжных транзакций с эмуляцией POS-терминала
- Разработка эмулятора POS-терминала на Raspberry Pi (или аналог): кнопки/энкодер для ввода суммы и подтверждения операции, световая/дисплейная индикация статуса транзакции (ожидание/обработка/успех/ошибка).
- Публикация событий транзакций в Apache Kafka от нескольких независимых терминалов для асинхронной надёжной доставки без блокировки устройства-источника.
- Разработка backend сервера на Go: consumer Kafka с идемпотентной обработкой транзакций (дедупликация по уникальному
transaction_idчерез Redis), REST API для статуса и истории операций. - Разработка Android-приложения кассира (Java): просмотр статуса транзакций в реальном времени, история операций.
- Нагрузочное тестирование пайплайна обработки транзакций.
Работающий прототип, включающий:
- эмулятор POS-терминала на Raspberry Pi (или аналог);
- Kafka-очередь событий транзакций;
- Go-сервер с идемпотентной обработкой транзакций;
- Android-приложение кассира (Java) с историей операций и статусом в реальном времени;
- документированный REST API (Swagger).
Проект состоит из нескольких компонентов с разными технологическими стеками и жизненными циклами разработки (эмулятор терминала оплаты на Raspberry Pi, backend-сервис на Go, Android-приложение на Java), взаимодействующих между собой через Kafka и REST API. Вместо монорепозитория решено использовать организацию на GitHub с отдельным репозиторием на каждый компонент — это упрощает независимую сборку, версионирование и CI для каждой части:
- Организация на GitHub: https://github.com/pos-term
- pos-term/.github —
.githubстандартный репо для организации - pos-term/term-emulator — эмулятор POS-терминала
- pos-term/payment-processor — Go-сервер
- pos-term/mobile-dashboard — Android-приложение кассира
- pos-term/infra — Инфраструктура
- pos-term/.github —