Как организовать трекер выполнения ежедневно повторяющихся задач (например, бег в течение 20 дней, ложиться спать до полуночи и тд)?
Решил написать трекер целей, где нужно отмечать ежедневное выполнение задачи (выполнил/ не выполнил/ пропуск). Например, не курить в течение определенного срока. И каждый день отмечаешь, выполнил или не выполнил. Целей может быть несколько и для каждого свой период. Как правильно организовать хранение данных, модели с точки зрения rails way?
1) Имеем варианты описания периодичности, например:
- раз в N часов, начиная с такого то таймштампа
- вручную указываем периоды в виде их списка с датами начала и конца
- еще как-то
2) Имеем цели с привязкой к типам периодичности из пп1
3) Храним отметки о выполнении с привязкой к цели.
4) Для каждого типа периодичности из пп1 имеем алгоритм, который зная как задана периодичность для данного типа и используя отметки выполнения может вычислить какие периоды были пропущены, а какие нет.
Берете блокнот, пишете задачу и ставите галочки.
И не придумываете оправдания типа "вот сейчасна напишу программку на руби и теперь то уж точно буду бегать каждый день" :).