Skip to content
This repository was archived by the owner on Feb 5, 2020. It is now read-only.

Project: Barrel

Michal Slaski edited this page Feb 6, 2019 · 18 revisions
  • Website: https://barrel-db.org/
  • Possible mentors: Benoit Chesneau
  • If you have any questions, send an e-mail to beam-community AT googlegroups DOT com

Barrel is a modern document-oriented database in Erlang focusing on data locality (put/match the data next to you) and P2P. Ideas are listed in no particular order. Students providing their own ideas are also welcome!

Idea #1: Add GraphQL Layer to barrel

Provide a layer to barrel allowing the user to describe, store and query data using GraphQL.

Expected Result : a working prototype with initial testing

Knowledge prerequisites: basic knowledge of Erlang

Possible Mentors: Benoit Chesneau

Idea #2: Improve Regression test coverage

The current regression test coverage for Barrel can be improved.

Having good regression tests for such an important project as Barrel is really key to minimizing the chance that any regressions are introduced.

Expected results: Significantly improved code coverage for the Barrel regression test suite,

Knowledge prerequisites: Erlang

Possible Mentors: Benoit Chesneau

Idea #3: Improve Barrel telemetry

Metrics and traces in barrel are very important. They helps the developers and operators to maintain barrel nodes and adapt their infrastructure to their usage.

The idea is to add and find missing metrics or traces that can be useful to barrel or modify current ones when needed. You will use opencensus, Grafana or prometheus for it.

Expected results: Increase the possibilities to instrument barrel by adding new metrics and provide views of them.

Knowledge prerequisites: OpenCensus, Prometheus, basic knowledge of Erlang to add missing metrics or traces.

Possible Mentors: Benoit Chesneau

Idea #4: Improve tooling to debug barrel

Debugging in barrel is still infant and should be improved. When an issue happen the user should be able to send any useful informations to a ticket (operating system, version, traces, logs ...). The idea is to provides to the user the scripts and tool to automate this process.

Expected results: Provide a tool allowing the user to add automatically or manually any useful informations to a ticket when there is a bug. The tool can be written in Erlang or Elixir.

Knowledge prerequisites: basic knowledge of Erlang or Elixir

Possible Mentors: Benoit Chesneau