Skip to content

OpenScanAI/GlobeNewsLive

Repository files navigation

🌐 XDC World Feed

Real-time global conflict intelligence dashboard. Open source. No login required.

Live Demo License: MIT Next.js

XDC World Feed Screenshot

πŸš€ Features

Real-Time Intelligence

  • πŸ“‘ Signal Feed β€” Live news from Reuters, BBC, Al Jazeera, Guardian, France24, DW News, Defense One, Breaking Defense
  • 🎯 Threat Classification β€” Auto-classifies news as CRITICAL, HIGH, MEDIUM, LOW using keyword analysis
  • ⚠️ Breaking Alerts β€” Flashing banner for critical events with optional sound alerts
  • 🧠 AI Situation Briefs β€” Algorithm-generated intelligence summaries with threat assessments (v2.0)

Interactive Map

  • πŸ—ΊοΈ World Map β€” Dark-themed MapLibre GL with multiple layers
  • 🌍 3D Globe β€” Three.js rotating earth with live conflict pins (War Room mode)
  • βš”οΈ Conflict Zones β€” 10 active conflict markers (Ukraine, Gaza, Sudan, etc.)
  • πŸŽ–οΈ Military Bases β€” 15 US/NATO bases worldwide
  • βš“ Strategic Chokepoints β€” Strait of Hormuz, Suez, Malacca, etc.
  • 🌍 Earthquakes β€” Live USGS data (M4.5+ past 24h)

War Room Mode

  • βš”οΈ Theater Selector β€” Focus on Global, Ukraine, Middle East, Sahel/Sudan, Asia-Pacific
  • 🌐 Live 3D Globe β€” Interactive Three.js globe with auto-rotation
  • πŸ“Š Conflict Stats β€” Active wars, insurgencies, high intensity zones
  • πŸ”΄ ACLED-style Events β€” Real conflict event feed by theater

Market Intelligence

  • πŸ“ˆ Live Markets β€” S&P 500, Oil, Gold, EUR/USD, BTC, ETH
  • πŸ“Š Trading Charts β€” TradingView widget with Gold, Silver, Bitcoin, Oil, S&P 500
  • 🎯 Prediction Markets β€” Polymarket geopolitical contracts with probability bars

Tracking

  • ✈️ Flight Tracking β€” ADS-B Exchange embed (military + civilian)
  • 🚒 Ship Tracking β€” MarineTraffic embed (Strait of Hormuz focus)
  • 🌍 Earthquake Monitor β€” USGS live feed with magnitude badges

Mobile Responsive

  • πŸ“± 4-tab mobile layout β€” Feed / Map / Markets / Track
  • πŸ”” Push-style badges β€” Critical count on mobile nav
  • πŸ‘† Touch-optimized β€” Larger tap targets, swipeable panels

πŸ› οΈ Tech Stack

Layer Technology
Framework Next.js 14 (App Router)
Styling Tailwind CSS
Map MapLibre GL JS + Carto dark tiles
Charts TradingView Widget
State React Hooks + SWR
Hosting Any Node.js server + nginx

πŸ“¦ Installation

Prerequisites

  • Node.js 18+
  • npm or yarn

Quick Start

# Clone the repository
git clone https://github.com/your-username/xdc-world-feed.git
cd xdc-world-feed

# Install dependencies
npm install

# Run development server
npm run dev

# Open http://localhost:3400

Production Build

# Build for production
npm run build

# Start production server
npm start

πŸš€ Deployment

Option 1: PM2 (Recommended)

# Build the app
npm run build

# Start with PM2
pm2 start npm --name "xdc-world-feed" -- start

# Save PM2 config
pm2 save
pm2 startup

Option 2: Docker

FROM node:20-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --production
COPY . .
RUN npm run build
EXPOSE 3400
CMD ["npm", "start"]

Nginx Configuration

server {
    server_name feed.xdc.network;

    location /.well-known/acme-challenge/ {
        root /var/www/html;
    }

    location / {
        proxy_pass http://127.0.0.1:3400;
        proxy_http_version 1.1;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_read_timeout 86400s;
    }

    listen 443 ssl;
    ssl_certificate /etc/letsencrypt/live/feed.xdc.network/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/feed.xdc.network/privkey.pem;
}

server {
    listen 80;
    server_name feed.xdc.network;
    return 301 https://$host$request_uri;
}

SSL with Certbot

certbot certonly --webroot -w /var/www/html -d feed.xdc.network

πŸ“‘ Public API (v2.0)

All endpoints are free, no API key required.

# Get live signals
curl https://feed.xdc.network/api/signals

# Get AI situation brief
curl https://feed.xdc.network/api/brief

# Get market data
curl https://feed.xdc.network/api/markets

# Get conflict events
curl https://feed.xdc.network/api/conflicts

# Get earthquake data
curl https://feed.xdc.network/api/earthquakes

# Get full API documentation
curl https://feed.xdc.network/api/docs

Response Examples

GET /api/brief

{
  "brief": {
    "threatLevel": "SEVERE",
    "headline": "Major escalation in Middle East...",
    "summary": "Current tracking: 3 military, 8 geopolitical signals...",
    "keyDevelopments": [
      { "region": "MIDDLE EAST", "headline": "...", "severity": "CRITICAL" }
    ],
    "watchList": ["Elevated military activity..."],
    "marketImplications": "Risk-off sentiment likely...",
    "nextHours": "Recommend elevated alert status..."
  }
}

πŸ“Š Data Sources

Source Data Refresh
Reuters RSS World news 60s
BBC World RSS World news 60s
Al Jazeera RSS World news 60s
Guardian RSS World news 60s
France24 RSS World news 60s
DW News RSS World news 60s
Defense One RSS Defense news 60s
Breaking Defense RSS Defense news 60s
BleepingComputer RSS Cyber news 60s
CoinGecko API Crypto prices 30s
Polymarket API Prediction markets 60s
USGS API Earthquakes 120s

Total API cost: $0/month β€” All sources are free.

🎨 Customization

Adding News Sources

Edit src/app/api/signals/route.ts:

const FEEDS = [
  { name: 'Your Source', url: 'https://example.com/rss', tier: 2 },
  // ...
];

Adding Map Layers

Edit src/lib/feeds.ts to add:

  • Military bases
  • Conflict zones
  • Strategic chokepoints

Changing Threat Keywords

Edit src/lib/classify.ts:

const THREAT_KEYWORDS = {
  CRITICAL: ['nuclear', 'invasion', ...],
  HIGH: ['airstrike', 'missile', ...],
  // ...
};

πŸ“ Project Structure

xdc-world-feed/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ app/
β”‚   β”‚   β”œβ”€β”€ page.tsx           # Main dashboard
β”‚   β”‚   β”œβ”€β”€ layout.tsx         # Root layout
β”‚   β”‚   β”œβ”€β”€ globals.css        # Global styles
β”‚   β”‚   └── api/
β”‚   β”‚       β”œβ”€β”€ signals/       # RSS aggregation
β”‚   β”‚       β”œβ”€β”€ markets/       # Market data
β”‚   β”‚       β”œβ”€β”€ predictions/   # Polymarket
β”‚   β”‚       └── earthquakes/   # USGS data
β”‚   β”œβ”€β”€ components/
β”‚   β”‚   β”œβ”€β”€ Header.tsx         # Top bar with threat level
β”‚   β”‚   β”œβ”€β”€ SignalFeed.tsx     # News feed
β”‚   β”‚   β”œβ”€β”€ WorldMap.tsx       # MapLibre map
β”‚   β”‚   β”œβ”€β”€ MarketTicker.tsx   # Market prices
β”‚   β”‚   β”œβ”€β”€ PredictionPanel.tsx # Prediction markets
β”‚   β”‚   β”œβ”€β”€ TrackingPanel.tsx  # Flights/Ships/Quakes
β”‚   β”‚   β”œβ”€β”€ TradingChart.tsx   # TradingView widget
β”‚   β”‚   β”œβ”€β”€ MobileNav.tsx      # Mobile navigation
β”‚   β”‚   └── StatsBar.tsx       # Footer stats
β”‚   β”œβ”€β”€ lib/
β”‚   β”‚   β”œβ”€β”€ classify.ts        # Threat classification
β”‚   β”‚   └── feeds.ts           # Static data
β”‚   └── types/
β”‚       └── index.ts           # TypeScript types
β”œβ”€β”€ public/                    # Static assets
β”œβ”€β”€ package.json
β”œβ”€β”€ tailwind.config.ts
β”œβ”€β”€ next.config.mjs
└── README.md

πŸ”§ Environment Variables

No environment variables required for basic operation.

Optional:

# For enhanced features (not required)
GROQ_API_KEY=xxx          # AI classification (optional)
NASA_FIRMS_KEY=xxx        # Fire data (optional)

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing)
  3. Commit changes (git commit -m 'Add amazing feature')
  4. Push to branch (git push origin feature/amazing)
  5. Open a Pull Request

πŸ“„ License

MIT License β€” see LICENSE file.

πŸ™ Credits

  • News Sources: Reuters, BBC, Al Jazeera, Guardian, France24, DW, Defense One, Breaking Defense
  • Map: MapLibre GL + Carto dark tiles
  • Charts: TradingView
  • Markets: CoinGecko, Polymarket
  • Earthquakes: USGS
  • Flight Tracking: ADS-B Exchange
  • Ship Tracking: MarineTraffic

πŸ”— Links


Built with ❀️ for the OSINT community. Monitor the world. Stay informed.

Test push

About

Real-time global intelligence dashboard - Live conflict tracking, flight radar, prediction markets, AI briefs

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors