The repository for the official guide at elixir documentation on how to build a complete Elixir application, with its own supervision tree, configuration, tests with dedicated commits to given chapters.

So I spent last couple of days learning Elixir language - I followed the official documentation and their official project guide at: https://elixir-lang.org/getting-started/mix-otp/introduction-to-mix.html

The only issue? The instructions they wrote weren’t organised in a repository to fix bugs that you might have missed while reading instructions or because of misunderstanding of the concepts.

So I create a repository following the official guide, chapter by chapter - each commit referring to a certain chapter. Its available at: https://github.com/SlapBot/elixir-mix-otp-guide

KV:

KV repository translates the instructions from Chapter 1-6 of the official guide, You can browse any of the below commits to the position where that chapter ends:

  1. Chapter 1-3: Agent & GenServer Implementation
  2. Chapter 4: Supervisor & Applications Implementation
  3. Chapter 5: Dynamic Supervisors Implementation
  4. Chapter 6: ETS Implementation

Chapter 6-11 covers the new structure of the application that can be found at Elixir-Mix-Otp-Guide, the KV module changes following after each iteration of the chapter:

  1. Chapter 7: Managing Dependencies & Umbrella Project Structure
  2. Chapter 8: No Changes needed.
  3. Chapter 9: Writing Doctests, Patterns & with keyword
  4. Chapter 10: Distributed Tasks & Tags Implemented
  5. Chapter 11: Configurations & Releases Deployment

KV Umbrella:

This repository can be found at: Elixir-Mix-Otp-Guide, It came to existence from Chapter 7 where we go from an application -> project structure built of various applications (KV and KVServer in our case).

  1. Chapter 7: Managing Dependencies & Umbrella Project Structure
  2. Chapter 8: Tasks & gen_tcp implementation
  3. Chapter 9: Writing Doctests, Patterns & with keyword
  4. Chapter 10: Distributed Tasks & Tags Implemented
  5. Chapter 11: Configurations & Releases Deployment
12 Likes