Logo Lanfrica

devwithjesse/naijawatch

Domain:

peace and securitynatural language processing

Record type:

software
Creator:
dev
Host:
NaijaWatch converts security-focused news articles into structured event intelligence for visualization and travel risk summaries across Nigeria. NaijaWatch — Intelligence System ================================ Visit at naijawatch-frontend.onrende… NaijaWatch converts security-focused news articles into structured event intelligence for visualization and travel risk summaries across Nigeria. This README covers repository layout, local development, production readiness, database migration, cron jobs, caching, and deployment notes for the chosen stack (Cloud Run, Netlify, Neon, GitHub Actions). Table of contents - Project overview - Repo layout - Quick start (dev) - Environment variables (backend) - Database migration (SQLite → Neon) - Cron jobs & GitHub Actions - Caching strategy - Deployment summary (Cloud Run + Netlify + Neon) - Testing mailer & preview - Troubleshooting & runbook Project overview ---------------- - Backend: FastAPI, SQLAlchemy; collects RSS, runs LLM extraction, geocoding, travel risk engine. - Frontend: React (Vite + TanStack) — SPA that consumes the backend API. - Dev DB: SQLite (local); Prod DB: Neon (Postgres) - Cron: GitHub Actions scheduled workflows run the retrieval, processing, and mailer wrappers. - Cache: Redis (Upstash or Google Memorystore) used for travel routes, map payloads, and risk ranking caches. Repo layout (important files) - NaijaWatch/ - backend/ - app/ (FastAPI project) - main.py (FastAPI entrypoint) - core/ (config, scheduler) - routers/ (events, news, stats, travel, digest) - services/ (pipeline, extractor, travel_engine, risk_engine, geocoder, llm) - cron/ (wrappers: retrieve.py, process.py, mailer.py) - templates/ (email templates) - scripts/ - sqlite_to_neon.py -- migration helper (dry-run by default) - render_digest_preview.py -- render email preview locally - requirements.txt - frontend/ - src/ (React app) - public/ (static assets, logo, favicons) - .github/workflows/ (CI + scheduled cron workflows) Quick start (local) ------------------- Prereqs - Python 3.11+ (backend) - Node 18+ and npm (frontend) - Redis (optional local) if you want to …