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

https://github.com/khraosgenetor/taskapp-cli-json

A Task App executable from the CLI. Uses JSON
https://github.com/khraosgenetor/taskapp-cli-json

json

Last synced: 3 months ago
JSON representation

A Task App executable from the CLI. Uses JSON

Awesome Lists containing this project

README

          

# [TaskCLI](https://roadmap.sh/projects/task-tracker)

A simple command-line task manager written in C++ using [nlohmann/json](https://github.com/nlohmann/json) for persistent storage in `taskCLI.json`.

## 📦 Features

- View all tasks or filter by status:
- `Done`
- `In Progress`
- `Not Done`
- Add new tasks with a status.
- Delete tasks by ID (auto re-indexes IDs).
- Modify tasks by ID (change title or status).
- JSON-based persistent storage.
- Supports both interactive mode and command-line arguments.

## 🛠️ Usage

### Build

```bash
g++ main.cpp -o main.exe
````

### Run (Interactive Mode)

```bash
./main.exe
```

### Run (Command-Line Mode)

```bash
# View all tasks
./main.exe view

# View only done tasks
./main.exe view done

# Add a new task
./main.exe add

# Delete a task with ID 3
./main.exe delete 3

# Modify a task with ID 2
./main.exe modify 2
```

## Showcase:

[https://github.com/user-attachments/assets/a8401d42-a26e-460e-a87a-d408852a9ad9](https://github.com/user-attachments/assets/a8401d42-a26e-460e-a87a-d408852a9ad9)

## 📂 Task Format

Each task is stored as an object in `taskCLI.json`:

```json
{
"id": 1,
"title": "Finish homework",
"status": 2
}
```

Where:

* `1` = Done
* `2` = In Progress
* `3` = Not Done

## 📚 Dependencies

* [nlohmann/json](https://github.com/nlohmann/json)

Make sure to include the `json.hpp` file in your `headers/` directory.

## 👤 Author

**Khraos Genetor**
Email: [khraos@khraos.in](mailto:khraos@khraos.in)

---

Feel free to clone, extend, and modify the project.