finds.dev← search

// the find

dwyl/phoenix-chat-example

★ 816 · Elixir · updated Jun 2026

💬 The Step-by-Step Beginners Tutorial for Building, Testing & Deploying a Chat app in Phoenix 1.7 [Latest] 🚀

A tutorial repo that walks you through building a Phoenix chat app from scratch — WebSockets via Phoenix Channels, Ecto for persistence, Tailwind for styling, and Fly.io deployment. It is explicitly aimed at beginners learning Phoenix for the first time, not something you'd pull into a production codebase.

The tutorial covers the full lifecycle that most 'hello world' examples skip: persistence, testing with ExUnit and excoveralls, and actual deployment. Test coverage is taken seriously — 100% minimum is configured and enforced via coveralls.json. The step-by-step structure is honest about what each command does rather than just having you paste code blindly. It uses Phoenix 1.7 with the current HEEx/Tailwind defaults, so you're not learning outdated patterns.

Authentication is bolted on as an afterthought (referenced in auth.md, not integrated into the main tutorial flow), so beginners will finish with a chat app that has no real auth. The front-end JavaScript is plain ES5 with no bundling or modules — fine for teaching, but the gap between this and how you'd structure real client code is large and unaddressed. There is no multi-room support and no explanation of how you'd extend the single-channel design, which is the first thing anyone building a real chat app needs. The Presence integration is similarly treated as an add-on in a separate doc rather than woven into the main narrative.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →