da11be526a6e0afc3b3cc4448af529d8557dbe64
Sendico 
Financial services platform providing payment orchestration, ledger accounting, FX conversion, and multi-rail payment processing.
Architecture
- Backend: Go microservices with gRPC inter-service communication
- Frontend: Flutter/Dart web application
- Infrastructure: Woodpecker CI/CD, Docker, MongoDB, NATS, Vault
Services
| Service | Path | Description |
|---|---|---|
| Discovery | api/discovery/ |
Service registry |
| Ledger | api/ledger/ |
Double-entry accounting |
| Orchestrator | api/payments/orchestrator/ |
Payment orchestration |
| Quotation | api/payments/quotation/ |
Payment quotation |
| Payment Methods | api/payments/methods/ |
Payment methods |
| Billing Fees | api/billing/fees/ |
Fee calculation |
| Billing Documents | api/billing/documents/ |
Billing documents |
| FX Oracle | api/fx/oracle/ |
FX quote provider |
| FX Ingestor | api/fx/ingestor/ |
FX rate ingestion |
| Gateway Chain | api/gateway/chain/ |
EVM blockchain gateway |
| Gateway TRON | api/gateway/tron/ |
TRON blockchain gateway |
| Gateway MNTX | api/gateway/mntx/ |
Card payouts |
| Gateway TGSettle | api/gateway/tgsettle/ |
Telegram settlements with MNTX |
| Notification | api/notification/ |
Notifications |
| BFF | api/server/ |
Backend for frontend |
| Frontend | frontend/pweb/ |
Flutter web UI |
Development
Development uses Docker Compose via the Makefile. Run make help for all available commands.
Quick Start
make init # First-time setup (generates keys, .env.dev, builds images)
make up # Start all services
make vault-init # Initialize Vault (if needed)
Common Commands
make build # Build all service images
make up # Start all services
make down # Stop all services
make restart # Restart all services
make status # Show service status
make logs # View all logs
make logs SERVICE=dev-ledger # View logs for a specific service
make rebuild SERVICE=dev-ledger # Rebuild and restart a specific service
make clean # Remove all containers and volumes
Selective Start
make infra-up # Start infrastructure only (MongoDB, NATS, Vault)
make services-up # Start application services only (assumes infra is running)
Build Groups
make build-core # discovery, ledger, fees, documents
make build-fx # oracle, ingestor
make build-payments # orchestrator
make build-gateways # chain, tron, mntx, tgsettle
make build-api # notification, bff
make build-frontend # Flutter web UI
Code Generation
make generate # Generate all code (protobuf + Flutter)
make generate-api # Generate protobuf code only
make generate-frontend # Generate Flutter code only (build_runner)
make proto # Alias for generate-api
Testing
make test # Run all tests (API + frontend)
make test-api # Run Go API tests only
make test-frontend # Run Flutter tests only
Update Dependencies
make update # Update all Go and Flutter dependencies
make update-api # Update Go dependencies only
make update-frontend # Update Flutter dependencies only
Description
Languages
Go
77.8%
Dart
17.9%
Shell
2.5%
Dockerfile
0.7%
C++
0.4%
Other
0.5%