@@ -5,19 +5,40 @@ A modern, cross-platform Azure Service Bus management tool built with Avalonia U
55![ .NET 8] ( https://img.shields.io/badge/.NET-8.0-512BD4?style=flat&logo=dotnet )
66![ Avalonia UI] ( https://img.shields.io/badge/Avalonia-11.1-8B44AC?style=flat )
77![ License] ( https://img.shields.io/badge/License-MIT-green.svg )
8+ ![ Version] ( https://img.shields.io/badge/Version-0.3.4-blue.svg )
89
910## Features
1011
12+ ### Connection Options
1113- 🔐 ** Azure Authentication** - Sign in with your Azure account using Azure Identity
14+ - 🔗 ** Connection String Support** - Connect directly using Service Bus connection strings
15+ - 📚 ** Connection Library** - Save and manage multiple connection strings for quick access
16+
17+ ### Namespace & Entity Management
1218- 📋 ** Subscription Management** - Browse and switch between Azure subscriptions
1319- 🏢 ** Namespace Explorer** - View all Service Bus namespaces in your subscription
1420- 📬 ** Queue Management** - Browse queues, view message counts, and manage messages
1521- 📨 ** Topic & Subscription Support** - Full support for topics and their subscriptions
22+ - 🔄 ** Session-Enabled Queues** - Support for session-enabled queues and subscriptions
23+
24+ ### Messaging Features
1625- 👀 ** Message Peek** - Preview messages without consuming them
17- - ✉️ ** Send Messages** - Send new messages with custom properties, headers, and scheduling
26+ - ✉️ ** Send Messages** - Send new messages with full control over:
27+ - Message body and content type
28+ - Custom properties (key-value pairs)
29+ - System properties (CorrelationId, SessionId, Subject, etc.)
30+ - Message scheduling (ScheduledEnqueueTime)
31+ - Time-to-live (TTL) settings
32+ - Partition keys and reply-to settings
33+ - 💾 ** Save & Load Messages** - Save message templates for reuse
1834- 🗑️ ** Dead Letter Queue** - View and manage dead-lettered messages
1935- 🧹 ** Purge Messages** - Bulk delete messages from queues or subscriptions
36+ - 🔍 ** Message Details** - View complete message details including headers and properties
37+
38+ ### User Experience
2039- 💾 ** Session Persistence** - Automatically restores your previous session
40+ - ⚙️ ** Settings Dialog** - Configure application preferences
41+ - 🎨 ** Modern UI** - Clean, intuitive Fluent design interface
2142
2243## Screenshots
2344
@@ -67,27 +88,47 @@ dotnet publish -c Release -r linux-x64 --self-contained
6788
6889## Usage
6990
91+ ### Azure Account Mode
70921 . ** Sign In** - Click "Sign in with Azure" to authenticate with your Azure account
71932 . ** Select Subscription** - Choose the Azure subscription containing your Service Bus namespaces
72943 . ** Browse Namespaces** - Click on a namespace to view its queues and topics
73954 . ** View Messages** - Select a queue or topic subscription to peek at messages
74965 . ** Toggle Dead Letter** - Use the dead letter toggle to view dead-lettered messages
75976 . ** Send Messages** - Click the send button to compose and send new messages
7698
99+ ### Connection String Mode
100+ 1 . ** Open Connection Library** - Access saved connections or add new ones
101+ 2 . ** Add Connection** - Paste your Service Bus connection string and give it a name
102+ 3 . ** Connect** - Select a saved connection to browse queues and topics
103+ 4 . ** Manage Messages** - View, send, and manage messages just like in Azure mode
104+
77105## Architecture
78106
79107BusLane follows the MVVM (Model-View-ViewModel) pattern:
80108
81109```
82110BusLane/
83- ├── Models/ # Data models (QueueInfo, TopicInfo, MessageInfo, etc.)
111+ ├── Models/ # Data models
112+ │ ├── QueueInfo.cs # Queue metadata
113+ │ ├── TopicInfo.cs # Topic metadata
114+ │ ├── SubscriptionInfo.cs # Subscription metadata
115+ │ ├── MessageInfo.cs # Message details
116+ │ ├── SavedConnection.cs # Stored connection strings
117+ │ └── SavedMessage.cs # Message templates
84118├── Services/ # Azure integration services
85119│ ├── IAzureAuthService.cs # Authentication interface
86120│ ├── AzureAuthService.cs # Azure Identity implementation
87121│ ├── IServiceBusService.cs # Service Bus operations interface
88- │ └── ServiceBusService.cs # Service Bus implementation
122+ │ ├── ServiceBusService.cs # Service Bus implementation
123+ │ ├── IConnectionStringService.cs # Connection string operations
124+ │ ├── ConnectionStringService.cs # Connection string implementation
125+ │ ├── IConnectionStorageService.cs # Connection storage interface
126+ │ └── ConnectionStorageService.cs # Local connection storage
89127├── ViewModels/ # MVVM ViewModels with CommunityToolkit.Mvvm
90128├── Views/ # Avalonia XAML views
129+ │ ├── Controls/ # Reusable UI components
130+ │ └── Dialogs/ # Modal dialogs (Send, Save, Settings, etc.)
131+ ├── Converters/ # Value converters for data binding
91132└── Styles/ # Application styles and themes
92133```
93134
@@ -96,12 +137,16 @@ BusLane/
96137| Package | Version | Purpose |
97138| ---------| ---------| ---------|
98139| Avalonia | 11.1.0 | Cross-platform UI framework |
140+ | Avalonia.Desktop | 11.1.0 | Desktop platform support |
99141| Avalonia.Themes.Fluent | 11.1.0 | Fluent design theme |
142+ | Avalonia.Fonts.Inter | 11.1.0 | Inter font family |
143+ | Avalonia.ReactiveUI | 11.1.0 | ReactiveUI integration |
100144| Azure.Identity | 1.17.1 | Azure authentication |
101145| Azure.ResourceManager | 1.13.2 | Azure Resource Manager SDK |
102146| Azure.ResourceManager.ServiceBus | 1.1.0 | Service Bus management |
103147| Azure.Messaging.ServiceBus | 7.20.1 | Service Bus messaging |
104148| CommunityToolkit.Mvvm | 8.2.2 | MVVM toolkit with source generators |
149+ | Microsoft.Extensions.DependencyInjection | 8.0.0 | Dependency injection |
105150
106151## Contributing
107152
0 commit comments