Update CLAUDE.md with submodule structure and message flow
- Documented git submodule architecture - Explained Drone CI/CD and tag-based versioning - Updated message flow to include TextSubscriptionUpdated events - Clarified text-matcher's role in storing match history 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
c84dfe56e9
commit
31a4a06bec
@ -11,12 +11,16 @@ This is a microservices-based Telegram bot system for text monitoring and notifi
|
||||
- **text-matcher**: Matches incoming messages against user subscriptions
|
||||
- **users**: Manages users and their preferences
|
||||
|
||||
**Important:** This repository is the parent project containing all services as **git submodules**. Each service (telegram-listener, telegram-client, text-matcher, users) is a separate repository added as a submodule. Git tags are created at the parent repository level, which triggers the Drone CI/CD pipeline to automatically build and publish NuGet packages with versions based on the git tag.
|
||||
|
||||
## Architecture
|
||||
|
||||
The services follow a message bus pattern using RabbitMQ for async communication:
|
||||
- TelegramListener publishes MessageReceived events
|
||||
- TextMatcher subscribes to MessageReceived, publishes TextMatchCreated/TextMatchMatched events
|
||||
- TelegramClient subscribes to TextMatchMatched events and notifies users
|
||||
- TextMatcher subscribes to MessageReceived, stores match history in database, and publishes:
|
||||
- TextSubscriptionMatched events (for first-time matches)
|
||||
- TextSubscriptionUpdated events (for updates to previously matched messages)
|
||||
- TelegramClient subscribes to both TextSubscriptionMatched and TextSubscriptionUpdated events and notifies users
|
||||
|
||||
Each service follows Clean Architecture with separate projects for:
|
||||
- Host (API/entry point)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user