Tech Series
Goal
Build an end-to-end financial analytics/trading/research system Sravz Architecture.
Source Code
Visit our GitHub Repository to explore the complete Sravz platform source code.
Sravz Source Code Repositories
Below are the main code repositories powering the Sravz platform. Each repository is a separate submodule in the monorepo. Click the links for more details and usage instructions.
| Repository | Description | Link |
|---|---|---|
| backend-py | Python backend for financial data processing, analytics, Kafka/NSQ/MongoDB integration, and cloud uploads. | GitHub |
| backend-go | Go backend providing REST APIs, WebSocket support, batch jobs, RSS feed processing, and MongoDB integration. | GitHub |
| backend-cpp | High-performance C++ backend for real-time data processing, WebSocket server, and Redis integration. | GitHub |
| backend-node | Node.js backend for REST APIs, WebSocket, job scheduling, authentication, MongoDB, Redis, and NSQ. | GitHub |
| backend-rust | Rust backend for scalable data processing, NSQ messaging, MongoDB, and analytics with Polars/Python interop. | GitHub |
| frontend-ng | Angular frontend providing a modern UI for analytics, assets, portfolios, and integration with backend services. | GitHub |
For product demos, collaborative licenses, or commercial use, please Contact Us.
Note
Please review below material in the ID order. The codebase gradually implements new features.
CPP (C++)
| ID | Description | Use Case | Page |
|---|---|---|---|
| 0 | Docker Containerizaton & Development Environment Setup | Docker Containerizaton & Development Environment Setup | C++ Docker Dev Env Setup |
| 1 | Boost Redis Streams | Integrate backends implemented in C++ and NodeJS | Redis Streams |
| 2 | Boost Beast Websockets | Use multi-threaded client to read stock quotes from websocket | Boost Beast Websockets |
| 3 | Boost Beast Websocket Server | Use multi-threaded server to publish stock quotes | Boost Beast Websockets |
| 4 | Boost Program Options | Use boost program options library | Boost Program Options |
| 5 | Boost Beast REST API Server | Use multi-threaded server to provide REST API | Boost Beast REST API Server |
| 6 | MongoDB Client/Service | Use C++ MongoDB Driver to perform CRUD operations on MongoDB | C++ MongoDB Service/Client |
| 7 | AWS S3 Client/Service | Use C++ AWS SDK to perform CRUD operations on AWS S3 | C++ AWS S3 Service/Client |
| 8 | Boost Beast REST API HTTP Session with Router -> Controller -> Service | Integrates Boost Beast REST API HTTP Session with Router -> Controller -> Service | REST-API-Router-Controller-Service |
| 9 | AWS S3 Client/Service - S3 Select | Use C++ AWS SDK to perform S3 select operations on AWS S3 Parquet file | REST-API-AWS-S3-Select |
| 10 | Optional - Airflow + Dask Stock Quotes Stats Generation | Optional - Airflow + Dask Massively Parallel 5200 Stock Quotes Stats Generation | Airflow-Dask-Stock-Stats-Generator |
| 12 | CMake | Switch Make to CMake | CMake |
| 13 | Fundamentals Controller | Cache S3 Presigned URLs in Redis | Fundamentals-Controller |
| 14 | REST API Models | Use Models to send JSON as the REST API Output | REST-API-MODELS |
Golang
| ID | Description | Use Case | Page |
|---|---|---|---|
| 1 | Golang Crash Course | Covers important golang topics | Golang Crash Course |
| 2 | Golang Redis Websockets | Use Golang WebSockets/Redis Client to load realtime ticker plant | Golang Redis Websockets |
Airflow - Dask
| ID | Description | Use Case | Page |
|---|---|---|---|
| 1 | Stock Quotes Stats Generation | Airflow + Dask Massively Parallel 5200 Stock Quotes Stats Generation | Airflow-Dask-Stock-Stats-Generator |
| 2 | Stock Fundamentals uploader | Airflow Task Mapping Usage - Ticker fundamentals upload | Stock Fundamentals Uploader |
| 3 | ETF Tickers uploader | Airflow Task Mapping Usage - Get list of US ETF tickers | ETF Tickers Uploaders |
| 4 | ETF historical quotes uploader | Airflow Task Mapping Usage - Uplaod historial ETFs quotes to S3 | ETF Historical Quotes Uploader |
| 5 | Mutual funds uploader | Airflow Task Mapping Usage - Upload mutual funds fundamentals | Mutual funds fundamentals uploader |
Angular
| ID | Description | Use Case | Page |
|---|---|---|---|
| 1 | Status Message Implementation | Real-time status messages for backend operations with WebSocket integration | Status Message Implementation |
| 2 | Earnings Analytics Page | Earnings data visualization and analytics | Earnings Analytics |
| 3 | Angular - Ignite UI - Upgrade v14 - v15 | Update Angular | Angular-Upgrade-V14-15 |
| 4 | Angular - Ignite UI - Upgrade v15 - v16 | Update Angular | Angular-Upgrade-V15-16 |
| 5 | Angular - Ignite UI - Upgrade v16 - v18 | Update Angular | Angular-Upgrade-V16-18 |
IBKR
| ID | Description | Use Case | Page |
|---|---|---|---|
| 1 | IBKR Python API Introduction | Quick introduction to IBKR Python API | IBKR-Python-API |
Docker
| ID | Description | Use Case | Page |
|---|---|---|---|
| 1 | Multi Node Docker Swarm Setup | Create docker swarm on multiple Ubuntu nodes | docker-swarm-setup |
Redis
| ID | Description | Use Case | Page |
|---|---|---|---|
| 1 | Redis Timeseries introduction | Redis Timeseries introduction | Redis-Timeseries-Introduction |
Rust
| ID | Description | Use Case | Page |
|---|---|---|---|
| 1 | Rust NSQ Reader/Writer | Rust application for NSQ Reader/Writer - Historical Ticker Plant | Rust-NSQ-Reader-Writer |
Python
| ID | Description | Use Case | Page |
|---|---|---|---|
| 1 | OpenAI | Use OpenAI to Create Q&A Application on Sravz Financial Data | OpenAI Q&A Session |
| 2 | LangChain | Use LangChain to Create Q&A Application on Sravz Financial Data | LangChain Q&A Session |
Hugo Documentation Site
| ID | Description | Use Case | Page |
|---|---|---|---|
| 1 | Quick Reference | Fast lookup for common Hugo site customization tasks | Quick Reference |
| 2 | Complete Summary | Full overview of all Hugo documentation site enhancements | Complete Summary |
| 3 | Top Header | Sticky navigation with enlarged logo and quick links | Top Header |
| 4 | Enhanced Footer | Social media icons and expandable Disqus comments | Enhanced Footer |
| 5 | Sidebar Themes | 6 color themes with switcher and localStorage persistence | Sidebar Themes |
| 6 | Sidebar Width Fix | Optimized sidebar width and logo improvements | Sidebar Width Fix |
| 7 | Modern TOC | Table of contents with active section highlighting | Modern TOC |
| 8 | TOC Theme Sync | Synchronized themes between sidebar and TOC | TOC Theme Sync |
| 9 | Full Width Layout | Removed excessive margins for better content utilization | Full Width Layout |
| 10 | Bootstrap Update | Upgraded Bootstrap from v5.0.2 to v5.3.3 | Bootstrap Update |
