EN
Platform UI is currently English-only. Other languages here track your preference for future translations.
core-platform
Multi-protocol microservice platform for translation services
A Go-based microservice that provides translation functionality through multiple communication protocols including HTTP REST, gRPC, AMQP RPC (RabbitMQ), and NATS RPC.
View on GitHub →Key Features
Everything you need to run translation services across multiple protocols with a clean, extensible architecture.
Multi-Protocol Support
Expose the same business logic via HTTP, gRPC, AMQP RPC, and NATS RPC — all running concurrently in one service.
Clean Architecture
Organized with clear separation between controllers, use cases, and repositories — easy to extend and maintain.
Translation Services
Core functionality for text translation with full history tracking — know what was translated and when.
Database Integration
PostgreSQL with migration support ensures your translation history is stored reliably and queried efficiently.
Message Brokers
Support for both RabbitMQ and NATS message brokers, giving you flexibility in your infrastructure choices.
Configuration
Environment-based configuration with sensible defaults — get started quickly and tune as needed.
Architecture
The platform uses a layered design where protocol-specific controllers delegate to shared use cases and repositories, ensuring consistent behavior across all communication channels.
Controllers
- HTTP — REST API endpoints at
/v1/translation - gRPC — Protocol buffer-based service
- AMQP RPC — RabbitMQ-based RPC calls
- NATS RPC — NATS-based RPC calls
Data Layer
- PostgreSQL — Persistent storage for translation history
- Web API — External translation service integration (stub implementation)
Tech Stack
The service maintains translation history in PostgreSQL and provides the same functionality across all supported protocols.
Quick Start
Get up and running in three simple steps.
Start Infrastructure
Launch PostgreSQL, RabbitMQ, and NATS with a single command.
Run Migrations
Apply database migrations and configure your environment file.
Run the App
Start the application and access all protocol endpoints.
# Start infrastructure
docker-compose up -d postgres rabbitmq nats
# Run migrations
docker-compose up migrate
# Configure environment
cp .env.example .env
# Run the application
make run # or go run cmd/app/main.go
API Endpoints
The service maintains translation history in PostgreSQL and provides the same functionality across all supported protocols.