Logo Lanfrica

whitneyoduor/african-tick-atlas-platform

Domain:

geospatial

Record type:

software
Creator:
whi
Host:
# African Tick Atlas Platform A continental geospatial surveillance platform for tick species, hosts, pathogens, and tick-borne diseases across Africa. Built for ICIPE. ## Running the code - Run `npm i` in the root and in `server/` to install dependencies. - Run `npm run dev` to start the frontend development server (Vite, proxies `/api` to `localhost`). - Run `pnpm --dir server dev` to start the backend API server (Express + Prisma + SQLite). ## Data structure The database (`server/prisma/tickatlas.db`) contains two tables linked by `species`: | Table | Contents | Source | | --- | --- | --- | | `occurrences` | ~166k tick occurrence points (species, lat/lng, country, year, GBIF ID) | `server/data/tick_occurrence_simple.xlsx` | | `epidemiological_records` | ~11.3k literature records (disease, hosts, method, incidence, title/links) | `server/data/ticks_epidemiological_data.xlsx` | ### API - `GET /api/occurrences` — list/filter occurrence points (`species`, `country`, `yearStart`, `yearEnd`, `search`, `page`, `limit`) - `GET /api/occurrences/meta/counts` — occurrence aggregates - `GET /api/epidemiological` — list/filter epidemiological records (`species`, `country`, `host`, `disease`, `yearStart`, `yearEnd`, `search`) - `GET /api/epidemiological/meta/counts` and `.../meta/yearly` — aggregates ## Importing data Excel files live in `server/data/`. To re-import and regenerate the static fallback JSON (used by the production build when no API is available): ```bash pnpm --dir server exec prisma db push --accept-data-loss pnpm --dir server exec tsx src/import.ts ``` Pass custom paths with `--occurrences ` and `--epidemiological `.