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 flowsglacez-soa-core: strategy control, ROI/lift jobs, synchronization orchestrationglacez-soa-worker: async execution (trading jobs, record imports, emails)glacez-soa-portfolio: portfolio and position calculations, distribution, coherence checksglacez-soa-findata: market data and persisted newsglacez-soa-simulator: strategy simulation worker (MQ-driven)glacez-soa-agent: AI report generation and investment profile summarizationglacez-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 jobsglacez.records.queue: record import jobsglacez.emails.queue: email jobsglacez.simulations.queue: simulation jobsglacez.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
- Backend service creates or updates an event
- Webservice publishes event push message to
glacez.events.fanout - UI pod consumes RabbitMQ message
- UI broadcaster pushes updates to all active user sessions/tabs
Related: