Digests » 297

this week's favorite

Towards Maintainable Elixir: Boundaries

In this article I’ll use the term boundary to refer to a module namespace. This terminology comes from the boundary library, which we use to control cross-module dependencies in our projects. In a nutshell, boundary allows us to create groups of modules, called boundaries, and manage dependencies between them.

DRY enums for Absinth macros

Absinth is a great GraphQL library for Elixir, but it brings a few challenges as it’s practically implemented using macros. One of these challenges is a DRY way of reusing enumerables in Absinth enums before v1.6.0.

How to Compose Queries in Ecto

I’ve been working with Ecto for a little bit now and I keep finding that it can be really helpful to make my queries composable. By that, I mean creating functions that take in a query and return a query so that I can pipe multiple of these query functions together.

Building Concurrent, Scalable Data Pipelines with GenStage and Phoenix Channels

In a real time application, keeping users up to date with the latest information possible is crucial. As such, creating an efficient data pipeline is a necessity. According to Stephen Bussey in his book, there are a few traits a data pipeline must have to be considered efficient.

Dynamic Ecto Queries

There are challenges that come up in almost every web application project. One of those challenges is finding a way to let users query your database or filter a given dataset.