Skip to content

Latest commit

Β 

History

History
70 lines (50 loc) Β· 1.79 KB

File metadata and controls

70 lines (50 loc) Β· 1.79 KB

πŸ“ˆ ROBINHOOK: REAL-TIME STOCK DATA

πŸš€ Overview

  • Fetches real-time market data from multiple providers
  • Processes data via a Kafka streaming pipeline
  • Computes moving averages and stores results in PostgreSQL
  • Exposes RESTful APIs for data access
  • Includes robust documentation, testing, and DevOps tooling

βš™οΈ Setup

  1. Clone the repository

    git clone https://github.com/yourusername/robinhook.git
    cd robinhook
  2. Environment variables

    • Copy .env.example to .env and adjust as needed (DB, Redis, Kafka, provider keys).
  3. Start services with Docker Compose

    docker-compose up --build
  4. Run tests

    pip install -r requirements.txt
    pytest

πŸ› οΈ Local Development

  • Use the provided docker-compose.yaml for all dependencies
  • Hot-reload enabled with uvicorn in development
  • Set PYTHONPATH to project root for local testing:
    • Windows: set PYTHONPATH=%cd%
    • Unix/Mac: export PYTHONPATH=$(pwd)
  • Run tests with pytest

πŸ—οΈ Architecture Decisions

  • FastAPI for async, type-safe APIs
  • PostgreSQL for transactional storage
  • Kafka for event streaming and decoupled processing
  • Redis for caching
  • Prometheus & Grafana for monitoring
  • Docker Compose for local orchestration
  • GitHub Actions for CI/CD

System Architecture

image image


πŸ“š API Documentation

  • See APIdoc.md for full API documentation and usage examples.

☁️ Cloud Deployment