Skip to content

Platform Map

Main components

  • glacez-webapp-ui: main user interface (portfolio, positions, strategies, transactions, events, onboarding)
  • glacez-webapp-admin: admin interface (currencies, users, OHLCV, keys)
  • glacez-soa-webservice: main API gateway for frontend-facing flows
  • glacez-soa-core: strategy control, ROI/lift jobs, synchronization orchestration
  • glacez-soa-worker: async execution (trading jobs, record imports, emails)
  • glacez-soa-portfolio: portfolio and position calculations, distribution, coherence checks
  • glacez-soa-findata: market data and persisted news
  • glacez-soa-simulator: strategy simulation worker (MQ-driven)
  • glacez-soa-agent: AI report generation and investment profile summarization
  • glacez-lib: shared models, factories, exchange clients

Data and messaging

  • MongoDB: primary persistence layer across services
  • RabbitMQ: async jobs and event fanout
  • glacez.trading.queue: order/withdraw execution jobs
  • glacez.records.queue: record import jobs
  • glacez.emails.queue: email jobs
  • glacez.simulations.queue: simulation jobs
  • glacez.events.fanout: real-time event push to UI pods

Responsibility boundaries

  • UI and admin apps call webservice; they do not orchestrate backend domains directly.
  • Webservice delegates specialized operations:
  • portfolio math to portfolio SOA
  • strategy control and sync jobs to core SOA
  • execution to worker via RabbitMQ
  • market/news data to findata SOA
  • AI reports to agent SOA
  • Worker is the execution specialist for exchange actions and record imports.
  • Portfolio SOA is the source of truth for portfolio/position calculations and transaction coherence checks.

Real-time event path

  1. Backend service creates or updates an event
  2. Webservice publishes event push message to glacez.events.fanout
  3. UI pod consumes RabbitMQ message
  4. UI broadcaster pushes updates to all active user sessions/tabs

Related: