bellingcat / ukraine-timemap

TimeMap instance for Civilian Harm in Ukraine

Home Page:https://ukraine.bellingcat.com/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Civilian Harm in Ukraine TimeMap

Explore it in ukraine.bellingcat.com
Download/integrate the data from here (regularly updated dataset)

Read Bellingcat's article about this project in English (UK), Русский (Россия)

TimeMap is a tool for exploration, monitoring and classification of incidents in time and space, originally forked from forensic-architecture/timemap.



ukraine.bellingcat.com timemap preview

Development

  • npm install to setup
  • adjust any local configs in config.js
  • CONFIG=config.js npm run dev or npm run dev if the file is named config.js
  • For more info visit the original repo

Deployment

This project is now living in github pages and the API has switched to auto-updated S3 files. Access it at https://bellingcat-embeds.ams3.cdn.digitaloceanspaces.com/production/ukr/timemap/api.json

Release with npm run deploy.

Contributing

Please check our issues page for desired contributions, and feel free to suggest your own.

Configurations

Documentation of config.js
  • SERVER_ROOT - points to the API base address
  • XXXX_EXT - points to the respective JSONs of the data, for events, sources, and associations
  • API_DATA - S3 file address that can be downloaded or integrated into external apps/visualizations
  • MAPBOX_TOKEN - used to load the custom styles
  • DATE_FMT and TIME_FMT - how to consume the events' date/time from the API
  • store.app.map - configures the initial map view and the UX limits
  • store.app.cluster - configures how clusters/bubbles are grouped into larger clusters, larger radius means bigger cluster bubbles
  • store.app.timeline - configure timeline ranges, zoom level options, and default range
  • store.app.intro - the intro panel that shows on start
  • store.app.cover - configuration for the full page cover, the description is a list of markdown entities, can also contain html
  • store.ui.colors and store.ui.maxNumOfColors are applied to filters, as they are selected

Easiest way to deploy the static files is through

  • nvm use 16
  • npm run build (rather: CI=false npm run build)
  • copy the files to your server, for example to /var/www/html

About

TimeMap instance for Civilian Harm in Ukraine

https://ukraine.bellingcat.com/

License:Other


Languages

Language:JavaScript 76.2%Language:SCSS 22.8%Language:HTML 0.9%Language:Dockerfile 0.1%