From a21cb8470bbe9c1106d9ea1ed059712a1c92be57 Mon Sep 17 00:00:00 2001 From: Louison SARLIN--MAGNUS Date: Wed, 1 Apr 2026 11:16:51 +0200 Subject: [PATCH] Init README --- README.md | 82 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..534e22e --- /dev/null +++ b/README.md @@ -0,0 +1,82 @@ +# GOTASK + +Tiny project aiming at creating a CLI task tracker in Golang + +## Purpose + +1. Practice Golang +1. Keep track of tasks + +## Roadmap +1. Add +2. List all +3. Progress +4. Regress +5. List by + +## Features +### Add tasks +```console +[user@host]$ gotask add "Publish code" +New task added to do @ id=4 +``` + +### List all tasks +```console +[user@host]$ gotask list ++---------------------------------------------------------------------+ +|id| Description | Status | CreatedAt | UpdatedAt | +|--|--------------|-------------|------------------|------------------| +| 1| Update doc | todo | 01-03-2026 09:23 | | # Never updated +| 2| Write code | doing | 04-03-2026 10:13 | 05-03-2026 17:45 | # Set in progress at UpdateAt +| 3| Write tests | done | 05-03-2026 11:34 | 01-04-2026 19:43 | # Done at UpdateAt +| 4| Publish code | todo | 01-04-2026 09:13 | | ++---------------------------------------------------------------------+ +``` + +### Mark progress +```console +[user@host]$ gotask progress 4 +[todo] task "Publish code" progress to [doing] +``` + +### List tasks by status +```console +[user@host]$ gotask list doing ++---------------------------------------------------------------------+ +|id| Description | Status | CreatedAt | UpdatedAt | +|--|--------------|-------------|------------------|------------------| +| 2| Write code | doing | 04-03-2026 10:13 | 05-03-2026 17:45 | +| 4| Publish code | doing | 01-04-2026 09:13 | 01-04-2026 10:30 | ++---------------------------------------------------------------------+ +``` + +### Mark regress +```copnsole +[user@host]$ gotask regress 4 +[doing] task "Publish code" regress to [todo] +``` + +## Storing data +For convenience reasons, the data will be stored in a JSON file with the following structure. + +```json +{ + "tasks": [ + { + "id": 1, + "Description": "Update doc", + "Status": "todo", + "CreatedAt": 1772353380, + "UpdatedAt": -1 + }, + { + "id": 2, + "Description": "Write code", + "Status": "doing", + "CreatedAt": 1772615580, + "UpdatedAt": 1772729100 + } + ] +} +``` \ No newline at end of file