Rails practice repo, with has_many :through and custom validations