Skip to content

Deployment and Operations

tien.nguyen edited this page Jul 30, 2026 · 2 revisions

Deployment & Operations Guide

This guide details environment setup, infrastructure container startup, local development steps, multi-module build execution, and operational troubleshooting for Emporia Trading Platform.


๐Ÿ“‹ System Prerequisites

  • Java Development Kit (JDK): OpenJDK 21 or Amazon Corretto 21.
  • Build Tool: Apache Maven 3.9+.
  • Node.js: Node 20+ & npm 10+ (for React trading frontend).
  • Container Runtime: Docker Desktop or Podman (for Kafka & PostgreSQL).
  • Matching Engine Dependency: exchange-core (git clone https://github.com/nvxtien/exchange-core.git && cd exchange-core && mvn clean install).

๐Ÿณ Infrastructure Startup

Emporia provides a root docker-compose.yml to spin up supporting middleware dependencies (PostgreSQL databases, Zookeeper, Apache Kafka broker).

# Clone repository and navigate to emporia root
cd /Volumes/Work/dev/trading/j-trading/emporia

# Start Docker containers in detached mode
docker compose up -d

# Verify container health status
docker compose ps

Managed Docker Containers

Container Name Internal Port Mapped Host Port Purpose
emporia-postgres 5432 5432 PostgreSQL cluster hosting service databases
emporia-zookeeper 2181 2181 Zookeeper coordination node for Kafka
emporia-kafka 9092 9092 Apache Kafka broker for event streaming

๐Ÿ› ๏ธ Building & Running Backend Services

1. Build & Install Required exchange-core Dependency

git clone https://github.com/nvxtien/exchange-core.git
cd exchange-core
mvn clean install

2. Build Entire Multi-Module Workspace

mvn clean install -DskipTests

2. Run All Verification Suites & Coverage

mvn clean verify

3. Run Individual Microservices locally

# 1. Authorisation Service
mvn spring-boot:run -pl authorisation-service

# 2. Static Data Service
mvn spring-boot:run -pl static-data-service

# 3. Market Data Service
mvn spring-boot:run -pl market-data-service

# 4. Order Command Service
mvn spring-boot:run -pl order-command-service

# 5. Order Management Service
mvn spring-boot:run -pl order-management-service

# 6. Execution Service
mvn spring-boot:run -pl execution-service

# 7. Gateway Service
mvn spring-boot:run -pl gateway

๐Ÿ’ป Running the React 19 Frontend

# Navigate to frontend directory
cd frontend

# Install npm dependencies
npm install

# Start Vite development server (:3001)
npm run dev

Open http://localhost:3001 in your browser to access the Emporia Trading Dashboard.

Clone this wiki locally