Skip to main content
net8.0net9.0net10.0

A .NET Aspire integration for hosting Google Cloud PubSub Emulator.

NuGetCompare
Published
Oct 8, 2025
1y ago
Total Downloads
30.5K
30,549

Install

dotnet add package PubSubWebUi.Aspire.Hosting --version 1.0.4
ProductVersions
.NET
net10.0net8.0net9.0

README

PubSubWebUi πŸ’¬

PubSubWebUi is a modern web interface for managing Pub/Sub (Publisher/Subscriber) messaging systems. Built with .NET 10 and Blazor, it provides an intuitive user interface for managing topics and subscriptions in your messaging infrastructure.

⭐ Features

  • πŸ“‘ Topic Management
    • View list of topics
    • Create new topics
    • View topic details
  • πŸ“¨ Subscription Management
    • View list of subscriptions
    • Create new subscriptions
    • View subscription details
  • ⚑ Modern Blazor-based UI
  • πŸ’» Responsive Layout with Navigation Menu

πŸ”¨ Project Structure

The solution consists of three main projects:

  • PubSubWebUi: The main web application containing the Blazor UI components and core functionality
  • PubSubWebUi.ServiceDefaults: Common service configuration and defaults
  • PubSubWebUi.AppHost: Application host configuration and orchestration

βš™οΈ Key Components

  • Services

    • IPubSubService: Interface for Pub/Sub operations
    • ProjectContext: Application context management
  • Components

    • Blocks: Reusable UI components for topics and subscriptions
    • Dialogs: Modal dialogs for creating new topics and subscriptions
    • Layout: Application layout components including navigation
    • Pages: Main application pages
    • Models: Data models for topics and subscriptions

πŸš€ Getting Started

Prerequisites

  • πŸ“¦ .NET 10 SDK
  • 🌐 A modern web browser
  • πŸ”§ Your preferred IDE (Visual Studio 2022+ recommended)
  • πŸ”Œ Google Cloud Pub/Sub Emulator

Configuration

The application connects to a Google Cloud Pub/Sub emulator by default at http://localhost:8681/. If your emulator is running on a different address, you can configure it using the environment variable:

# Windows
set PUBSUB_EMULATOR_HOST=http://your-emulator-host:port/

# Linux/macOS
export PUBSUB_EMULATOR_HOST=http://your-emulator-host:port/

For Docker:

docker run -e PUBSUB_EMULATOR_HOST=http://your-emulator-host:port/ pubsubwebui

Running the Application

  1. Clone the repository

    git clone <repository-url>
    
  2. Navigate to the project directory

    cd PubSubWebUi
    
  3. Restore dependencies

    dotnet restore
    
  4. Run the application

    dotnet run
    

The application will be available at https://localhost:5001 (or the configured port).

πŸ‘¨β€πŸ’» Development

This project uses:

  • ⚑ .NET 10
  • 🌐 Blazor for the web UI
  • πŸ”„ Modern C# features
  • πŸ—οΈ Component-based architecture

πŸ“„ License

MIT

🀝 Contributing

We love your input! We want to make contributing to PubSubWebUi as easy and transparent as possible, whether it's:

  • Reporting a bug
  • Discussing the current state of the code
  • Submitting a fix
  • Proposing new features
  • Becoming a maintainer

Development Process

  1. Fork the repo and create your branch from main
  2. If you've added code that should be tested, add tests
  3. If you've changed APIs, update the documentation
  4. Ensure the test suite passes
  5. Make sure your code follows the existing style
  6. Issue that pull request!

Any contributions you make will be under the MIT Software License

In short, when you submit code changes, your submissions are understood to be under the same MIT License that covers the project. Feel free to contact the maintainers if that's a concern.

Report bugs using GitHub's [issue tracker](/issues)

We use GitHub issues to track public bugs. Report a bug by [opening a new issue](/issues/new); it's that easy!

Write bug reports with detail, background, and sample code

Great Bug Reports tend to have:

  • A quick summary and/or background
  • Steps to reproduce
    • Be specific!
    • Give sample code if you can
  • What you expected would happen
  • What actually happens
  • Notes (possibly including why you think this might be happening, or stuff you tried that didn't work)

License

By contributing, you agree that your contributions will be licensed under its MIT License.

Changes from Previous Version

No structural changes between v1.0.4-alpha.0.1 and v1.0.4.

Adoption Assessment

Assess this package against its supported frameworks, license, maintenance signals and dependency graph before making it a project standard.

No SPDX license expression is published. Review the license text and your organisation's policy before redistribution.Compatibility metadata lists 3 target frameworks; confirm the exact target used by your application.

Related Guides & Workflows

Learn how to evaluate, integrate, or audit this package in your .NET project.