How codecortex/microservicecompose works
This repository documents a containerized expense-management microservices system. Clients enter through Kong, which routes requests to authentication, user, expense, or data-science services; signup and AI-extracted expenses then flow asynchronously through Kafka to their respective services. The README also documents service-specific MySQL databases, Redis caching, and a custom Kong authentication plugin. Application-service source is absent from the tree, so those nodes have no source path; their relationships reflect documented flows, not inspected implementations.
Main entry points: kong.yml Kong gateway · docker-compose.yml Kafka · init.sql MySQL · handler.lua Custom auth plugin
Components 11
Gateway and auth
- Kong gateway
kong.yml - Custom auth plugin
kong/plugins/custom-auth/handler.lua - Auth service
Business services
- User service
- Expense service
AI extraction
- Data science service
Other components
- Client
- Groq LLM
Connections 17
- Client → Kong gateway: sends requests
- Kong gateway → Custom auth plugin: invokes auth
- Kong gateway → Auth service: routes auth
- Kong gateway → User service: routes user
- Kong gateway → Expense service: routes expense
- Kong gateway → Data science service: routes messages
- Auth service → Kafka: publishes users
- Kafka → User service: delivers users
- Data science service → Groq LLM: extracts expenses
- Data science service → Kafka: publishes expenses
- Kafka → Expense service: delivers expenses
- Auth service → MySQL: stores credentials
- User service → MySQL: stores profiles
- Expense service → MySQL: stores expenses
- User service → Redis: caches users
- Expense service → Redis: caches expenses
- Data science service → Redis: caches results