(last updated: )
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
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