4.4 KiB
4.4 KiB
Development Environment - Implementation Checklist
✅ Completed
Infrastructure (3/3)
- MongoDB Replica Set (3 nodes with auto-init)
- NATS with JetStream
- Vault (single node for application data)
Application Services (12/12)
- Discovery Service
- FX Oracle Service
- FX Ingestor Service
- Billing Fees Service
- Ledger Service
- Payments Orchestrator Service
- Chain Gateway Service
- MNTX Gateway Service
- TGSettle Gateway Service
- Notification Service
- BFF (Server) Service
- Frontend (Flutter Web)
Configuration Files
- docker-compose.dev.yml (complete with all services)
- .env.dev (plaintext credentials template)
- Makefile (full command suite)
- .gitignore (updated with dev files)
Dockerfiles (12/12)
- ci/dev/discovery.dockerfile
- ci/dev/ledger.dockerfile
- ci/dev/billing-fees.dockerfile
- ci/dev/fx-oracle.dockerfile
- ci/dev/fx-ingestor.dockerfile
- ci/dev/payments-orchestrator.dockerfile
- ci/dev/chain-gateway.dockerfile
- ci/dev/mntx-gateway.dockerfile
- ci/dev/tgsettle-gateway.dockerfile
- ci/dev/notification.dockerfile
- ci/dev/bff.dockerfile
- ci/dev/frontend.dockerfile
Scripts & Utilities
- ci/dev/mongo.key (MongoDB keyfile)
- ci/dev/vault/config.hcl (Vault config)
- Vault templates removed (not needed for dev)
- Makefile commands for all operations
Documentation
- SETUP.md (comprehensive setup guide)
- ci/dev/README.md (quick reference)
- ci/dev/CHECKLIST.md (this file)
- CLAUDE.md (updated with dev commands)
🎯 Ready to Test
Initial Setup
make init
Start Environment
make up
Initialize Vault (if needed)
make vault-init
Check Status
make status
make list-services
📊 Service Dependencies
Infrastructure Layer:
├─ MongoDB (dev-mongo-1, dev-mongo-2, dev-mongo-3)
├─ NATS (dev-nats)
└─ Vault (dev-vault)
Service Layer:
├─ dev-discovery → [nats]
├─ dev-fx-oracle → [mongo, nats]
├─ dev-fx-ingestor → [mongo, nats]
├─ dev-billing-fees → [mongo, nats, fx-oracle]
├─ dev-ledger → [mongo, nats, discovery, billing-fees]
├─ dev-payments-orchestrator → [mongo, nats, ledger, billing-fees]
├─ dev-chain-gateway → [mongo, nats, discovery, vault]
├─ dev-mntx-gateway → [nats, discovery, vault]
├─ dev-tgsettle-gateway → [mongo, nats, discovery, vault]
├─ dev-notification → [nats]
├─ dev-bff → [mongo, nats, ledger, payments, chain-gateway]
└─ dev-frontend → [bff]
🔍 Validation Steps
1. Infrastructure
- MongoDB replica set initializes correctly
- NATS is accessible and healthy
- Vault starts and can be initialized
2. Core Services
- Discovery service starts and is healthy
- Ledger service connects to MongoDB and NATS
- Billing fees service can query FX oracle
- FX oracle provides quotes
3. Payment Flow
- Payments orchestrator can communicate with ledger
- Payments orchestrator can calculate fees
- Payment plan execution works
4. Gateways
- Chain gateway connects to Vault for keys
- MNTX gateway is reachable
- TGSettle gateway connects to Telegram
5. Frontend
- BFF serves API endpoints
- Frontend builds successfully
- Frontend connects to BFF
🐛 Known Considerations
- Vault Secrets: Services using Vault (chain, mntx, tgsettle) need secrets populated
- External APIs: MNTX and TGSettle need API credentials from Vault
- Blockchain: Chain gateway needs blockchain node URLs and private keys
- Build Time: Frontend build takes ~5-10 minutes (Flutter compile)
📝 Post-Setup Tasks
- Populate Vault with blockchain keys for Chain Gateway
- Add MNTX API credentials to Vault
- Add TGSettle (Telegram) credentials to Vault
- Seed test data into MongoDB
- Configure blockchain RPC endpoints
- Test full payment flow end-to-end
🚀 Next Development Steps
- Test
make init && make up - Verify all services start successfully
- Check logs for any errors
- Test service-to-service communication
- Add seed data scripts
- Create integration tests
Status: ✅ COMPLETE - Ready for testing Date: 2026-01-27 Build System: Docker Compose + Makefile Total Services: 12 application + 3 infrastructure = 15 containers