A high-performance, native desktop application for productivity tracking, learning management, and focused execution.
A bespoke Dark Industrial Desktop UI designed for zero distractions and maximum focus.
CTracker is a locally-hosted, standalone native application designed to unify your workflow. Whether you're tracking coursework, managing long-term projects, running Pomodoro focus sessions, or reviewing your detailed activity analytics β CTracker puts it all at your fingertips without the overhead of electron-based apps or cloud subscriptions.
| Strength | Detail |
|---|---|
| β‘ Native Performance | Pure C++17 + Qt 6 β no Electron, no web runtime. Starts instantly, uses minimal RAM, and feels like a real OS application. |
| π 100% Local & Private | All data stays on your machine in a SQLite database. No accounts, no cloud sync, no telemetry. Your productivity data is yours alone. |
| π¨ Dark Industrial UI | A hand-crafted, distraction-free QSS theme (#1a1d24 background) designed for extended focus sessions. Every pixel is intentional. |
| π Figma-Driven Design | UI layouts and interaction patterns were prototyped in Figma before implementation, ensuring consistent spacing, colors, and component behavior across every view. |
| ποΈ Strict ModelβView Architecture | Clean separation between data models (QAbstractTableModel/QAbstractListModel) and custom widgets. Signal/Slot wiring β no spaghetti UI logic. |
| π¦ Import / Export | Full JSON import/export pipeline. Bring your course data in from a structured JSON file, or export your progress to share or back up. |
| π§ͺ Tested Foundation | 15+ database tests, model validation tests, and widget behavior tests using the Qt Test framework β the core layer is verified before UI work begins. |
| π Pomodoro β Tasks Integration | The built-in Pomodoro timer links directly to your active tasks and automatically logs focused time into the activity system. |
- π Course & Project Mastery: Create nested hierarchies. Break down high-level Projects and Courses into actionable Units, Sessions, and Tasks.
- β±οΈ Built-in Pomodoro Engine: A native desktop Pomodoro tracker that links directly to your active tasks and automatically logs your focused time.
- π Unified Calendar & Daily View: Visualize tasks, deadlines, and completed Pomodoro sessions on an interactive calendar. Drill down into specific days to see detailed time-tracking logs.
- π Interactive Analytics: Deep-dive into your productivity using QtCharts. View time spent across different categories, activity logs, and progress overviews.
- π― Todo Management: A dedicated todo view with active/completed filtering, so nothing falls through the cracks.
- π¨ Dark Industrial UI: A highly polished, bespoke UI utilizing native Qt Widgets customized with a distraction-free QSS theme.
Experience the bespoke Dark Industrial UI designed for zero distractions.
| Main Dashboard & Overview | Analytics & Visualization |
|---|---|
| Course & Unit Management | Activity Heatmap |
| Pomodoro Focus Sessions | To-Do Management |
| Session Tracking | Detailed Unit Cards |
CTracker prioritizes speed, native OS integration, and low memory footprint.
- Language: C++17
- Framework: Qt 6 (Core, Widgets, Sql, Charts, Svg)
- Database: SQLite (Managed via a thread-safe, robust
DatabaseManagersingleton) - Build System: CMake
- Design Tool: Figma (visual prototyping β translated to Qt widgets + QSS)
- Architecture: Strict ModelβView separation. The UI leverages XML UI files (
.ui) combined with dynamic C++ custom widgets, and interfaces with the backend exclusively via standard Qt Item Models and strong Signal/Slot wiring.
Note
Design Prototype: The Design/ directory contains a React + Tailwind prototype that serves exclusively as a visual reference for spacing, colors, and layout structure β prototyped in Figma first, then validated in code. The production application translates these design concepts entirely into pure C++ and QSS.
βββ CTracker/ # Main Source Code & Build Targets
β βββ assets/ # QSS Stylesheets and SVG Icons
β βββ include/ # C++ Headers (Grouped by module)
β βββ src/ # C++ Implementations
β βββ tests/ # QtTest Framework Unit Tests
βββ data/ # Import example & user data (see example_import.json)
βββ Design/ # Visual Reference (React Prototype + Figma-derived)
βββ Photos/ # App screenshots & logo
βββ README.md # This file
CTracker supports importing courses and projects from a JSON file. The expected format is documented in data/example_import.json:
{
"entities": [
{
"version": "1.0",
"type": "course",
"name": "Your Course Name",
"units": [
{
"name": "Unit Name",
"sessions": [
{ "name": "Session Name", "progress": 0 }
]
}
]
}
]
}Required fields per entity: version, type ("course" or "project"), name, units (array).
Required fields per session: name, progress (integer, clamped to 0β100).
Tip
You can import a single entity without the entities wrapper β just pass the entity object as the JSON root.
- CMake (3.20 or newer)
- C++17 standard compatible compiler (MSVC / GCC / Clang)
- Qt 6 Toolkit (requires
Core,Widgets,Sql,Charts, andSvgmodules)
Clone the repository and build via the provided PowerShell scripts or standard CMake commands:
git clone https://github.com/your-username/CTracker.git
cd CTracker
# Quick Build via script (Windows)
.\build_and_run.ps1Or manually:
mkdir build && cd build
cmake ..
cmake --build .Before running the executable, ensure the required Qt DLLs are in your build path:
# Deploys active Qt environment DLLs to the build folder
.\build_and_run.ps1
# Or launch directly
.\Run_CTracker.batThe repository features comprehensive unit tests using the Qt Test suite.
cd CTracker
.\run-tests.ps1See CTracker/tests/README.md for the full test catalog and results.
Current Version: v0.0.8
- β Core database layer (v1 + v2 schema with categories, todos, pomodoro, calendar, settings)
- β Architecture mapping (ModelβView with strict separation)
- β Extensive testing suite (15+ database tests, model & widget tests)
- β JSON import/export pipeline
- β Pomodoro timer with task integration
- β Calendar view with daily drill-down
- β Analytics dashboard with contribution heatmap
- β Todo management with active/completed filtering
- β Figma-driven dark industrial UI theme
- π§ Known Issue: You may need to resize the application window slightly for the Course View to render/display correctly.
This project is licensed under the MIT License β see the LICENSE file for details.