Ruby Project: Object-Oriented Todo List (with Minitest)

Click here to view this project on Github.

This is an object-oriented Ruby project that models a simple Todo list domain. It includes a Todo class (a single task with a title, optional description, done/undone state, and an optional due date) and a TodoList class (a collection object that supports common list behaviors like add/remove, iteration, selection, and “mark done” operations). The project is backed by an automated Minitest suite that verifies behavior across the public API, including error handling, output formatting, and collection-style methods.

Skills demonstrated:

  •     Ruby
  •     Object-oriented programming (domain modeling with Todo + TodoList)
  •     Encapsulation and public interfaces (methods like done!, mark_done_at, find_by_title)
  •     Custom collection behavior (iteration via each, filtering via select)
  •     Testing with Minitest (assertions, setup, edge cases, exception testing)
  •     Error handling (raising TypeError, using fetch to raise IndexError)
  •     String formatting and display logic (custom to_s output for both items and lists)
  •     Dependency/tooling familiarity (Bundler, external gem usage for date formatting via stamp)

Leave a Reply

Your email address will not be published. Required fields are marked *