GPU-accelerated trading terminal. C++20, Qt 6, sub-millisecond rendering.
Windows:
setx QT_MSVC C:\Qt\6.9.3\msvc2022_64
setx VCPKG_ROOT C:\dev\vcpkg
git clone https://github.com/pattty847/Sentinel.git
cd Sentinel
cmake --preset windows-msvc
cmake --build --preset windows-msvc -j
Run: build/windows-msvc/apps/sentinel_gui/Release/sentinel_gui.exe
macOS:
brew install qt cmake ninja
export QT_MAC=/opt/homebrew/opt/qt
export VCPKG_ROOT=$HOME/vcpkg
cmake --preset mac-clang
cmake --build --preset mac-clang -j
Linux:
sudo apt install build-essential cmake ninja-build qt6-base-dev qt6-declarative-dev
export QT_LINUX=/usr/lib/qt6
export VCPKG_ROOT=$HOME/vcpkg
cmake --preset linux-gcc
cmake --build --preset linux-gcc -j
Drop a key.json in project root:
{
"key": "your-coinbase-api-key",
"secret": "-----BEGIN EC PRIVATE KEY-----\n...\n-----END EC PRIVATE KEY-----\n"
}libs/core/ Pure C++ data layer (no Qt GUI)
libs/gui/ Qt Quick, QSG rendering, widgets
apps/ Executables (sentinel_gui, stream_cli)
Core handles market data, caching, and transforms. GUI handles all rendering and layout. They don't mix.
docs/ARCHITECTURE.md— dataflow and rendering pipelinedocs/CROSS_COMPATABILITY.md— platform-specific notes
AGPL-3.0

