A microservices-based chat tool to help informal sellers into the digital economy \(@^0^@)/
This repository implements a distributed system composed of three primary capabilities:
- Automatic product querying via the WAHA service (WhatsApp integration)
- Payment transactions via the Interledger protocol / Open Payments network
- Automated answers using real-time LLMs
(o゜▽゜)o☆
| Service | Container Name | Port | Purpose |
|---|---|---|---|
| WAHA Service | waha | 3000 (localhost-bound) | WhatsApp API integration: session management, media handling |
| Interledger Service | interledger_service | 3005 | Payment processing using Interledger / Open Payments |
| Data Service | mongo_service | 3000 (separate compose) | RESTful Product CRUD API backed by MongoDB |
| MongoDB | mongodb | 27017 | Document database for product data |
| OLLAMA LLM | OLLAMA | 11434 | Intelligent automation into the messaging/payment loop |
| OLLAMA Service | ollama-service | 3000 | Frontend and service communication for the LLM processing |
Technology Stack & Key Dependencies WAHA Service
- Pre-built image: devlikeapro/waha:latest Interledger Service
- @interledger/open-payments
- express, cors, dotenv Data Service
- express, mongoose (MongoDB ODM), cors, dotenv Configuration via .env files on each service, excluded from version control.
Data Persistence Strategy WAHA: File-based persistence — sessions directory (./waha/sessions) and media directory (./waha/media) mounted as host bind-mounts Data Service: MongoDB document store, accessed via Mongoose, using a named Docker volume for persistence .gitignore excludes node_modules/, IDE config, .env files, and runtime session/media files.
- Clone the repository: git clone https://github.com/ChaboCode/interledger-2025
- Create the required .env files for each service (see service specific docs)
- Start the system: docker-compose up -d
- Verify: curl http://localhost:3000 # WAHA service curl http://localhost:3005 # Interledger service Each service supports further configuration; see the Environment Configuration section for details.
- compose.yml — Multi-service definition (Docker Compose v3.9) with restart policies (restart: always) and logging configuration
- waha/, interledger_service/, data_service/ — Service directories, each with Dockerfiles or base images, and .env templates
- .gitignore — Excludes runtime and sensitive files (see above)
- Additional folders for service-specific code, schema definitions, API endpoints, data models, etc.
- Services are segregated by port to enforce isolation and security boundaries
- WAHA binds to 127.0.0.1:3000 (internal only)
- Interledger binds to external :3005 to accept payment requests
- MongoDB listens on :27017, accessible to data service container only All network mappings are defined in compose.yml.
- Build multi-instance orchestrator for WAHA (whatsapp service scaling)
- Introduce a unified data service to persist transactions, product usage, messaging logs — enabling messaging → payment → record linkage
- Expand API endpoints, improve monitoring/logging, add production-grade resilience (replicas, health checks, service mesh)
By combining messaging, payments, and product data into a cohesive microservices platform, this project provides a modern, scalable architecture for real-time business workflows. It leverages containerization for quick deployment, isolated services for maintainability, and clear data boundaries for robustness. Integrated with LLMs via OLLAMA will bring intelligent automation into the messaging/payment loop — shortening time-to-value and enabling smarter business operations.
Contributors: TuTíaDev: Leader/Full Stack = “Saul Chávez Sánchez” Backend_Dev = “Javier Esteban Ochoa Raygoza” Business = “Ian Abel Zavala Saucedo” Data Analyst= “Dylan Eleomar Velazquez Uvario”
Thank you for exploring YaYa interledger-2025.