{"id":24250563,"url":"https://github.com/simonneutert/unreachable_tiles_map_editor","last_synced_at":"2026-06-10T14:32:02.710Z","repository":{"id":259896499,"uuid":"879694604","full_name":"simonneutert/unreachable_tiles_map_editor","owner":"simonneutert","description":"This is a simple map editor to track unreachable tiles on a map (mercator projection).","archived":false,"fork":false,"pushed_at":"2025-12-22T07:00:24.000Z","size":1563,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-12-23T06:45:38.363Z","etag":null,"topics":["deno","handlebars","mapbox-gl-js","oak"],"latest_commit_sha":null,"homepage":"https://utme.trojanischeresel.de","language":"JavaScript","has_issues":true,"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/simonneutert.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-10-28T11:42:06.000Z","updated_at":"2025-12-22T07:00:28.000Z","dependencies_parsed_at":null,"dependency_job_id":"a782411d-19b2-411d-b54b-ea91ecc440e6","html_url":"https://github.com/simonneutert/unreachable_tiles_map_editor","commit_stats":null,"previous_names":["simonneutert/unreachable_tiles_map_editor"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/simonneutert/unreachable_tiles_map_editor","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simonneutert%2Funreachable_tiles_map_editor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simonneutert%2Funreachable_tiles_map_editor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simonneutert%2Funreachable_tiles_map_editor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simonneutert%2Funreachable_tiles_map_editor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/simonneutert","download_url":"https://codeload.github.com/simonneutert/unreachable_tiles_map_editor/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simonneutert%2Funreachable_tiles_map_editor/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34157453,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-10T02:00:07.152Z","response_time":89,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["deno","handlebars","mapbox-gl-js","oak"],"created_at":"2025-01-15T01:07:21.756Z","updated_at":"2026-06-10T14:32:02.701Z","avatar_url":"https://github.com/simonneutert.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Unreachable Tiles Map Editor\n\nThis is a simple map editor to track unreachable tiles on a map (mercator\nprojection).\\\nIt is built with Deno and Oak, and uses Handlebars for templating.\\\n\n\u003e [!NOTE]\\\n\u003e No tests were written for this project.\\\n\u003e The main goal was to learn how to use [Deno](https://deno.com) (and\n\u003e [Oak](https://github.com/oakserver/oak)) and run on a VPS.\\\n\u003e As the feature set is small, I decided to skip the tests for now.\\\n\u003e Good enough software ships faster than perfect software. 🤙 #yoco\n\n---\n\n- [OpenFreeMap](https://openfreemap.org/) makes this possible!\n- [MapLibreJS](https://maplibre.org/) makes this usable!\n\n---\n\n![](./static/img/screenshot_app.webp)\n\n## Data format / JSON Schema\n\nThe json data for this project is a simple structure, with the bare minimum to\nrepresent the unreachable tiles.\n\nSupported tile zooms are 13, 14, 15, 16.\n\nJSON Schema:\n\n```json\n{\n  \"name\": String,\n  \"city\": String,\n  \"country\": String,\n  \"tiles_by_zoom\": {\n    \"String zoom\": [\n      {\n        \"String x\": Integer,\n        \"String y\": Integer\n      }\n    ]\n  }\n}\n```\n\nExample:\n\n```json\n{\n  \"name\": \"Truppenübungsgelände Baumholder\",\n  \"city\": \"Baumholder\",\n  \"country\": \"Germany\",\n  \"tiles_by_zoom\": {\n    \"13\": [\n      {\n        \"x\": 4262,\n        \"y\": 2790\n      }\n    ]\n  }\n}\n```\n\n## Dependencies\n\n\u003cdetails\u003e\n\u003csummary\u003eShow Dependencies\u003c/summary\u003e\n\n- Deno v2\n\n### Backend\n\n- Oak v14 (because Deno docs suggested it - [hono🔥](https://hono.dev) has to\n  wait)\n\n### Frontend\n\n- Handlebars v4\n- MapLibre GL JS v5\n- Bootstrap v5\n\n\u003c/details\u003e\n\n## Run this project\n\n\u003cdetails\u003e\n\u003csummary\u003eShow instructions\u003c/summary\u003e\n\n```bash\n$ deno run --allow-net --allow-read --allow-env server.js\n```\n\n### Docker\n\nServe the project with Docker in --parallel mode. 🚀\n\n```bash\n$ docker build -t unreachable-tiles-map-editor .\n$ docker run --rm -p 8000:8000 --env-file .env unreachable-tiles-map-editor\n```\n\n\u003c/details\u003e\n\n## Features\n\n\u003cdetails\u003e\n\u003csummary\u003eShow Features\u003c/summary\u003e\n\n- [x] Renders MapLibre/OpenFreeMap map\n- [x] Users can interact with the map, adding additional polygons of unreachable\n      tiles\n- [x] Edit unreachable tiles in multiple tile sizes\n- [x] Render json data in a form\n- [x] reset form and map\n- [x] copy generated json data to clipboard\n\n\u003c/details\u003e\n\n## Contributing\n\n\u003cdetails\u003e\n\u003csummary\u003eShow Contributing\u003c/summary\u003e\n\n### Suggest a new unreachable area\n\n- suggest a new area of unreachable tiles (json format from the form)\n- screenshot of the area\n- short description of the area and some context\n\n### Non-Technical Contributions\n\n- Reporting a bug\n- Discussing the current state of the code\n- Submitting a fix\n- Proposing new features\n- Improving/adding documentation\n\n### Technical Contributions\n\nFeel free to contribute to this project. I suggest you to open an issue\ndescribing the feature you want to implement or the bug you found and wait for\nfeedback before starting to code.\n\nForking this repository and submitting a pull request is the preferred way to\ncontribute.\n\n#### Wishes\n\nWhat I would love to add to this project:\n\n- Adding a test suite 🥰 (Deno tests, for e2e I would prefer `playwright`)\n- i18n support for Handlebars templates\n\n\u003c/details\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimonneutert%2Funreachable_tiles_map_editor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsimonneutert%2Funreachable_tiles_map_editor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimonneutert%2Funreachable_tiles_map_editor/lists"}