Check out the Alchemist's Edition

Elixir and Phoenix Screencasts

#63: Getting Started with Tasks

In this episode we’ll be exploring one of the key features of Elixir: tasks. Tasks make it easy to run Elixir code concurrently. In this episode we’ll look at some common ways Task is used.

#62: Simplifying Phoenix Controllers with action_fallback

In this episode we’ll be exploring one method to simplify Phoenix controllers using action_fallback. action_fallback allows you to specify a plug to handle errors in your controller.

#61: Twitter Authentication

In this episode we’ll be adding the ability for users to sign in to a Phoenix web application with Twitter. We’ll use Ueberauth to help us handle the OAuth flow to and from Twitter.

#60: Formatting Numbers

In this episode we’ll use the Number package to help us format numbers for an application. We’ll see how we can convert numbers to different formats like currency, percent, and phone number.

#59: Getting State from a GenServer

In this episode we’ll explore how we can separate the client API of a GenServer from its server callbacks. This can be a good idea to help break GenServer modules up as they become more complex.

#58: Recurring Work with GenServer

In this episode we’ll look at how we can use a GenServer to schedule some recurring work. We’ll create a GenServer fetches the price of a Bitcoin at a regular interval.

#57: Using Plug to Secure Routes

Now that we’ve created our ‘Order History’ pages, we need to make sure only the respective customers are able to view their order history. We’ll use Plug to help us do this.

#56: Completing Order History and Receipt Pages

In this episode we’ll build on the foundation we setup in part 1. We’ll populate our ‘order history’ and ‘receipt’ pages with actual data and make them accessible to our customers.

#55: Defining Routes and Structuring Data

In this episode we get started building an order history page. We’ll look at how our application is structured, how we can fetch data from an API to build our receipts, and how to structure that data.