Brodex - a thin wrapper for brod (wip) - request for feedback!

Hi all!

Backgorund

As I onboard non-Elixir dev to Elixir projects, one of my goal is to find out any missing pieces or challenges they see.

Currently all Elixir projects are using brod directly - and it works great, but documentation (since it’s eralng project) and interface is somewhat confusing.

So I’m building very thin, mostly unopinionated wrapper of brod.

Goal

  • Add thin layer
  • Keep the all data as-is (e.g. keep charlist, and records)
  • Provide utilities (e.g. functions to convert record to struct, guards for records)
  • Clean up interface

Non-goals

  • Add any more abstraction - such as new supervisor/genserver
  • Have wrapper functions for all brod functions

Status

The current WIP is at https://github.com/chulkilee/brodex/pull/1

I’m focusing on area my projects are using.

Notes

First of all, thanks a lot for brod maintainers and contributors!

  • Maybe it can be part of brod project like jose does - but I’m not sure it’s a good idea to have different func defs/args between erlang/elixir.
  • I need to take a look on interfaces of kafka_ex - or I may switch to it (and drop Brodex)
2 Likes