Разработал backend-систему электронного кошелька на Golang с регистрацией пользователей, JWT-авторизацией, хранением средств в нескольких валютах и операциями пополнения, вывода и обмена.
Архитектура разделена на несколько сервисов. Основной сервис взаимодействует с сервисом курсов валют через gRPC и отправляет информацию о транзакциях через Kafka в отдельный сервис хранения операций.
Реализовал:
— REST API;
— JWT-аутентификацию;
— PostgreSQL и миграции;
— взаимодействие сервисов через gRPC;
— Kafka producer/consumer;
— хранение событий в MongoDB;
— обработку конкурентных операций с кошельком;
— кэширование курсов валют;
— graceful shutdown;
— Docker / Docker Compose;
— unit-тесты бизнес-логики.
Сервис можно запускать локально через Docker Compose.
https://github.com/flastors/gw-exchanger