geo

geo

Author of Phoenix in Action

Build It With Phoenix (self-published) (video tutorial)

I launched Build It With Phoenix into early access back in March of this year and have had some great feedback on it so far. I’ve held off on announcing it here until I was done recording the last video.

Well, today I recorded the last video! That means that early access will be ending relatively soon (depending on how quickly I can edit the remaining videos of the course).

In this video tutorial series, we will be building a chat application along the lines of Slack or Discord. You will watch or code along with me as I take you through every part of the process of creating (and finishing!) a real application.

  • Architectural decisions and different approaches to the problems we face
  • How to debug when something goes wrong
  • Where to find answers in the excellent documentation for Elixir and Phoenix
  • When and how to refactor your code
  • When and how to pivot when our initial assumptions about the application are no longer true

Example table of contents / videos

The course will be taught in phases. Each phase of the course will focus on a specific technology slice in the stack that makes Phoenix soooo good.

Phase 1

This phase will focus on getting Phoenix running and having an actual usable chat room. Some of the early focus will be on Phoenix LiveView, its setup, and its callbacks.

  • Generate random chat room
  • Chat as anonymous user to yourself
  • Chat as anonymous user to everyone listening using Phoenix PubSub
  • Join as random user
  • Chat as random user (no history)

Phase 2

Phase 2 focuses on displaying information in real time as users leave and join your chat room. Technology-wise, this will be focused on using Phoenix Presence and Channels.

  • Show a list of connected users
  • Show a message when a user connects/disconnects
  • Show an indicator or message when a user is typing

Phase 3

In this phase, we will be focused on persisting data to the database. This means we will be accepting user signups with the phx.gen.auth generator and using Ecto to talk to our Postgres database.

  • Allow user signups
  • Chat as signed in user
  • Store chat history
  • Handle errors and validation with a changeset

What else?

I have a somewhat unique philosophy in my teaching style in that I talk through why and how to do things and not just what to do. That means that in the course I discuss tradeoffs to consider when choosing one thing or another. We’ll look through documentation together so that you can have the skills to interpret documentation on your own. You’ll even see my make mistakes and have to debug those mistakes teaching you where to look in logs for clues.

Finally, to celebrate the last video being recorded, I have a further discount code just for ElixirForum. On top of the current early access discount, use code ELIXIR-FORUM-ANNOUNCEMENT at checkout for an additional $10 off any level of the course (through July 29).

Cost: $149 to $249

To get more information or purchase the course, check out https://BuildItWithPhoenix.com.

Most Liked

geo

geo

Author of Phoenix in Action

Now that spring (or fall for the southern hemisphere folks) has rolled around, you can use code spring-for-30 or fall-for-30 to get 30% off of Build It With Phoenix through April 21!

collegeimprovements

collegeimprovements

Hi @geo,

Would it be possible for you to enable PPP(Parity Purchase Pricing) for people in other countries like India, Poland, Romania etc. in Gumroad ?

geo

geo

Author of Phoenix in Action

@collegeimprovements done! I’ve been looking into enabling this for some time now and decided that now is the time!

Where Next?

Popular in Courses Top

AstonJ
Looks neat :023: by @caike LEVEL 1 Sparks of Data Get to know Phoenix and learn how to read existing data from the database. ...
New
Ry753
Greetings Productive Programmer, Early access to our Phoenix 1.7 LiveView course is now live and it’s FREE! The first Several videos (60...
New
arrowsmith
Hi, I’m George Arrowsmith - you may remember me from such educational Elixir content as Phoenix on Rails. I’m really pleased to announce...
New
AstonJ
Your Video Guide to Elixir Learn one of the best new programming languages with in-depth, step by step screencasts.
New
RafaelCamarda
Hello Guys. I have always missed good Elixir and Phoenix content in my own language (Portuguese). Because of that, I have decided to cr...
New
DmytroNasyrov
Hey folks! A brand new course about distributed systems and microservices. The course is recorded based on my offline lectures for stude...
New
germsvel
:wave: Hi everyone, Earlier this year, I started working on a Testing LiveView course. I’m now happy to announce that the course is comp...
New
lauraesteves
Stuck at home and want to make the most of it? Here’s your chance to help fighting COVID-19 while helping yourself grow as well. Learn a...
New
AstonJ
By @elbrujohalcon Course Overview There is a language that powers 90% of all Internet traffic. It’s also the language behind some extre...
New
reddhouse
Please note: This course contains the use of inaccurate terminologies and may lead to confusion - see comments in the thread below for d...
New

Other popular topics Top

JakeBecker
TL;DR: I’ve just released an implementation of Microsoft’s IDE-independent Language Server Protocol for Elixir. It adds language support ...
1144 53690 245
New
stefanchrobot
What’s the safe way to decode a JSON string into a struct? I want to avoid calling String.to_atom. Jason.decode can give me a map with st...
New
electic
Hi, I am new to Elixir. I am trying to use the DateTime component to insert a date into MySQL however the there seems to be no way to fo...
New
ovidiubadita
Hey all, I discovered Elixir and I love it. I always wanted to learn a functional programming and I intended to go for Haskell, but afte...
New
johnnyicon
Hi all, I’ve just started learning Elixir and Phoenix Framework, so please pardon my n00bness at this stage. I’m trying to use Postgres...
New
stefanluptak
Hello everybody, usually, I use a 29" ultra-wide monitor for VSCode which can easily accomodate explorer (files panel) + file with code ...
New
gausby
I asked this very same question on twitter and got some interesting feedback, but I thought it would be a good question to ask here as we...
1207 39297 209
New
saif
Hello everyone, Long time lurker first time poster here. I’ve recently begun working on Elixir full-time again! :raised_hands: It’s been...
New
marick
I had some trouble figuring out how to make many-to-many associations work. Once I got it working, I wrote a blog post. Because I’m a nov...
New
openscript
Hello! Sorry for this astonishing simple question, but I’m really stuck. I try to set up the intellij-elixir plugin, but I don’t know ho...
New

We're in Beta

About us Mission Statement