diff --git a/Data-Design.md b/Data-Design.md new file mode 100644 index 0000000..0878de1 --- /dev/null +++ b/Data-Design.md @@ -0,0 +1,30 @@ +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 +- Date: due_by: due date +- Date: completed_on: 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. \ No newline at end of file