A step-by-step tutorial for building a fully functional todo list app in Phoenix 1.7 using only HTML, CSS, and Elixir.
Phoenix Todo List Tutorial is a complete beginner's guide to building a todo list application from scratch using the Phoenix web framework. It walks through creating a fully functional app with create, read, update, delete, and filtering capabilities while demonstrating server-side rendering techniques. The tutorial solves the problem of learning Phoenix by providing a practical, step-by-step approach with a familiar todo list example.
Beginners learning Elixir and Phoenix who want a hands-on tutorial to build their first web application. It's also valuable for developers interested in server-side rendering approaches without JavaScript dependencies.
Developers choose this tutorial because it provides a complete, working example with zero JavaScript, demonstrating that modern web applications can be built entirely with server-side rendering. The step-by-step approach with tests makes it accessible for beginners while showcasing Phoenix's performance and developer experience.
✅ Complete beginners tutorial building a todo list from scratch in Phoenix 1.7 (latest)
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Provides a complete, step-by-step guide for building a todo app from scratch, assuming no prior Phoenix experience, as stated in the README: 'No prior experience with Phoenix is assumed/expected.'
Demonstrates how to achieve full TodoMVC functionality without writing any JavaScript, showcasing server-side rendering capabilities, with the README highlighting '100% functional. 0% JavaScript.'
Emphasizes quick response times under 5ms for server-rendered pages and sub-200ms round-trip times on Fly.io, as noted in the performance examples and live demo.
Covers all CRUD operations, filtering, and inline editing using CSS tricks, matching the TodoMVC spec with detailed code examples throughout the tutorial.
Includes thorough test examples for controllers, views, and schemas, promoting good practices, as mentioned in the Key Features and embedded in each step.
The README admits that Phoenix Contexts 'unnecessarily complicate basic Phoenix Apps' and requires dealing with generated files, adding overhead for beginners who might find the abstraction confusing.
While a strength, this approach excludes client-side JavaScript, making it unsuitable for applications requiring dynamic interactions without page refreshes, such as real-time updates or complex UI state management.
Uses flags like `--no-dashboard --no-gettext --no-mailer` which might deviate from standard Phoenix project setups, potentially confusing for learners when applying concepts to other projects.
Relies on TodoMVC CSS for styling, which might not be easily customizable or transferable to other designs without additional CSS work, as noted in the tutorial's focus on minimizing CSS effort.