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!

geo

geo

Author of Phoenix in Action

If you’ve been waiting to jump on a deal, Build It With Phoenix is up to 50% off through next Tuesday (Nov 28). https://builditwithphoenix.com

geo

geo

Author of Phoenix in Action

That is really up to Manning. If everyone makes enough requests, perhaps they will be interested.

Where Next?

Popular in Courses Top

AstonJ
New, from @danielberkompas Learn how to build fast, dependable web apps with Phoenix in this series of in-depth, step by step screenc...
New
learn-elixir.dev
At Learn-Elixir.dev we help developers master Elixir via mentorship and course content: Exclusive curated content covers the beginner,...
New
Cruz
Hello Everyone, Early access to the " Full-Stack GraphQL with Absinthe, Phoenix, and React" video course is now available on the Pragmat...
New
lubien
I’ve been working on writing beginner friendly lessons aimed at teaching LiveView, Phoenix and Elixir to those who might not have even pr...
New
codeschool
Code School's Free 'Try Elixir' Course Begin learning the basics of Elixir and take your first steps into the world of functional progr...
New
inblack67
Check this out What you’ll learn Create fully featured GraphQL API in Elixir & Phoenix Learn to implement authentication, auth...
New
alvises
Hi everyone, I’ve started releasing these LiveView lessons (videos and articles), which are free extracts taken from the bigger course B...
New
sorentwo
The Oban Training 101 curriculum is extracted from our in-person training from ElixirConf 2023. It’s designed to teach everything you nee...
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
nikos
Get 20% off with coupon code “elixirforum”! Ruby programming was one of the best course I have taken. I can’ t wait !
New

Other popular topics Top

senggen
Erlang/OTP 25 [erts-13.2.2] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] 15:22:35.803 [error] gen_event {lager_file_backend...
New
srinivasu
How to handle excepions in elixir? Suppose i have A, B, C ,D, E modules. and each module has get() function. A.get() method will call th...
New
William
I would like to know that is there any online source for learning Phoenix Framework for building E-Commerce Store? Any advantage on build...
New
grych
Hi folks, Few months ago I have announced the proof-of-concept of the library to manipulate the browsers DOM objects directly from Elixi...
639 49522 488
New
quazar
How to set Jason to encode all fields in ecto schema, I don’t care about security and implementing only is taking long list of attributes...
New
danschultzer
None of the current solutions worked well for me, so I went ahead and built a user management system from scratch. This project took far...
548 27727 240
New
rms.mrcs
Hi, I need to transform a list of numbers into a map where the keys are the indexes and the values are the original values of the list....
New
fireproofsocks
Forgive me if this is obvious, but how does one delete a database record WITHOUT selecting it first? https://hexdocs.pm/ecto/Ecto.Repo.h...
New
josevalim
Hi everyone, One of the features added to Elixir early on to help integration with Erlang code was the idea of overridable function defi...
New
aesmail
Hello guys, I have finally made it. I created an admin interface for a framework. It’s been on my todo list for years and with the curre...
New

We're in Beta

About us Mission Statement