Skip to content

Repository files navigation

Auction - сервис аукционных торгов

Демо: https://demo.example.com

Коротко: Сервис управления кошельками пользователей и транзакциями для микросервисной платформы аукциона. Предоставляет REST API на микросервисной архитектуре для создания пользователей, управления балансом и выполнения транзакций.

Архитектура

flowchart LR
	Client[Пользователь / UI]
	subgraph Gateway
		GW[gateway]
	end
	subgraph Services
		Auction[auction-service]
		Notification[notification-service]
		Wallet[user-wallet-service]
	end
	Client -->|HTTP| GW
	GW -->|HTTP proxy / auth| Auction
	GW -->|HTTP proxy / auth| Wallet
	Auction -->|produce| Kafka[(Kafka topic: bids)]
	Notification -->|consume| Kafka
	Auction -->|SQL| AuctionDB[(auction DB)]
	Wallet -->|SQL| WalletDB[(wallet DB)]
	Notification -->|SQL| NotifDB[(notification DB)]
	Auction -->|HTTP / RPC| Wallet
	NoteRight[Deploy: Docker Compose / Kubernetes]
	NoteRight --> GW
	NoteRight --> Auction
	NoteRight --> Wallet
	NoteRight --> Notification
Loading

Краткая легенда:

  • gateway — обратный прокси / аутентификация, маршрутизация запросов к сервисам.
  • auction-service — логика торгов (создание лотов, ставки), публикует события в Kafka.
  • notification-service — потребляет события из Kafka, формирует уведомления.
  • user-wallet-service — управление кошельками, авторизация, операции с балансом.
  • Каждому сервису — своя БД (SQL). Межсервисное взаимодействие — HTTP + сообщения через Kafka.
  • Развёртывание: docker-compose.yaml / контейнеры.
Service Port Description
Gateway 8080 API Gateway with JWT auth, rate limiting, reverse proxy
Auction Service 8081 Lot management, bidding logic, auction completion
User-Wallet Service 8082 User authentication, wallet & balance management
Notification Service 8083 Kafka consumer, notification delivery

Ключевые файлы (пример):

Стек:

Go Gin GORM PostgreSQL Swagger Apache Docker Compose

Ссылки на участников разработки:

Quick Start with Docker

  1. Склонировать репозиторий:
git clone git@github.com:warkaz16/auction.git
cd auction
  1. Создать переменные окружения:
cp .env.example .env
# Edit .env and set JWT_SECRET
  1. Запуск всез серверов:
docker-compose up --build
  1. Доступ к сервисам:

Примечания:

  • Перед запуском убедитесь, что настроены переменные окружения для подключения к базе и Kafka (см. internal/config).

About

Сервис управления кошельками пользователей и транзакциями для микросервисной платформы аукциона.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages