Welcome! Fincept Terminal is an open-source native C++20 financial intelligence platform with 40+ screens, embedded Python analytics, and 100+ data connectors.
- Ways to Contribute
- Tech Stack
- Getting Started
- Project Architecture
- Development Workflow
- Pull Request Process
- Language-Specific Guides
- Getting Help
| Area | Examples |
|---|---|
| Code | Bug fixes, new features, new screens, new analytics |
| Documentation | Improve guides, add examples |
| Testing | Report bugs, write tests, review PRs |
| Design | UI/UX improvements, themes |
| Data | New data sources, API integrations, Python scripts |
| Layer | Technologies |
|---|---|
| Language | C++20 — MSVC 19.38 (VS 2022 17.8) / GCC 12.3 / Apple Clang 15.0 |
| UI | Qt 6.7.2 Widgets (pinned EXACT) |
| Charts | Qt6 Charts |
| Networking | Qt6 Network + Qt6 WebSockets |
| Database | Qt6 Sql (SQLite) |
| Serialization | QJsonDocument |
| Analytics | Embedded Python 3.11.9 (1300+ scripts) |
| Build | CMake 3.27.7 + Ninja 1.11.1 (pinned) |
Language-Specific Guides:
- C++ Guide — screens, services, core infrastructure
- Python Guide — analytics modules, data fetchers
| Tool | Version |
|---|---|
| C++ compiler | MSVC 19.38 (VS 2022 17.8) / GCC 12.3 / Apple Clang 15.0 (Xcode 15.2) |
| CMake | 3.27.7 — cmake.org |
| Ninja | 1.11.1 — releases |
| Qt | 6.7.2 (LTS) — Qt Online Installer |
| Python | 3.11.9 — python.org |
| Git | latest — git-scm.com |
The CMake build fails fast with a clear error message when toolchain versions don't match.
# Clone + auto-install toolchain + Qt 6.7.2 + build
git clone https://github.com/Fincept-Corporation/FinceptTerminal.git
cd FinceptTerminal
./setup.sh # Linux / macOS
setup.bat # Windows (run from VS 2022 Developer Cmd)The setup script uses aqtinstall to fetch Qt 6.7.2 exactly.
git clone https://github.com/Fincept-Corporation/FinceptTerminal.git
cd FinceptTerminal/fincept-qt
# Install Qt 6.7.2 first (Qt Online Installer or: pip install aqtinstall && aqt install-qt ...)
# Configure + Build (pick your platform preset)
cmake --preset win-release && cmake --build --preset win-release # Windows
cmake --preset linux-release && cmake --build --preset linux-release # Linux
cmake --preset macos-release && cmake --build --preset macos-release # macOS
# Run
./build/linux-release/FinceptTerminal # Linux
./build/macos-release/FinceptTerminal.app/Contents/MacOS/FinceptTerminal # macOS
.\build\win-release\FinceptTerminal.exe # Windowscmake --version # 3.27.7
python --version # 3.11.9
# Compiler:
cl / # MSVC 19.38+ (Windows)
g++ --version / # 12.3+ (Linux)
clang --version # 15.0+ (macOS, Xcode 15.2)src/
├── main.cpp # Entry point, GLFW/OpenGL setup
├── app.cpp/h # App state machine, routing
│
├── core/ # Shared infrastructure
│ ├── config.h # Constants (URLs, timeouts, versions)
│ ├── event_bus.h # Pub/sub messaging
│ ├── logger.h # Structured logging
│ └── result.h # Result<T> error handling
│
├── ui/ # Reusable ImGui widgets
├── http/ # HTTP client (libcurl)
├── storage/ # SQLite database
├── auth/ # Authentication
├── python/ # Python runtime bridge
├── mcp/ # MCP integration
├── trading/ # Trading engine + brokers
├── portfolio/ # Portfolio management
│
└── screens/ # 40+ terminal screens
├── dashboard/
├── markets/
├── crypto_trading/
├── research/
├── quantlib/
├── ai_chat/
├── economics/
├── geopolitics/
└── ...
scripts/
├── Analytics/ # 34 analytics modules
│ ├── equityInvestment/ # Stock valuation, DCF
│ ├── portfolioManagement/# Portfolio optimization
│ ├── derivatives/ # Options pricing, Greeks
│ ├── fixedIncome/ # Bond analytics
│ └── ...
│
├── agents/ # AI agents
├── strategies/ # Trading strategies
├── technicals/ # Technical analysis
└── *.py # 80+ data fetchers
feature/add-options-screen
fix/chart-rendering-crash
docs/update-architecture
- Create branch from
main - Follow the appropriate language guide
- Build and test locally
- Commit with clear messages
type: short description
Types: feat, fix, docs, refactor, test, chore, perf
- Code compiles without warnings (
-Wall -Wextra) - No duplicated code — use
core/andui/widgets/ - Screens don't call HTTP directly (use data services)
- New
.cppfiles added toCMakeLists.txt -
.clang-formatapplied - Tested in development mode
## Description
Brief description
## Type
- [ ] Bug fix
- [ ] New feature / screen
- [ ] Documentation
## Testing
How was this tested?
## Screenshots (if UI)| Guide | Coverage |
|---|---|
| C++ Guide | Screens, services, core infrastructure, widgets |
| Python Guide | Analytics modules, data fetchers, AI agents |
| Channel | Link |
|---|---|
| Issues | GitHub Issues |
| Discussions | GitHub Discussions |
| Discord | Join Discord |
| support@fincept.in |
Look for labels: good first issue, help wanted, documentation
Repository: https://github.com/Fincept-Corporation/FinceptTerminal Version: 4.0.2 License: AGPL-3.0