Skip to content

schak04/priorify

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

136 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Priorify

C++ SQLite

Priorify is a priority-based task manager built in C++, focused on performance, simplicity, and productivity.
This project started as a basic console UI app, and I am now evolving it into a modern, keyboard-driven TUI (Terminal User Interface), especially for Linux users like myself.


Vision

This project is designed to be:

  • Fast -> minimal overhead, instant operations
  • Keyboard-first -> no mouse needed, optimised workflow
  • Focused -> prioritisation over clutter
  • Native to developers -> built for terminal-heavy environments

Through this project, I intend to improve the way I track my tasks, solving a personal productivity problem, and I hope it helps others too.


Features

  • Add, update, complete, and remove tasks
  • Display all tasks (ordered by priority)
  • Clear all tasks
  • In-memory storage using priority queue and vector
  • Persistent storage with SQLite
  • Cross-platform build scripts

In Progress: TUI Version

The next major step is a feature-rich TUI, built mainly for Linux users like myself (Arch btw).

Planned TUI Features

  • Interactive task list with navigation
  • Keyboard shortcuts for all actions
  • Color-coded priorities and statuses
  • Panels (task view, details, status bar)
  • Modal inputs (add/edit tasks)
  • Filtering and sorting
  • Smooth and efficient screen updates

Tech Direction

Already Existing Tech:

  • Language: C++
  • DB: SQLite

Planned for TUI:

  • TUI Library: FTXUI
  • Architecture:
    • Core logic (task manager)
    • Persistence layer (SQLite)
    • UI layer (TUI)

Technologies Used

  • Language: C++
  • C++ Standard Template Library (STL)
  • Database: SQLite
  • Terminal UI: FTXUI
  • Build System: CMake

How to Use (v1.0.0, pre-TUI)

On Linux (and Unix-like Operating Systems, macOS)

Clone the Repository

git clone https://github.com/schak04/priorify.git
cd priorify

Make the build script executable (only once)

chmod +x scripts/build.sh

Build:

./scripts/build.sh

Run:

./bin/priorify

On Windows (Prebuilt App Bundle)

If you're a Windows user and just want to run the exe, follow these steps:

  1. Go to Releases -> Priorify v1.0.0.
  2. Download the installer priorify_setup.exe and install the app bundle using it.

Do not move the EXE out of the bin/ folder.


System Design

High-Level Design

  • System Architecture:
    System Architecture

  • UML Use Case Diagram:
    UML Use Case Diagram

Low-Level Design

  • Sequence Diagram:
    Sequence Diagram

Current Status

  • Core features implemented
  • Fully functional CLI app
  • Refactored for upcoming TUI (using FTXUI)
  • Migrated to CMake build system
  • Currently working on v2.0.0 (TUI using FTXUI)

Author

© 2025-2026 Saptaparno Chakraborty.
All rights reserved.


About

A terminal-first productivity app that helps users prioritise their tasks. Currently working on v2.0.0 (TUI).

Topics

Resources

Stars

Watchers

Forks

Contributors

Languages