Files
sendico/ci/dev/CHECKLIST.md
2026-01-30 16:58:02 +01:00

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

  1. Vault Secrets: Services using Vault (chain, mntx, tgsettle) need secrets populated
  2. External APIs: MNTX and TGSettle need API credentials from Vault
  3. Blockchain: Chain gateway needs blockchain node URLs and private keys
  4. 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

  1. Test make init && make up
  2. Verify all services start successfully
  3. Check logs for any errors
  4. Test service-to-service communication
  5. Add seed data scripts
  6. 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