Phoenix Web Development: Create rich web applications using functional programming techniques with Phoenix and Elixir

Brandon Richey


Learn to build a high-performance functional prototype of a voting web application from scratch using Elixir and Phoenix
Key Features
  • Build a strong foundation in Functional-Programming techniques while learning to build compelling web applications
  • Understand the Elixir Concurrency and parallelization model to build high-performing blazingly fast applications
  • Learn to test, debug and deploy your web applications using Phoenix framework
Book DescriptionPhoenix is a modern web development framework that is used to build API's andweb applications. It is built on Elixir and runs on Erlang VM whichmakes it much faster than other options. With Elixir and Phoenix, youbuild your application the right way, ready to scale and ready for theincreasing demands of real-time web applications.
This book covers the basics of the Phoenix web framework, showing you how to build acommunity voting application, and is divided into three parts. In thefirst part, you will be introduced to Phoenix and Elixir and understandthe core terminologies that are used to describe them. You will alsolearn to build controller pages, store and retrieve data, add users toyour app pages and protect your database. In the second section youwill be able to reinforce your knowledge of architecting real timeapplications in phoenix and not only debug these applications but alsodiagnose issues in them. In the third and final section you will havethe complete understanding of deploying and running the phoenixapplication and should be comfortable to make your first applicationrelease
By the end of this book, you'll have a strong grasp of all of the core fundamentals of the Phoenix framework, and will have built a full production-ready web application from scratch.
What you will learn
  • Learn Phoenix Framework fundamentals and v1.3's new application structure
  • Build real-time applications with channels and presence
  • Utilize GenServers and other OTP fundamentals to keep an application stable
  • Track users as they sign in and out of chat with Phoenix's built-in presence functionality
  • Write your own database interaction code that is safe, bug-free, and easy to work with
  • Explore testing and debugging methodologies to understand a real software development lifecycle for a Phoenix application
  • Deploy and run your Phoenix application in production
Who this book is forThis book is for people with a basic knowledge of Elixir, who want to startbuilding web applications. Prior experience with web technologies isassumed.
Table of Contents
  1. Introducing Elixir and Phoenix Pages
  2. Building Our Vote Controllers
  3. Storing and Retrieving Vote Data with Ecto Pages
  4. Adding Users to our App Pages
  5. Protecting our Database from Bad Data Pages
  6. Live-Voting with Channels and Javascript
  7. Writing the Javascript to Handle Channels
  8. Adding Chat to Our App
  9. Caching Vote Data with ETS
  10. Understanding the Elixir Concurrency Model
  11. Writing Our Search Genserver
  12. Deploying our Application