Alexander Zeitler

Learning Elixir

Published on Monday, April 10, 2023

Photo by Vlad Shagov on Gitu

Elixir artwork

I've decided to learn Elixir.

Not just poking a bit into the language but to be able to build full stack Elixir distributed applications and eventually SaaS.

I don't want to talk much about the why for now but you can find a hint or two on my social media channels.

This post aims to summarize the learning materials I've used so far and the building blocks I intend to learn about and use and I would be more than happy about your feedback and preferences here.

I'll categorize stuff a bit - here we go:

Language / General

Database

  • ecto - A toolkit for data mapping and language integrated query
  • postgrex - PostgreSQL driver for Elixir

Web Applications

  • Plug - A specification for composing web applications with functions
  • Bandit - A pure Elixir HTTP server for Plug & WebSock applications
  • Phoenix Framework - Framework written in Elixir which implements the server-side Model View Controller (MVC) pattern

Scheduling

  • Oban - Robust job processing in Elixir, backed by modern PostgreSQL or SQLite3

Event Sourcing / CQRS

  • saga - A dependency-free tool to run distributed transactions in Elixir, inspired by Saga pattern
  • commanded - Event Sourcing library for Postgres, EventStoreDB and In-memory

Messaging

  • Broadway - Build concurrent and multi-stage data ingestion and data processing pipelines with Elixir

Testing

  • ExUnit - Unit testing framework for Elixir.

Identity / Authentication

  • Pow - A robust, modular and extendable user management solution

Cloud

What are your thoughts about "Learning Elixir"?
Drop me a line - I'm looking forward to your feedback! email
Imprint | Privacy