Logo Lanfrica

emegua19/ethiopian-medical-telegram-api

Domain:

healthcare

Record type:

software
Creator:
eme
Host:
# Ethiopian Medical Telegram API An end-to-end data product that scrapes, processes, analyzes, and exposes insights from Ethiopian medical product discussions on public Telegram channels. All Tasks (Task 0–5) Completed Includes scraping, dbt modeling, YOLO image enrichment, FastAPI analytics, and Dagster orchestration. --- ## Project Overview This project enables medical professionals, analysts, and policy-makers to: - Scrape and collect messages and images from Ethiopian Telegram medical channels - Structure and model the data using a star schema with dbt - Apply YOLOv8 object detection on images - Expose analytics via a FastAPI-based web API - Orchestrate the entire pipeline with Dagster for scheduling and monitoring --- ## Tech Stack | Area | Tools/Tech | | ----------------- | ----------------------- | | Scraping | Telethon (Telegram API) | | Data Storage | JSON, PostgreSQL | | Data Modeling | dbt | | Image Enrichment | YOLOv8 (Ultralytics) | | API Layer | FastAPI, Uvicorn | | Orchestration | Dagster | | CI/CD | GitHub Actions | | Containerization | Docker | --- ## Project Structure ```plaintext ethiopian-medical-telegram-api/ ├── data/ # Raw JSON, media, YOLO outputs │ ├── raw/ │ └── yolo_outputs/ ├── dbt/ # dbt models (staging + marts) │ ├── models/ │ │ ├── staging/ │ │ └── marts/ │ └── schema.yml ├── src/ │ ├── api/ # FastAPI app (main, crud, schemas, db) │ ├── enrich.py # YOLO detection code │ ├── scrape.py # Telegram scraper │ ├── load.py # Loader to PostgreSQL ├── dagster_pipeline/ # Dagster job, ops, schedule ├── tests/ # Unit tests ├── docs/img/ # Diagrams and visuals ├── Dockerfile ├── docker-compose.yml ├── .env ├── requirements.txt ├─ …

Languages

Licenses