SlapBot

SlapBot

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

Where Next?

Popular in Guides/Tuts Top

hlx
Typed my very first blog post ever, hope it will help some people https://henricus.xyz/roll-your-own-email-password-authentication-with...
New
zachallaun
Hey friends, wanted to share a tiny shell script I’ve been using to start Livebook with easy access to either a running production server...
New
eclark
I’ve been working on a phoenix project lately and I wanted to use the latest versions of everything. Webpack 5 had some breaking changes ...
New
cheerfulstoic
I spent quite a bit of time trying to find a good configuration to build / test my Elixir app in CircleCI and then push an image to Docke...
New
zookzook
If you want to use the MongoDB in your next Killer-App-Project, but you did not dare ask because otherwise many would advise you to use P...
New
bitli
In case this is handy for other people, here is how you can run Elixir on Android: Install https://termux.com/ apt update; apt upgrad...
New
marcin
This post is intended to be a guide for others, I was running a remote debugger for the first time and appreciate feedback on how I could...
New
mudasobwa
The post covering how to generate nifty types to use in @spec in compile time with macros. https://rocket-science.ru/hacking/2020/07/15/...
New
AstonJ
..or as and when you can think of one :icon_cool: This thread my also be of interest: What took you way too long to figure out? :003:
New
magnetic
Hey :wave:t3: Elixir community, I’ve been learning Elixir, and working on some side projects. My editor of choice is VSCode, and althoug...
New

Other popular topics Top

chrismccord
Phoenix 1.4.0 released Phoenix 1.4 is out! This release ships with exciting new features, most notably with HTTP2 support, improved deve...
688 30048 115
New
shahryarjb
Hello, I get Persian date from my client and convert it to normal calendar like this: def jalali_string_to_miladi_english_number(persi...
New
William
I would like to know that is there any online source for learning Phoenix Framework for building E-Commerce Store? Any advantage on build...
New
openscript
Hello! Sorry for this astonishing simple question, but I’m really stuck. I try to set up the intellij-elixir plugin, but I don’t know ho...
New
ycv005
I have followed this StackOverflow post to install the specific version of Erlang. And When I am running mix ecto.setup then getting fol...
New
jononomo
I am trying to figure out how Mix knows whether the environment is test, dev, or prod -- where is this set? Thanks.
New
polypush135
As many of you may have realized by now (sorry for all the posts here) I’ve been working on a db problem where I’m trying to aggregate a ...
New
fayddelight
I tried installing elixir 1.11.2 erlang 23.3.4 via asdf in my zsh shell. Enabled the versions locally and globally. When I list them ...
New
lucidguppy
I have a super simple question about elixir - how would I take a file like this foo bar baz and output a new file that enumerates th...
New
joeerl
Hello again - after a longish gap I’ve decided I really must dig into Elixir and see what’s been happening here - so I have a few questio...
New

We're in Beta

About us Mission Statement