An open API service indexing awesome lists of open source software.

https://github.com/bellingcat/ukraine-timemap

TimeMap instance for Civilian Harm in Ukraine
https://github.com/bellingcat/ukraine-timemap

civilian-harm docker javascript open-source-research service timemap ukraine

Last synced: 3 months ago
JSON representation

TimeMap instance for Civilian Harm in Ukraine

Awesome Lists containing this project

README

          

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](docs/example-timemap.png)

## Development
* `npm install` to setup
* adjust any local configs in [config.js](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](https://github.com/forensic-architecture/timemap)

## 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 read our [Contribution Guide](./CONTRIBUTING.md) and check our [Issues Page](https://github.com/bellingcat/ukraine-timemap/issues) 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`