<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Talhazeb Khan</title>
    <description>The latest articles on DEV Community by Talhazeb Khan (@danzal).</description>
    <link>https://dev.to/danzal</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1594311%2F67bc40b1-0523-4f1a-ad1e-73b9b6659b7a.jpg</url>
      <title>DEV Community: Talhazeb Khan</title>
      <link>https://dev.to/danzal</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/danzal"/>
    <language>en</language>
    <item>
      <title>RabbitScout: A Modern, Open-Source Dashboard for Managing RabbitMQ</title>
      <dc:creator>Talhazeb Khan</dc:creator>
      <pubDate>Fri, 06 Dec 2024 21:43:30 +0000</pubDate>
      <link>https://dev.to/danzal/rabbitscout-a-modern-open-source-dashboard-for-managing-rabbitmq-3lha</link>
      <guid>https://dev.to/danzal/rabbitscout-a-modern-open-source-dashboard-for-managing-rabbitmq-3lha</guid>
      <description>&lt;p&gt;Have you ever wished for a more intuitive, visually engaging way to manage RabbitMQ beyond the default Management UI? As much as I appreciate RabbitMQ’s robustness, the existing interface can feel a bit dated when it comes to day-to-day monitoring and operations. That’s why I built &lt;strong&gt;RabbitScout&lt;/strong&gt;: a modern, open-source dashboard designed to streamline your RabbitMQ experience.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why RabbitScout?&lt;/strong&gt;&lt;br&gt;
A few weeks ago, I found myself frequently switching between the RabbitMQ Management UI and various CLI tools. While it’s functional, I wanted something cleaner—a tool that could give me real-time metrics at a glance, help me quickly manage queues, and do it all with a polished, modern interface.&lt;/p&gt;

&lt;p&gt;RabbitScout emerged from that need. It’s currently a work-in-progress, but it’s already shaping up to be a friendlier alternative for RabbitMQ management tasks.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key Features&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;Real-Time Metrics&lt;/em&gt;: See total messages, message rates, and queue statistics updated live.&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Queue Management&lt;/em&gt;: Easily list queues, filter them, inspect messages, purge or delete queues, and even publish messages directly from the UI.&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Responsive UI &amp;amp; Theme Support&lt;/em&gt;: Enjoy a clean, modern interface optimized for both desktop and mobile, with the option to switch between light and dark modes.&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Secure Sessions&lt;/em&gt;: Log in with your RabbitMQ credentials, and trust that sessions are managed securely with HTTP-only cookies.&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Future-Ready&lt;/em&gt;: Plans are underway to add binding management, advanced connection/channel controls, and more robust analytics and visualizations.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Under the Hood&lt;/strong&gt;&lt;br&gt;
RabbitScout is built with:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Next.js 14 &amp;amp; React&lt;/em&gt;: Taking advantage of the App Router and server components for data fetching and secure API handling.&lt;br&gt;
&lt;em&gt;TypeScript&lt;/em&gt;: Ensuring type safety and a more predictable development experience.&lt;br&gt;
&lt;em&gt;Tailwind CSS &amp;amp; shadcn/ui:&lt;/em&gt; Quickly building a cohesive, responsive, and accessible UI with reusable components.&lt;br&gt;
&lt;em&gt;RabbitMQ Management API&lt;/em&gt;: Leveraging RabbitMQ’s built-in management APIs to retrieve metrics and perform actions.&lt;/p&gt;

&lt;p&gt;This stack allowed me to separate the UI logic from the server-side data fetching cleanly. For instance, server components fetch queue data and metrics without exposing credentials to the client. This approach makes the dashboard more secure and maintainable.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Getting Started&lt;/strong&gt;&lt;br&gt;
Ready to give it a try? Here’s how you can spin it up locally:&lt;br&gt;
&lt;code&gt;git clone https://github.com/Ralve-org/RabbitScout.git&lt;br&gt;
cd RabbitScout&lt;br&gt;
npm install&lt;br&gt;
cp .env.example .env&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Open &lt;strong&gt;.env&lt;/strong&gt; and provide your RabbitMQ host, port, credentials, and other configuration details. Once that’s done:&lt;br&gt;
&lt;code&gt;npm run dev&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Now head over to &lt;a href="http://localhost:3000" rel="noopener noreferrer"&gt;&lt;/a&gt; and log in with your RabbitMQ credentials (for localhost, guest/guest works by default).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Screenshots&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;Light Mode Dashboard&lt;/em&gt;:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd90br1ugtt82xottp8eq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd90br1ugtt82xottp8eq.png" alt="Light Mode Dashboard" width="800" height="398"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Dark Mode Dashboard&lt;/em&gt;:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhn77wsu1vru64fk0mhn5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhn77wsu1vru64fk0mhn5.png" alt="Dark Mode Dashboard" width="800" height="398"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;These examples show the main dashboard page, where you can monitor message rates, queue distribution, and system memory usage—all updated in real-time.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Current Limitations &amp;amp; Roadmap&lt;/strong&gt;&lt;br&gt;
What’s missing right now?&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Binding Management&lt;/em&gt;: Currently in development, you’ll soon be able to create, edit, and manage bindings through the UI.&lt;br&gt;
&lt;em&gt;Advanced Connection/Channel Controls&lt;/em&gt;: Features like force-closing connections and richer channel metrics are on the way.&lt;br&gt;
&lt;em&gt;Enhanced Analytics &amp;amp; Notifications&lt;/em&gt;: More graphs, notifications, and improved search capabilities are planned.&lt;/p&gt;

&lt;p&gt;I’m actively working on these improvements, and suggestions are welcome!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Contributing&lt;/strong&gt;&lt;br&gt;
As an open-source project, RabbitScout thrives on community input. Whether you want to suggest a feature, report a bug, improve documentation, or contribute code, I’d love your help.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ways to contribute&lt;/strong&gt;:&lt;br&gt;
&lt;em&gt;Open an Issue&lt;/em&gt;: Found a bug or have a cool idea? Let me know.&lt;br&gt;
&lt;em&gt;Submit a PR&lt;/em&gt;: Feel free to tackle an existing issue or propose a new feature.&lt;br&gt;
&lt;em&gt;Improve Documentation&lt;/em&gt;: Even a small tweak helps make the project more accessible.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub Repository&lt;/strong&gt;:&lt;br&gt;
&lt;a href="https://github.com/Ralve-org/RabbitScout" rel="noopener noreferrer"&gt;https://github.com/Ralve-org/RabbitScout&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Let’s Make RabbitMQ Management Better Together&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
RabbitScout started as a personal project to simplify my own workflow, but I hope it can benefit others looking for a more intuitive RabbitMQ dashboard. Check it out, play around, and let me know what you think. Your feedback, contributions, and stars :) can shape its future.&lt;/p&gt;

&lt;p&gt;Thanks for reading! If you have any questions, comments, or suggestions, feel free to drop them below. Let’s build a better RabbitMQ management experience together.&lt;/p&gt;

</description>
      <category>eventdriven</category>
      <category>webdev</category>
      <category>javascript</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
