Skip to main content

Nanuq



What is Nanuq?

Nanuq (which means “polar bear” in the Inuktitut language spoken in the central and eastern Canadian Arctic) is an application designed to simplify the management of Kafka and Redis for developers. Instead of relying on command-line interfaces for each server, Nanuq provides a unified, user-friendly interface that streamlines daily tasks. Whether you’re monitoring queues, managing datasets, or configuring clusters, Nanuq empowers you to handle these critical operations with ease, all from a single UI.

Why?

The main purpose of this application is to help track middleware (Kafka, Redis, etc.) during development.

Another reason is to have a small greenfield project where I can learn new (or refresh rusty) technologies. Here’s a breakdown of the technologies I used during this project:

Technologies used

Frontend

It had been a while since I worked on a frontend application, so I decided to use “Vue 3” because it’s the only framework I’ve used professionally. This gave me a chance to brush up on my knowledge, and the “Vue 3 Fundamentals” course on Pluralsight helped a lot!

Backend

For the backend, I went with good old .NET Web API. In this project, I opted to use the Fast-Endpoints library to build all the endpoints, and it turned out to be a pretty good experience. I actually liked it more than Minimal API. Another component I wanted to try was .NET Aspire to see what it’s all about.

For the database, to keep the project as lightweight as possible, I decided to use SQLite along with EF Core as my ORM of choice.

Hosting

Oh boy, I thought I knew Docker, but I learned a lot trying to get this Docker Compose to work. Between managing the network, setting permissions for the database file, passing environment variables, it was another great and fun experience.

Final thoughts

Overall, it was a pretty fun and rewarding experience, and I hope to continue working on it, either by starting a new project or expanding Nanuq with more features.