Since I started using Elixir, I have benefited greatly from being able to study various open-source projects. The codebase of LiveBook, in particular, has been a valuable resource for me. However, I also found that having access to a broader range of projects would have been even more beneficial (and from what I gather I am not to only one!).
This is what drove me to create Elixirland — a collection of assignments, each with an idiomatic example solution, intended as a learning resource. The goal is to provide learners with a diverse range of open-source solutions to well-defined problems (i.e., the assignments) and to encourage community discussions around these solutions.
Currently, my focus is on making a few assignments public to get the ball rolling. Over time, and with your feedback, the assignment descriptions and example solutions will be improved. Ensuring that the code in the examples is indeed idiomatic is important, though early versions may need refinement.
One challenge I anticipate is addressing the varying levels of consensus on what is “the right way” of solving different parts of an assignment. My aim is to implement Elixirland in a way that helps users understand where consensus is strong and where is might be weaker. Over time, I will be able to focus more on tackling this aspect.
Go to elixirland (Elixirland) · GitHub to find out more about Elixirland.
Currently, one assignment is public. It’s called Xl Phoenix API and can be found here: GitHub - elixirland/xle-book-club-API: Build a simple Phoenix API for a book club.. As you can see, writing tests and documentation are also part of the assignment.
Contributions are welcome.
P.S. Elixirland will also be accessible at https://elixirland.dev. Coming soon. I’ll post when online.