iggy-web-ui icon indicating copy to clipboard operation
iggy-web-ui copied to clipboard

Web UI management panel for Iggy.rs message streaming.

Iggy Web UI

This repository hosts the web user interface for Iggy, a persistent message streaming platform written in Rust. The web UI is built using SvelteKit.

iggy iggy iggy iggy iggy

Overview

The Iggy Web UI provides a user-friendly panel for managing various aspects of the Iggy platform, including streams, topics, partitions, and more.

Getting Started

  1. Run Iggy server first

    docker pull iggyrs/iggy:latest
    
    docker run -p 3000:3000 -p 8090:8090 iggyrs/iggy:latest
    
  2. Clone the repository:

    git clone https://github.com/iggy-rs/iggy-web-ui.git
    
  3. Build the project:

    cd iggy-web-ui
    npm install
    
  4. Run the project:

    npm run dev
    

    To expose port in local network run:

    npm run dev -- --host --port 3333
    

    If Iggy server was run using cargo directly we need to change API_URL env in web ui root folder to:

    API_URL=http://127.0.0.1:3000
    

    instead of

    API_URL=http://localhost:3000
    

Roadmap

  • [x] Authorization
  • [x] Allow manual interval setting for auto-refresh
  • [x] Introduce dark mode
  • [x] Enable CRUD operations on Streams
  • [x] Enable CRUD operations on Topics
  • [ ] Messages management
  • [ ] General UI improvements
  • [ ] Permission management (in progress)
  • [ ] GitHub actions CI/CD
  • [ ] Publish to Dockerhub as separate Image

Contributing

Feel free to contribute to the project. Your feedback and contributions are highly appreciated!