// the find
dwyl/phoenix-chat-example
💬 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.