Systems | Development | Analytics | API | Testing



Writing a Custom Credo Check in Elixir

Static code analysis is an important tool to ensure a project meets the right code standards and quality. In Elixir, the most popular package for this is Credo. Not only does it offer dozens of pre-made checks, but it also allows you to create your own. In this article, we will walk you through creating a Credo check. We will see how to write the code, enable the check in the Credo config, and make it nice to use. Let’s start!


A Deep Dive into Subscriptions with Absinthe

In this series, we've seen how to create GraphQL APIs in Elixir using Absinthe. So far, we have only discussed a one-way communication channel where the client makes the queries or mutations, and the server responds. GraphQL also supports a long-running subscription between the client and the server where the server can notify the client of events. This can be very useful in multi-user scenarios where many users might interact with the same resource at the same time.


Add a Form to a Modal in Phoenix 1.7

In part one of this series, we introduced the core generated components when bootstrapping a new Phoenix project. We used a button and a modal from the core components to lay the groundwork for a "create modal". In this post, we will put a form onto the modal and create pets. Let's get started! Note: As in the last post, you can follow along with our companion repo.


Observe Your Phoenix App with Structured Logging

In this post, we'll configure a Phoenix LiveView application to use a structured logger. We'll then use AppSignal to correlate log events with other telemetry signals, like exception reports and traces. Along the way, you'll learn about the benefits of structured logging, and you'll see how to configure a distinct framework and application logger in your Phoenix app. Let's get started!


A Deep Dive into Mutations with Absinthe

In the last two posts of this series, we saw how easy it is to integrate Absinthe into your app to provide a GraphQL API for querying data. We also shared some useful tips for building and maintaining large schemas and optimizing queries. This post will show how we can provide an API to create GraphQL mutations with Absinthe for Elixir. Let's get started!


Create and Open A Modal in Phoenix 1.7

Phoenix 1.7 came out this year with a whole host of exciting features, including verified routes and some great built-in Tailwind components. These components are a fantastic start, but they are not made to be a fully general design system. We should expect to modify components to fit our specific needs. However, knowing where to start can be difficult. In this three-part series, we'll take a fresh Phoenix app and create a working UI using generated components.