Skip to content

Latest commit

 

History

9 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GeoPulse

Geopolitical intelligence demo — a full-stack dashboard that turns news and market data into regional risk scores, a live 3D globe, and AI-assisted trading signals.

CI License: MIT

Portfolio / demo project. Not a production trading or intelligence product.


What it does

Surface Description
Earth Pulse Interactive 3D globe with country risk coloring and event arcs
Geo Map 2D choropleth map with asset charts and sector exposure
AI Signals Rule-based trading signals with trade setup, reasoning, and reliability
ML pipeline RSS ingest → sentiment → classification → GTI → narratives → summary

Stack

Layer Tech
Frontend Next.js 14, TypeScript, Tailwind CSS, globe.gl, Framer Motion
Backend FastAPI, SQLAlchemy (async), APScheduler
ML DistilBERT, BART-MNLI, LightGBM, BERTopic
Database PostgreSQL 16
CI GitHub Actions (lint + build + import checks)

Project layout

GeoPulse/
├── frontend/          # Next.js dashboard
├── backend/           # FastAPI API + ML services
├── data/schema.sql    # Postgres schema (Docker init)
├── .github/workflows/ # CI on every push / PR
├── docker-compose.yml
├── Makefile
└── LICENSE

Quick start

Requirements

  • Node.js 20+
  • Python 3.11+ (3.13 recommended)
  • Docker (for local Postgres) — optional if you already have Postgres

Setup

git clone https://github.com/guptaom31619-prog/GeoPulse.git
cd GeoPulse

cp .env.example backend/.env
make install
make dev-db    # starts Postgres via Docker
make dev       # backend :8000 + frontend :3000
Service URL
Frontend http://localhost:3000
Backend API http://localhost:8000
API docs http://localhost:8000/docs

Full stack with Docker

docker compose up --build

Useful commands

make help           # list all targets
make install        # Python venv + npm install
make dev            # run API + UI
make lint           # lint backend + frontend
make build          # production frontend build
make check          # CI-style validation locally
make docker-up      # compose up
make docker-down    # compose down

API (prefix /api/v1)

Method Endpoint Description
GET /health Health check
GET /news/latest Latest articles
GET /events/latest Latest ML-processed events
GET /risk/global Global + regional GTI
GET /predictions/latest Macro risk predictions
GET /narratives/latest Detected narratives
GET /summary/latest Intelligence summary
GET /market/prices Live market prices
GET /market/signals AI trading signals
GET /globe/data Globe visualization payload

Environment

Variable Required Description
DATABASE_URL Yes postgresql+asyncpg://... connection string
ENVIRONMENT No development (default) or production
NEXT_PUBLIC_API_URL No Frontend API base (default http://localhost:8000/api/v1)

Copy .env.examplebackend/.env. Never commit real credentials.


CI

On every push to main / develop and on pull requests:

  1. Frontendnpm cinext lintnext build
  2. Backend — install deps → syntax check → import all modules → load FastAPI app

License

MIT — see LICENSE.

About

GeoPulse — geopolitical intelligence demo with 3D globe, ML risk scoring, and AI trading signals

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages