Mathias Polligkeit
  • Dev
  • Impro
  • Sheet Music
  • Contact
Aug 3, 2020 (last updated: Aug 7, 2022)

Essential Elixir Resources

This is a list of recommended resources for anybody who is new to Elixir.

Basics

  • asdf version manager - recommended for installing Elixir
  • Official Elixir guides
  • Elixir School

Books

  • Programming Elixir 1.6
  • Designing Elixir Systems with OTP
  • Programming Phoenix 1.4
  • Real-Time Phoenix
  • Craft GraphQL APIs in Elixir with Absinthe
  • Metaprogramming Elixir
  • Erlang in Anger
  • Concurrent Data Processing in Elixir

Libraries

  • Phoenix - web framework
  • Ecto - data mapping/querying
  • Absinthe - GraphQL

Dev tools

  • Credo - linting
  • ExCoveralls - test coverage
  • Dialyxir - static code analysis
  • Sobelow - security-focused static analysis
  • Benchee - benchmarks

Testing

  • ExUnit - default unit testing framework
  • ExMachina - test data generation
  • Mox - mocking
  • Bypass - bypass http requests in tests
  • ExVCR - http request/response recording
  • Wallaby - browser e2e tests

Auth

  • Guardian - token based authentication
  • Überauth - two-phase authentication framework
  • Comeonin - password hashing
  • Let Me - authorization
  • Bodyguard - authorization
  • Canada - authorization

Other

  • Broadway - data ingestion and processing
  • Cachex - caching
  • Oban - job processing
  • Exq - job processing
  • Quantum - job scheduler
  • Timex - date/time library when standard library isn’t enough
  • Tesla - http client
  • Bamboo - email
  • Fun with flags - feature flags

My own libraries

  • Flop - filtering, ordering, pagination
  • Flop Phoenix - UI components for filtering, ordering, pagination
  • Let Me - authorization library
  • Ecto Nested Changeset - manipulating nested changeset
  • elixir

See Also

  • Elixir Dev Environment With Nix Flakes
  • Announcing LetMe
  • Zanzibar Goes Elixir, Pt. 2: Read API
  • Zanzibar Goes Elixir, Pt. 1: Setup and Relation Tuples
  • Elixir Dev Environment With Nix
  • privacy policy