How sjacorg/bayanat works
Bayanat is a Flask-based human-rights evidence management platform. Users capture and relate bulletins, actors, and incidents; search and analyze records; collaborate through review workflows; and import or export evidence. The graph includes documented capabilities whose detailed implementations are not sampled; those nodes use supported enclosing paths, and uncertain internal wiring is omitted.
Main entry points: views Evidence workspace · models Evidence records · background_search.py Queued search · tasks Async workers
Components 20
Evidence management
- Evidence workspace
enferno/admin/views - Public interface
enferno/public/views.py - Evidence records
enferno/admin/models - Review workflow
enferno/admin/views - Revision history
enferno/admin/views/history.py
Search and analysis
- Advanced search
enferno/utils/search_utils.py - Saved searches
enferno/admin/models/Query.py - Queued search
enferno/utils/background_search.py - Geospatial analysis
enferno/utils/flowmap_utils.py
Data operations
- Data import
enferno/data_import/views.py - Data export
enferno/export/views.py - Deduplication
enferno/deduplication/views.py - Media processing
enferno/utils/ocr
Platform services
- Bayanat web app
enferno/app.py - Async workers
enferno/tasks - Notifications
enferno/tasks/notifications.py - PostgreSQL/PostGIS
- Redis
Other components
- Analyst
- OCR provider
Connections 26
- Analyst → Bayanat web app: uses
- Bayanat web app → Evidence workspace: routes to
- Bayanat web app → Public interface: routes to
- Evidence workspace → Evidence records: reads and writes
- Public interface → Evidence records: serves records
- Evidence workspace → Review workflow: manages review
- Evidence workspace → Revision history: tracks changes
- Evidence workspace → Advanced search: searches records
- Advanced search → Evidence records: queries
- Evidence workspace → Saved searches: stores queries
- Evidence workspace → Queued search: queues timeout
- Queued search → Async workers: dispatches
- Async workers → Queued search: runs search
- Queued search → Evidence records: queries
- Queued search → Redis: stores results
- Queued search → Notifications: sends status
- Evidence workspace → Geospatial analysis: requests analysis
- Geospatial analysis → PostgreSQL/PostGIS: spatial queries
- Data import → Async workers: dispatches jobs
- Async workers → Data import: runs import
- Data import → Evidence records: writes records
- Data export → Evidence records: reads records
- Evidence workspace → Deduplication: manages matches
- Deduplication → Evidence records: compares records
- Evidence workspace → Media processing: processes evidence
- Media processing → OCR provider: extracts text