My first open source project

Hello everyone, I feel so happy today because I have finished my first erlang open source project, it’s an erlang system of 4 elements:

  • moqabase is a database backend server which implements the same idea as Whatsapp
  • moqa is a full publish/subscribe chat server
  • molqa is a simple client for moqa
  • moqalib is an erlang library for moqa applications

It was not easy as I have expected before starting working on it, it has take me for about 4 months but I didn’t work constantly.
I did this work to have an “identity” as erlang developer, at least I have a github account now
Iam so sorry if my work looks primirive or not very professional, I did all what I can do, but I can ensure that the general behaviour is highly efficient
Another thing, Iam unemployed actually and looking to work if there’s something interressant you can ping me
That’s all for the moment and thank you.


Great work on making your first open source project. This looks very extensive!

If your intent is to make these libraries open source you should consider publishing them to so others can easily use your libraries. Perhaps you’ve done this already but I was unable to find any moqa related libraries there.

A few other other suggestions:

  1. Use type specs so you don’t have to always use guard statements to check the data type at runtime.

specs doc

This well let you leverage dialyzer better (you should be using dialyzer if you aren’t).

  1. Github actions can help make sure your code is working in case you forgot to run your units tests before you pushed a commit.

Here is a good setup for erlang github actions

1 Like

1- @fancycade thank you for your recommendations, surely I will correct all that soon, it’s an easy work, but for the moment I want to find a remote job this is my priority Iam in poor financial conditions and I need to work so if you can help me, that will be more helpful.
2- I need some reviews for my code and I need it to be tested under massive concurrence, Iam sure that my code is highly efficient and scalable but Iam sure too that I did some mistakes, so I want to correct them and to learn new things by that.
Whatever thank you for your support.