Skip to content

Repository files navigation

ToDoList

A small console task manager written in C++.

Features

  • 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.

Build

Install SQLite development files first if your system does not have them.

Ubuntu/Debian:

sudo apt install cmake g++ libsqlite3-dev

macOS with Homebrew:

brew install cmake sqlite
cmake -S . -B build
cmake --build build

Run

./build/todolist

Test

ctest --test-dir build --output-on-failure

Direct Build

Without CMake:

g++ -std=c++17 -Wall -Wextra -pedantic main.cpp funcs.cpp database.cpp -lsqlite3 -o todolist

Data Format

Tasks 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
);

Company

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages