# todo-ddl Manage your ToDo items with Logs and DDLs on nodejs. ## Quick Start ### Installation ```sh $ npm i -g todo-ddl ``` ### Find Help ```sh $ td -h ``` ## Architecture ### overview ```js |todo-ddl | |---config | |---email | |---remote url | |---td | |---todo | |---task | |---history | |---ddl | |---log | ``` ### td structure ```js td new td add td done ------> --------> ---------> todo task history <------ <-------- <--------- td rm td return td recover ``` ## Commands ### config set + `td config [-e email] [-r remote]`: Set ### td set + `td new [class]`: Create new todo item.. + `td add `: Add todo item to task.. + `td done `: Finish task.. + `td recover`: Recover task from history.. + `td return `: Return task to todo item.. + `td rm `: Remove task.. + `td ls`: List tasks.. + `td lt`: List todo items.. + `td history`: List history ### log set + `td select `: Select task for loging.. + `td log `: Record logs.. + `td ll`: List logs.. + `td rml `: Remove log.. ### ddl (deadline) set + `td newd `: Create new ddl.. + `td link `: Link todo with ddl.. + `td ld`: List ddls.. + `td rmd `: Remove ddl.. ### systemctl + `td init`: Reset all.. + `td push`: Push local to remote.. + `td pull`: Pull from remote.. + `td sync`: Sync with remote.. ## Data structure ```js config:{ email: "", remote: "https://api.yimian.xyz/todo-ddl/" } data:{ td:{[{ id: 'a2s3s2ds', name: '', class: 'default', createTime: (new Date()).valueOf(), todoTime: (new Date()).valueOf(), endTime: (new Date()).valueOf(), lastOperateTime: (new Date()).valueOf(), idDel: false, logs: [{ id: 'fdkr8ei9odleiw93', content: '', createTime: (new Date()).valueOf(), lastOperateTime: (new Date()).valueOf(), isDel: false }] }]}, ddl: {[{ id: 'di8eio', name: '', class: 'default', link: [], createTime: (new Date()).valueOf(), expireTime: (new Date()).valueOf(), lastOperateTime: (new Date()).valueOf(), isDel: false }]} } ```