Clone
2
Data Design
paul edited this page 2022-12-30 16:03:40 -05:00

Design for the data in recklist

Requirements

  • Multiple named checklists
  • Arbitrary number of tasks
  • Arbitrary number of nested tasks

Data Structures

Main Data List

  • Vector: checklists: can be an arbitrary length, vectors can be appended to and deleted from

checklist

  • String: name: used to name the list itself
  • Vector: list_item: used to hold the actual todo, if it's done, and sub-lists

todos

  • String: todo: used to hold the actual todo item
  • Boolean: done: is done
  • u64: due_by: utc due date
  • u64: completed_on: utc date it was checked off
  • Vector: todos: sublist of todos

Saving

Rust has a way to serialize and dump data structures, still need to figure out the limitations, since these data structures use nested lists and structs.