88 lines
2.0 KiB
Markdown
88 lines
2.0 KiB
Markdown
# GOTASK
|
|
|
|
Tiny project aiming to create a CLI task tracker in Golang
|
|
|
|
## Purpose
|
|
|
|
1. Practice Golang
|
|
1. Keep track of tasks
|
|
|
|
## Features
|
|
### Add tasks
|
|
```console
|
|
[user@host]$ gotask-cli add "Publish code"
|
|
New task "Publish code" added to do @ id=4
|
|
```
|
|
|
|
### List all tasks
|
|
```console
|
|
[user@host]$ gotask-cli list
|
|
+----+--------------+--------+---------------------+---------+
|
|
| ID | DESCRIPTION | STATUS | CREATED | UPDATED |
|
|
+----+--------------+--------+---------------------+---------+
|
|
| 1 | Update doc | todo | 2026-04-03 22:34:40 | |
|
|
| 2 | Write code | todo | 2026-04-03 22:38:26 | |
|
|
| 3 | Write tests | todo | 2026-04-03 22:38:45 | |
|
|
| 4 | Publish code | todo | 2026-04-03 22:38:56 | |
|
|
+----+--------------+--------+---------------------+---------+
|
|
```
|
|
|
|
### Mark progress
|
|
```console
|
|
[user@host]$ gotask-cli progress 4
|
|
[todo] task "Publish code" progress to [doing]
|
|
```
|
|
|
|
### List tasks by status
|
|
```console
|
|
[user@host]$ gotask-cli list doing
|
|
+----+--------------+--------+---------------------+---------------------+
|
|
| ID | DESCRIPTION | STATUS | CREATED | UPDATED |
|
|
+----+--------------+--------+---------------------+---------------------+
|
|
| 4 | Publish code | doing | 2026-04-03 22:38:56 | 2026-04-03 22:44:36 |
|
|
+----+--------------+--------+---------------------+---------------------+
|
|
```
|
|
|
|
### Mark regress
|
|
```console
|
|
[user@host]$ gotask-cli 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
|
|
[
|
|
{
|
|
"Id": 1,
|
|
"Description": "Update doc",
|
|
"Status": 0,
|
|
"Created": 1775248480,
|
|
"Updated": -1
|
|
},
|
|
{
|
|
"Id": 2,
|
|
"Description": "Write code",
|
|
"Status": 0,
|
|
"Created": 1775248706,
|
|
"Updated": -1
|
|
},
|
|
{
|
|
"Id": 3,
|
|
"Description": "Write tests",
|
|
"Status": 0,
|
|
"Created": 1775248725,
|
|
"Updated": -1
|
|
},
|
|
{
|
|
"Id": 4,
|
|
"Description": "Publish code",
|
|
"Status": 0,
|
|
"Created": 1775248736,
|
|
"Updated": 1775249113
|
|
}
|
|
]
|
|
```
|
|
|
|
Note : todo=0 / doing=1 / done=2 |