An open API service indexing awesome lists of open source software.

https://github.com/devpaps/devdoo

Simple todo manager built in C
https://github.com/devpaps/devdoo

c cmakelists todoapp

Last synced: about 1 month ago
JSON representation

Simple todo manager built in C

Awesome Lists containing this project

README

          

# Todo CLI made in C

![DevDoo](./devdoo.png)

This is simple todo manager that I've built in C. It's a simple command line tool that allows you to add, list, and remove tasks from a todo list.
The saved `.txt` file is stored in the home directory of the user. This implies for Linux users only at the moment, i'm going to test it on MacOS soon.

## How to install and use it

```bash
$ git clone
$ cd todo
$ cmake ..
$ make
$ sudo make install
$ todo add "Buy some milk"
$ todo list
$ todo remove 1
```

## Usage

### Add a Task

To add a new task to the todo list, use the `add` or `-a` command followed by the task description.

```sh
todo add "Buy groceries"
todo -a "Buy groceries"
```

### List All Tasks

To list all tasks in the todo list, use the `list` or `-l` command.

```sh
todo list
todo -l
```

### Remove a Task

To remove a specific task from the todo list, use the `remove` or `-r` command followed by the task number.

```sh
todo remove 1
todo -r 1
```

### Clear All Tasks

To clear all tasks from the todo list, use the `clear` or `-c` command.

```sh
todo clear
todo -c

```

## What is left to be done?

### General Stuff

- [x] Add dynamic home directory check
- [] Add date for when it was created and updated
- [] Encryption for the todo.txt file, OpenSSL?
- [] Colorized Output
- [] Rename the tool to just "td" for a fast typeout in the terminal
- [] Consider publishing it to package managers like dnf, apt, or brew, if it get popular enough

### Command-Line Arguments

Enable the app to accept arguments like:

- [x] add
- [x] list
- [x] remove
- [x] clear

Do i even need this?

- [] complete

---

### Configurable Storage Path

- [] Make the file storage path configurable via a settings file or environment variable. This would be especially useful for users who want to sync the file across devices using cloud storage?