https://github.com/dedo-finger2/togo-cli
Togo is a CLI application that helps users manage simple to do lists with ease using terminal commads.
https://github.com/dedo-finger2/togo-cli
cli cli-app go golang simple-project todo-app
Last synced: about 1 month ago
JSON representation
Togo is a CLI application that helps users manage simple to do lists with ease using terminal commads.
- Host: GitHub
- URL: https://github.com/dedo-finger2/togo-cli
- Owner: Dedo-Finger2
- License: mit
- Created: 2024-08-09T21:39:43.000Z (almost 2 years ago)
- Default Branch: master
- Last Pushed: 2024-08-13T18:52:11.000Z (almost 2 years ago)
- Last Synced: 2025-01-28T05:42:57.933Z (over 1 year ago)
- Topics: cli, cli-app, go, golang, simple-project, todo-app
- Language: Go
- Homepage:
- Size: 342 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
✅ To Go List CLI

✅ A simple to do list CLI written in Go! ✅
---
## 📝 About
This CLI application is designed to manage a simple task list directly from the terminal.
The application enables users to create, manage, and track a to do list with a range of functionalities, all through straightforward terminal commands.
## 🔑 Key Features
| Feature | Description |
|-----------------|---------------------------------------------------------------------------------------------------------------|
| **Create a To Do List** | Users can initialize a to do list by specifying a name. The application will create and store this list in a CSV file, saved in a dedicated folder called "ToGoLists" within the user's Documents directory. |
| **Add Tasks** | Once a shopping list is created, users can add tasks to it. Each task is identified by a unique numeric ID, a title, and a creation date. The system will display relative timestamps like "created a few seconds ago." |
| **Manage Tasks** | Users have the ability to: |
| **Complete Tasks** | Mark tasks as completed. |
| **Uncomplete Tasks** | Revert completed tasks to their previous state. |
| **Remove Tasks** | Delete tasks from the list. |
| **View Tasks** | Tasks can be displayed in a tabular format within the terminal, showing both completed and pending tasks. |
## 🌳 Requirements
### Functional
- [x] Ability to create and name a task list.
- [x] Add, remove, complete, and uncomplete tasks.
- [x] View tasks in a tabular format.
### Non-Functional
- [x] Data is stored in CSV format.
- [x] Files are saved in a "ToGoLists" folder.
### Business Rules
- [x] File names must be valid.
- [x] Tasks can only be managed if the file exists.
- [x] Tasks must be removed using their ID.
- [x] Only incomplete tasks can be completed, and only completed tasks can be uncompleted.
## ❓ Build it from source
```bash
git clone https://github.com/Dedo-Finger2/togo-cli.git
```
```bash
cd togo-cli
```
```bash
make build-linux OR make build-windows
```
Follow the next instrutions in the Usage section.
## 🔨 Usage
### Linux
After dowloading the binary (or after building it from source) use the following command.
```bash
sudo mv togo /usr/local/bin/
```
### Windows
After dowloading the binary (or after building it from source) move the `togo.exe` file into any folder that is already in the PATH of your machine.
Usually the paths: `C:\Program Files\Togo\` or `C:\Users\\AppData\Local\Programs\Togo\` are okay to use.
### Commands
> Creates a new To Go tasklist at /home/{YOUR_NAME}/Documents/ToGoLists
```
togo create --name="My To Do List"
```
> Creates a new task in the task list created earlier
```
togo add --task="Walk the dog"
```
> Deletes the task with the providen ID
```
togo delete --id 1
```
> Completes the task with the providen ID
```
togo complete --id 1
```
> Incompletes the task with the providen ID
```
togo incomplete --id 1
```
> Lists all incompleted tasks
```
togo list
```
> Lists all tasks
```
togo list --all
```
> Lists all completed tasks
```
togo list --completed
```
## 📱 Contact me
- LinkedIn: https://www.linkedin.com/in/antonio-mauricio-4645832b3/
- Instagram: https://www.instagram.com/antonioalmeida2003/
- E-mail: antonioimportant@gmail.com