{"id":13401764,"url":"https://github.com/bellingcat/ukraine-timemap","last_synced_at":"2025-07-16T13:04:37.506Z","repository":{"id":41984541,"uuid":"472261500","full_name":"bellingcat/ukraine-timemap","owner":"bellingcat","description":"TimeMap instance for Civilian Harm in Ukraine","archived":false,"fork":false,"pushed_at":"2024-08-21T10:50:18.000Z","size":9404,"stargazers_count":245,"open_issues_count":0,"forks_count":39,"subscribers_count":6,"default_branch":"main","last_synced_at":"2024-08-21T11:50:59.322Z","etag":null,"topics":["civilian-harm","docker","javascript","open-source-research","service","timemap","ukraine"],"latest_commit_sha":null,"homepage":"https://ukraine.bellingcat.com/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bellingcat.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-03-21T09:09:33.000Z","updated_at":"2024-08-21T10:50:05.000Z","dependencies_parsed_at":"2023-02-17T00:15:43.238Z","dependency_job_id":"695402ac-a272-484c-8f49-18d3b1290200","html_url":"https://github.com/bellingcat/ukraine-timemap","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bellingcat%2Fukraine-timemap","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bellingcat%2Fukraine-timemap/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bellingcat%2Fukraine-timemap/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bellingcat%2Fukraine-timemap/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bellingcat","download_url":"https://codeload.github.com/bellingcat/ukraine-timemap/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243542218,"owners_count":20307846,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["civilian-harm","docker","javascript","open-source-research","service","timemap","ukraine"],"created_at":"2024-07-30T19:01:06.837Z","updated_at":"2025-07-16T13:04:37.487Z","avatar_url":"https://github.com/bellingcat.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003eCivilian Harm in Ukraine TimeMap\u003c/h1\u003e\n\n\u003ch2 align=\"center\"\u003e\n\tExplore it in \u003ca href=\"https://ukraine.bellingcat.com/\"\u003eukraine.bellingcat.com\u003c/a\u003e\n\t\u003cbr/\u003e\n\tDownload/integrate the data from \u003ca href=\"https://bellingcat-embeds.ams3.cdn.digitaloceanspaces.com/production/ukr/timemap/api.json\"\u003ehere\u003c/a\u003e \u003csmall\u003e(regularly updated dataset)\u003c/small\u003e\n\u003c/h2\u003e\n\n\u003ch3 align=\"center\"\u003e\nRead Bellingcat's article about this project in \n\u003ca href=\"https://www.bellingcat.com/news/2022/03/17/hospitals-bombed-and-apartments-destroyed-mapping-incidents-of-civilian-harm-in-ukraine/\"\u003eEnglish (UK)\u003c/a\u003e,\n\u003ca href=\"https://ru.bellingcat.com/novosti/2022/03/18/hospitals-bombed-and-apartments-destroyed-mapping-incidents-of-civilian-harm-in-ukraine-ru/\"\u003eРусский (Россия)\u003c/a\u003e\n\u003c/h3\u003e\n\n\u003cp align=\"center\"\u003e\n\u003cstrong\u003e\n\tTimeMap is a tool for exploration, monitoring and classification of incidents in time and space, originally forked from \u003ca href=\"https://github.com/forensic-architecture/timemap\"\u003eforensic-architecture/timemap\u003c/a\u003e.\n\u003c/strong\u003e\n\u003c/p\u003e\n\u003cbr\u003e\n\u003cbr\u003e\n\n![ukraine.bellingcat.com timemap preview](docs/example-timemap.png)\n\n## Development\n* `npm install` to setup\n* adjust any local configs in [config.js](config.js)\n* `CONFIG=config.js npm run dev` or `npm run dev` if the file is named config.js\n* For more info visit the [original repo](https://github.com/forensic-architecture/timemap)\n\n\n## Deployment\nThis project is now living in github pages and the API has switched to auto-updated S3 files.\nAccess it at https://bellingcat-embeds.ams3.cdn.digitaloceanspaces.com/production/ukr/timemap/api.json\n\nRelease with `npm run deploy`. \n\n## Contributing\nPlease 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. \n\n## Configurations\n\n\u003cdetails\u003e\n\u003csummary\u003eDocumentation of \u003ca href=\"config.js\"\u003econfig.js\u003c/a\u003e \u003c/summary\u003e\n\n* `SERVER_ROOT` - points to the API base address\n* `XXXX_EXT` - points to the respective JSONs of the data, for events, sources, and associations\n* `API_DATA` - S3 file address that can be downloaded or integrated into external apps/visualizations\n* `MAPBOX_TOKEN` - used to load the custom styles\n* `DATE_FMT` and `TIME_FMT` - how to consume the events' date/time from the API\n* `store.app.map` - configures the initial map view and the UX limits\n* `store.app.cluster` - configures how clusters/bubbles are grouped into larger clusters, larger `radius` means bigger cluster bubbles\n* `store.app.timeline` - configure timeline ranges, zoom level options, and default range\n* `store.app.intro` - the intro panel that shows on start\n* `store.app.cover` - configuration for the full page cover, the `description` is a list of markdown entities, can also contain html\n* `store.ui.colors` and `store.ui.maxNumOfColors` are applied to filters, as they are selected\n\nEasiest way to deploy the static files is through \n* `nvm use 16`\n* `npm run build` (rather: `CI=false npm run build`)\n* copy the files to your server, for example to `/var/www/html`\n\n\u003c/details\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbellingcat%2Fukraine-timemap","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbellingcat%2Fukraine-timemap","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbellingcat%2Fukraine-timemap/lists"}