Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Wobsongo

License DPG Candidate Go

⚠️ This project is under active development and is not yet production-ready.

Wobsongo is an open-source backend engine for misinformation detection, powered by a knowledge management and hybrid retrieval system. It provides the infrastructure to ingest content, build a structured knowledge base, and verify claims against it.

The backend is written in Go and exposes a REST API for document processing and claim verification workflows. It uses an async job queue to handle long-running tasks reliably, and supports S3-compatible object storage for document and media assets.

Architecture

  • REST APIEcho web framework
  • Async Job QueueRiver backed by PostgreSQL
  • Database — PostgreSQL 18
  • Object Storage — S3-compatible (MinIO for local development)

SDG Alignment

  • SDG 3 (Good Health & Well-being) — Infrastructure to combat health misinformation
  • SDG 16 (Peace, Justice, Strong Institutions) — Transparent, auditable fact-checking

Prerequisites

  • Docker — for local infrastructure via Docker Compose
  • Go 1.26+ — install manually or via a version manager of your choice

We recommend using Jetify Devbox to keep your local toolchain consistent with the rest of the team. Devbox pins the exact versions of Go, golangci-lint, and other tools declared in devbox.json, so your environment matches CI without any manual setup.

Quick Start

# 1. Clone
git clone https://github.com/ImpactScope-organization/wobsongo.git
cd wobsongo

# 2. (Recommended) Enter the Devbox shell — pins Go and tooling versions automatically
devbox shell

# 3. Copy and configure environment variables
cp .env.example .env
# Edit .env with your settings

# 4. Start infrastructure (PostgreSQL, MinIO, MailHog)
make dbup

# 5. Run database migrations
make migrateup

# 6. Start the server with hot-reload
make dev

The API will be available at http://localhost:8000.

Environment Variables

Variable Required Default Description
APP_DB_URI PostgreSQL connection string
APP_JWT_SECRET JWT signing key
APP_JWT_EXPIRY_HOURS JWT token expiry in hours
APP_ENV development Environment (development, staging, production)
APP_PORT 8000 Server port
APP_LOG_LEVEL 1 Log level (0=debug, 1=info, 2=warn, 3=error)
API_HOST localhost:8000 Public API hostname
FRONTEND_HOST localhost:5173 Frontend hostname for CORS
CORS_ALLOWED_ORIGINS * Comma-separated list of allowed CORS origins
STORAGE_PROVIDER local Storage backend (local, s3)
EMAIL_PROVIDER_TRANSACTIONAL mock Email backend (mock, mailhog, smtp)

See .env.example for the full list including S3 and SMTP options.

Development Commands

make fmt          # Format code
make check        # Lint and build
make test-unit    # Run unit tests
make test         # Run full test suite (requires make dbtestup first)
make gen          # Regenerate code (mocks, swagger docs)

See Makefile for all available targets.

Contributing

We welcome contributions from developers, NGOs, and researchers. Please read CONTRIBUTING.md before opening a pull request.

License

Distributed under the Apache License 2.0. This license was chosen deliberately to maximize adoption by governments, NGOs, and private sector partners without legal friction.

Acknowledgements

Wobsongo is developed by ImpactScope as the technical partner for KAIROS, with support from UNICEF.

About

Wobsongo: Open source misinformation detection tool

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages