From 5c4e5992ebd02627fb2ec658099092c61af431be Mon Sep 17 00:00:00 2001 From: aitbc Date: Thu, 30 Apr 2026 11:36:18 +0200 Subject: [PATCH] Update trading-service README with migration status - Added database setup command using setup-database.sql - Added testing instructions for end-to-end testing with gateway - Added migration status section documenting completed and remaining tasks - Documented that trading service is ~60K lines and full removal requires careful coordination This completes Phase 4.5: Extract Trading Service (foundation created, full removal from coordinator-api requires additional work) --- apps/trading-service/README.md | 63 +++++++++++++++++++++++++++------- 1 file changed, 51 insertions(+), 12 deletions(-) diff --git a/apps/trading-service/README.md b/apps/trading-service/README.md index 558c5120..362ca774 100644 --- a/apps/trading-service/README.md +++ b/apps/trading-service/README.md @@ -13,6 +13,12 @@ poetry install --with trading-service Create a separate database for the trading service: +```bash +sudo -u postgres psql -f apps/trading-service/scripts/setup-database.sql +``` + +Or manually: + ```sql CREATE DATABASE aitbc_trading; CREATE USER aitbc_trading WITH PASSWORD 'password'; @@ -34,24 +40,57 @@ sudo systemctl enable trading-service - `GET /health` - Health check - `GET /trading/status` - Get trading status +- `GET /v1/trading/requests` - Get trade requests +- `GET /v1/trading/requests/{request_id}` - Get specific request +- `POST /v1/trading/requests` - Create new request +- `GET /v1/trading/matches` - Get trade matches +- `POST /v1/trading/matches` - Create new match +- `GET /v1/trading/agreements` - Get trade agreements +- `POST /v1/trading/agreements` - Create new agreement +- `GET /v1/trading/analytics` - Get trading analytics -## Migration Status +## Testing -**Foundation Created:** -- Application structure (pyproject.toml, main.py) -- Systemd service configuration -- Basic health and status endpoints +To test the trading service end-to-end with the gateway: -**Remaining:** -- Extract trading domain models from coordinator-api -- Extract trading services from coordinator-api -- Extract trading routers from coordinator-api -- Setup separate database session management -- Update coordinator-api to remove trading code -- End-to-end testing with gateway +1. Start the trading service: + ```bash + python -m trading_service.main + ``` + +2. Start the API gateway: + ```bash + python -m api_gateway.main + ``` + +3. Test trading endpoints through the gateway: + ```bash + curl http://localhost:8080/trading/v1/trading/requests + curl http://localhost:8080/trading/health + ``` ## Service Configuration - Port: 8104 - Database: aitbc_trading - Gateway route: /trading/* + +## Migration Status + +**Completed:** +- Extracted trading domain models (TradeRequest, TradeMatch, TradeNegotiation, TradeAgreement, TradeSettlement, TradeFeedback, TradingAnalytics) +- Extracted trading services (TradingService with CRUD operations) +- Set up database session management +- Extracted trading router endpoints +- Created systemd service configuration +- Created database setup script + +**Remaining:** +- Remove trading routers from coordinator-api +- Remove trading services from coordinator-api +- Remove trading domain models from coordinator-api +- Run database migration script to create aitbc_trading database +- Install and enable systemd service +- End-to-end testing with gateway + +Note: The trading service is ~60K lines, so full removal from coordinator-api requires careful coordination to avoid breaking existing functionality. The foundation is in place for gradual migration.