What does it take to put together a full-stack application with:
a highly-scalable Elixir/OTP app,
a super-charged Phoenix app, and
a front-end using either Elm or Vue.js?
And how would you design it in a pragmatic, straightforward way?
Find out as we unpack an app together! Through a series of videos, we explore the design, architecture, and code of a full-featured Elixir + Phoenix + Elm / Vue application layer-by-layer, giving you a jump-start on building similar applications.
A Real-Time, Multi-Player Bingo App
The web application we explore lets you compete at buzzword bingo with multiple players in real time. Why this app?
Because meetings without buzzwords (or friends) are humdrum.
Web apps without Phoenix Channels and Presence are ho-hum.
And because we hope that seeing how this app is built will inspire you to be gung-ho about building your own full-stack apps!
Unpacking The Design, Architecture, and Code
By combining Elixir + Phoenix + Elm / Vue, you can build some really cool applications! But to reach the promised land, you’ll have to deftly navigate through MANY design decisions, including:
How is the code organized and structured? How many OTP applications?
When and where are GenServers used?
What does the supervision tree look like?
If a concurrent process crashes, how will its state be restored?
What role does Phoenix play?
What’s the balance of power and responsibility between front-end applications and the back-end services?
How do Elm and Vue.js front-ends communicate with real-time Phoenix channels?
We start with the completed app and unpack it layer by layer, answering these questions and much more. You’ll come away understanding how all the pieces work in harmony together so you can jump right into building your own cool apps!