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:
- Chapter 1-3: Agent & GenServer Implementation
- Chapter 4: Supervisor & Applications Implementation
- Chapter 5: Dynamic Supervisors Implementation
- 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:
- Chapter 7: Managing Dependencies & Umbrella Project Structure
- Chapter 8: No Changes needed.
- Chapter 9: Writing Doctests, Patterns & with keyword
- Chapter 10: Distributed Tasks & Tags Implemented
- 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).
- Chapter 7: Managing Dependencies & Umbrella Project Structure
- Chapter 8: Tasks & gen_tcp implementation
- Chapter 9: Writing Doctests, Patterns & with keyword
- Chapter 10: Distributed Tasks & Tags Implemented
- Chapter 11: Configurations & Releases Deployment