tagberry
tagberry copied to clipboard
Tag-oriented Qt5 desktop calendar, task manager, and todo list.

Tagberry Qt5 desktop app
Features
Work in progress!
Tagberry is a tag-oriented Qt5 desktop calendar, task manager, and todo list.
Available features:
- create and edit tasks with tags on the calendar
- markdown highlighting
- SQLite3 database
Planned features:
- create and edit subtasks
- organize tasks in lists
- manage tag properties
- various UI improvements
Screenshot
Supported platforms
The code is written in a cross-platform manner, but only Linux was tested so far.
Dependencies
- C++17 compiler
- CMake >= 3.0
- qmake from Qt5 (for dependencies)
- Qt5 >= 5.9
- SQLite3
- QMarkdownTextEdit (shipped as a submodule)
- QSqlMigrator (shipped as a submodule)
Instructions
Install dependencies
sudo apt install qt5-default cmake
Clone repo
git clone --recurse-submodules https://github.com/tagberry/tagberry-qt.git
cd tagberry-qt
Build
mkdir build
cd build
cmake ..
make -j4
cd ..
Run locally
./bin/tagberry-qt
Install system-wide
cd build
sudo make install
cd ..
Format code
./scripts/format.sh
Code structure
The codebase is divided into four parts:
-
widgets - A collection of application-specific widgets, supplementing standard Qt widgets. Widgets don't know anything about models and business-logic.
-
models - A collection of data objects to be displayed and manipulated by user. Models don't know anything about widgets and UI.
-
storage - Classes to read and write models from a persistent storage.
-
presenters - Classes that put all these things together. Presenters create the UI using widgets and interconnect models with widgets and storage.

Authors
See here.
License
GPLv2+
