Click here to view this project on Github.
This is a Sinatra Todo web application that supports multiple lists, each with its own set of todos. You can create/edit/delete lists, add/remove todos, mark items complete, and mark an entire list complete. The app stores state in the session (so it behaves like a real app without needing a database), sorts incomplete items first, and uses AJAX-friendly routes for a smoother delete experience.
Skills demonstrated:
- Ruby
- Sinatra
- Sessions and state management (lists + todos stored in session)
- REST-style routing (nested resources like
/lists/:id/todos) - Validation and user feedback (error/success messaging)
- AJAX handling (detecting
XMLHttpRequest) - ERB templating + HTML/CSS
Leave a Reply