Skip to content

Latest commit

 

History

81 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FinIntel

FinIntel is an Indian market intelligence platform for portfolio monitoring, sector analysis, ticker research, charting, provider-key management, and document risk review. The current build focuses on safer defaults, stronger type safety, modular backend services, and clearer compliance language.

What it does

  • Market overview for Nifty, Sensex, India VIX, and USD/INR
  • Market desk with equities, currencies, chart modes, alerts, and news tape
  • Sector performance heatmap for major Indian indices
  • Portfolio valuation and holding-level PnL tracking
  • Heuristic research summaries and momentum/behavior signals
  • Portfolio-aware research context using holdings, exposure, and available broker cash when read-only sync is enabled
  • LLM provider key entry and verification modal for OpenAI-compatible endpoints
  • Document clause scanning for common legal and risk keywords
  • Compliance, privacy, and risk-disclosure surfaces in the product

Architecture

  • Frontend: React, TypeScript, Vite
  • Backend: FastAPI with modular routers, schemas, services, and SQLite persistence
  • Data: Yahoo Finance market data and local application records
  • Discovery: DuckDuckGo search for legal, news, blog, and public commentary inputs
  • Session model: short-lived signed application sessions for protected write operations
  • Provider keys: encrypted local storage for development verification, with production guidance to use environment secrets or an external secret manager

Security and compliance posture

  • Broker credentials are not collected or persisted in the application UI
  • Provider keys should be supplied through environment variables or an external secret manager
  • LLM provider keys can be entered and verified from the settings modal, but production should still prefer managed secrets
  • Zerodha integration, when enabled, is read-only portfolio intelligence only; FinIntel does not place, modify, or cancel orders
  • Interactive broker credentials such as request-token exchange secrets are intentionally unsupported in the application
  • Protected write routes require a signed session token issued by the backend
  • The product includes investment-risk, privacy, and terms disclosures
  • The app is an informational research tool, not a brokerage or personalized advisory service
  • CI is configured with GitHub Actions for type checks, build verification, and backend tests

Local development

# Backend
pip install -r backend/requirements.txt
python -m backend.main

# Frontend
npm install
npm run dev

Or run both with:

python run.py

Environment

Use .env.example as the baseline. Important variables:

  • VITE_API_BASE_URL
  • FININTEL_APP_SECRET
  • FININTEL_ALLOWED_ORIGINS
  • FININTEL_DB_PATH
  • FININTEL_ENABLE_BROKER_READONLY
  • ZERODHA_API_KEY
  • ZERODHA_ACCESS_TOKEN
  • LLM provider settings are managed from the app modal and stored encrypted locally for development-only convenience
  • ZERODHA_API_SECRET and ZERODHA_REQUEST_TOKEN should remain unset for this product because interactive trading-oriented broker flows are blocked

Project layout

backend/
  api/
  config/
  database/
  middleware/
  schemas/
  security/
  services/
  tests/
src/
  components/
  constants/
  hooks/
  services/
  types/

Validation

  • Frontend type check: npx tsc -p tsconfig.app.json --noEmit
  • Backend compile check: python -m compileall backend
  • Backend tests: python -m unittest backend.tests.test_app
  • CI workflow: .github/workflows/ci.yml
  • API readiness probe: GET /ready

Known limits

  • Market data quality depends on third-party sources and may be delayed
  • Real-time here means refreshed frequently from public sources; it is not a paid institutional feed
  • Research outputs are heuristic summaries, not analyst-grade recommendations
  • Company due diligence uses external search results for legal, news, blog, and public-commentary context and should be manually reviewed
  • Broker sync is read-only and intended to enrich analytics with holdings, investment value, cash, and PnL context
  • The current auth model is application-session based and still needs a fuller user/account security model for a true production rollout

About

FinIntel Pro: AI-powered financial intelligence dashboard. Real-time analytics, automated reporting, and secure data management.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages