{"id":17581556,"url":"https://github.com/aimxhaisse/geo-backtracer","last_synced_at":"2025-04-13T00:10:35.585Z","repository":{"id":136623973,"uuid":"252217372","full_name":"aimxhaisse/geo-backtracer","owner":"aimxhaisse","description":"Service to store and correlate close GPS locations over a window of time.","archived":false,"fork":false,"pushed_at":"2020-08-08T13:10:34.000Z","size":533,"stargazers_count":3,"open_issues_count":0,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-10T09:11:19.939Z","etag":null,"topics":["database","gps-point"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aimxhaisse.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2020-04-01T15:40:18.000Z","updated_at":"2020-08-08T13:10:36.000Z","dependencies_parsed_at":null,"dependency_job_id":"2767045c-9454-421c-a599-5c9fb8b47118","html_url":"https://github.com/aimxhaisse/geo-backtracer","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aimxhaisse%2Fgeo-backtracer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aimxhaisse%2Fgeo-backtracer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aimxhaisse%2Fgeo-backtracer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aimxhaisse%2Fgeo-backtracer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aimxhaisse","download_url":"https://codeload.github.com/aimxhaisse/geo-backtracer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248647298,"owners_count":21139086,"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":["database","gps-point"],"created_at":"2024-10-22T01:24:02.445Z","updated_at":"2025-04-13T00:10:35.561Z","avatar_url":"https://github.com/aimxhaisse.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Geo Backtracer\n\nA distributed backend to store GPS-like locations of users in\nreal-time and to provide a way to backtrace over a period of 15 days,\nusers that were close for more than 15 minutes. This is one brick that\ncan be coupled with backends aggregating points from mobile phones for\na COVID-like tracing app; it is meant to be scalable and solve this\nsingle problem.\n\n## Scalability\n\nThe Geo Backtracer is built to scale linearly with the number of\nusers: doubling the number of machines in the cluster handles twice\nthe load. Simulations with 100 000 to 50 million users were performed\nwith different cluster configurations to assess the scale at which it\ncan operate in a production-like environment.\n\n## Components\n\n- [C++ distributed service](https://github.com/aimxhaisse/geo-backtracer/tree/master/server) that stores and correlates GPS points\n  (gRPC, RocksDB),\n- [C++ client](https://github.com/aimxhaisse/geo-backtracer/tree/master/client) to run simulations of live users and interact with the cluster,\n- [Ansible automation](https://github.com/aimxhaisse/geo-backtracer/tree/master/prod) to spin up a new cluster from scratch with\n  encrypted traffic between nodes, automatic generation of sharding configurations based on the number of machines, and a few facilities for monitoring.\n\n## Documentation\n\n* [Documentation](https://github.com/aimxhaisse/geo-backtracer/tree/master/doc)\n* [Talk at Paris P2P](https://www.youtube.com/watch?v=B-AAEBBkcak) (in French)\n* [Slides from Paris P2P talk](https://docs.google.com/presentation/d/1LlakTzJiWInKrA37yrXhYvOEvYq8y4p55oXkuUxHy7w/)\n\n## Contributors\n\n![Protocol Labs](https://github.com/aimxhaisse/geo-backtracer/raw/master/assets/protocol-labs.png \"Protocol Labs Logo\")\n\nThis project is backed by [Protocol Labs](https://protocol.ai) as part\nof the [COVID-19 Open Innovation Grants](https://research.protocol.ai/posts/202003-covid-grants/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faimxhaisse%2Fgeo-backtracer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faimxhaisse%2Fgeo-backtracer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faimxhaisse%2Fgeo-backtracer/lists"}