API backend for CaptainFact, a collaborative platform for fact-checking videos with community-sourced annotations.
CaptainFact API is the backend service for CaptainFact.io, a platform that enables collaborative fact-checking of videos through community-sourced annotations. It processes and serves data for videos, speakers, claims, sources, and discussions, structuring debates around evidence. The API powers both the web platform and browser extensions that overlay fact-checks directly onto video players.
Developers and organizations building or integrating collaborative fact-checking tools, media literacy platforms, or transparent discussion systems around video content. It's also for communities seeking to self-host a verifiable annotation platform.
It provides a fully open-source, self-hostable backend with dual REST and GraphQL APIs, real-time capabilities via WebSockets, and a modular Elixir umbrella architecture. Unlike proprietary fact-checking services, it emphasizes transparency, community governance, and data ownership.
🔎 CaptainFact - API. The one that serves and process all the data for https://captainfact.io
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Offers both REST and GraphQL APIs with separate endpoints, as shown in the README, catering to diverse client needs and preferences.
Supports WebSocket connections for live updates on video annotations, enabling interactive community discussions and fact-checking.
Built as an Elixir umbrella project with discrete apps for core, APIs, feeds, and jobs, promoting maintainability and separation of concerns.
Manages entities like Videos, Speakers, and Claims through a well-defined database schema, ensuring data integrity for verifiable annotations.
Requires familiarity with Elixir, Phoenix, and umbrella projects, which can be a barrier for teams accustomed to more common backends like Node.js or Python.
Involves multiple steps including Elixir installation via asdf-vm, PostgreSQL setup, and running mix commands, as per the README, hindering rapid prototyping.
Tailored specifically for video fact-checking with predefined schemas, making it less adaptable for other media types or annotation styles without significant modification.