A small console task manager written in C++.
- Add tasks with a name and description.
- Mark tasks as completed or incompleted.
- Delete tasks.
- Save tasks to a local SQLite database:
tasks.db. - Run unit tests with doctest.
Install SQLite development files first if your system does not have them.
Ubuntu/Debian:
sudo apt install cmake g++ libsqlite3-devmacOS with Homebrew:
brew install cmake sqlitecmake -S . -B build
cmake --build build./build/todolistctest --test-dir build --output-on-failureWithout CMake:
g++ -std=c++17 -Wall -Wextra -pedantic main.cpp funcs.cpp database.cpp -lsqlite3 -o todolistTasks are stored in SQLite using this table:
CREATE TABLE IF NOT EXISTS tasks (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
description TEXT NOT NULL,
completed INTEGER NOT NULL DEFAULT 0
);