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
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.
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 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
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
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).
To get more information or purchase the course, check out https://BuildItWithPhoenix.com.