NEWSLOGIC

Rust-based News Processing System
Language Rust
Portfolio Code

Code in this repository

Path

Code lives in this repo at code/newslogic/. Clone the portfolio repository to get the source.

How to run

  • Clone this repository, then open a terminal in the-monospace-web/code/newslogic.
  • Install Rust (rustup) if needed. Run cargo build to compile.
  • Start the API server: cargo run -- api-server. The REST API will serve events and map data.
  • Process the memory graph (RSS feeds, BitNet extraction, Neo4j): cargo run -- memory-graph.
  • Configure RSS feeds in config/feeds.yaml. Ensure Neo4j and any required env vars are set before running.
code/newslogic/

Overview

NewsLogic is a Rust-based system for processing RSS feeds, extracting events from news articles, geocoding locations using GeoJSON data for the 757 area, and storing them in Neo4j with spatial coordinates for visualization.

Architecture

Data Flow

Article → BitNet Agent → Events + Locations → Neo4j → Web API → Leaflet Map

Key Components

Project Structure

newslogic/
├── src/
│   ├── main.rs              # CLI entry point
│   ├── bitnet_agent.rs      # Event extraction agent
│   ├── geo_data.rs          # GeoJSON loading and lookup
│   ├── memory_graph.rs      # Neo4j storage
│   ├── api_server.rs        # REST API server
│   ├── worker.rs            # RSS feed processing
│   ├── parser.rs            # RSS/XML parsing
│   ├── fetcher.rs           # HTTP feed fetching
│   └── models.rs            # Data structures
├── config/
│   └── feeds.yaml           # RSS feed configuration
└── output/                  # Processed XML outputs

Dependencies

Key dependencies from Cargo.toml:

Features