{"id":16611579,"url":"https://github.com/nvarner/churchill-map","last_synced_at":"2026-04-24T13:03:31.770Z","repository":{"id":152231407,"uuid":"313728301","full_name":"nvarner/churchill-map","owner":"nvarner","description":"Online map of Winston Churchill High School with navigation between classrooms. Mirrored from GitLab (https://gitlab.com/nvarner/churchill-map)","archived":false,"fork":false,"pushed_at":"2021-08-29T18:39:28.000Z","size":7893,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-10T19:49:43.822Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://wchs.nvarner.me","language":"TypeScript","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/nvarner.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-11-17T19:57:53.000Z","updated_at":"2023-08-10T17:57:58.000Z","dependencies_parsed_at":"2023-06-29T00:15:59.147Z","dependency_job_id":null,"html_url":"https://github.com/nvarner/churchill-map","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/nvarner/churchill-map","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nvarner%2Fchurchill-map","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nvarner%2Fchurchill-map/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nvarner%2Fchurchill-map/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nvarner%2Fchurchill-map/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nvarner","download_url":"https://codeload.github.com/nvarner/churchill-map/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nvarner%2Fchurchill-map/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32224413,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-24T10:26:35.452Z","status":"ssl_error","status_checked_at":"2026-04-24T10:25:27.643Z","response_time":64,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":[],"created_at":"2024-10-12T01:38:26.230Z","updated_at":"2026-04-24T13:03:31.756Z","avatar_url":"https://github.com/nvarner.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Churchill Map\nThis is a PWA map of Churchill HS. This project aims to provide a high quality, easy to use map that can be used on any school devices and most personal devices, online or offline.\n\n## Building\nUse `npm run watch` to launch a development server. It will automatically pick up changes to TypeScript files. Changes to `map.json` need to be compiled into `map_compiled.json` via [`indoor-map-lib`](https://gitlab.com/nvarner/indoor-map-lib), a Rust library. It should be installed with the `compile_map_json` feature so it includes the `compile_map_json` binary. After installation, it can be used via `npm run compileMapJson`.\n\n## Docker\nWe use Docker to simplify development environment setup and production builds. The only prerequisite for building this\nproject is installing Docker, so do that before running the commands that follow.\n\n### Building the image\nA Docker image is basically a snapshot of a computer that was set up according to a `Dockerfile`. When that file\nchanges, the image should be rebuilt, but if it hasn't changed, you (usually) won't need to rebuild the image. You will\nhave to rebuild if dependencies are added, removed, or updated, or if the `indoor_map_lib` Rust tool is updated.\n\nRun `docker build -t churchill-map .` to build the image. The first build is slow; subsequent builds will use a cache\nand be much faster.\n\n### Compiling map JSON\nThere is a build step that \"compiles\" `map.json` and the various SVG floor files into `map_compiled.json`. The tool that\ndoes this is part of the `indoor_map_lib` Rust library. It used to be written in TypeScript, but was too slow. This tool\nshould be invoked once after building the Docker image with\n`docker run -v $PWD:/usr/src/map churchill-map npm run compileMapJson`\n(`docker run -v $CD:/usr/src/map churchill-map npm run compileMapJson` on Windows) and after changes are made to\n`map.json` or a floor SVG file.\n\n### Development\nRun `docker run -p 10001:10001 -it -v $PWD:/usr/src/map churchill-map npm run watch`\n(`docker run -p 10001:10001 -it -v $CD:/usr/src/map churchill-map npm run watch` on Windows) to launch the development\nserver in a Docker container.\n\nTo stop a running container, you may need to run `docker ps` to find the hex string ID of the running container, then\nrun `docker stop \u003chex string ID\u003e` to force it to exit.\n\nIf you need to get a terminal inside the container for debugging purposes, run\n`docker run -p 10001:10001 -it -v $PWD:/usr/src/map churchill-map bash`\n\n### Production\nRun `docker run -v $PWD:/usr/src/map -e \"NODE_ENV=production\" churchill-map npm run build` to generate a\nproduction build.\n\n### How to run commands in Docker in general\nWhen you need to run other commands within the Docker container, there are two general methods of doing so.\n\n1. Open a terminal with `docker run -p 10001:10001 -it -v $PWD:/usr/src/map churchill-map bash`, then run commands\n2. Put a command at the end of `docker run`, ie.\n`docker run -p 10001:10001 -it -v $PWD:/usr/src/map churchill-map \u003cyour command here\u003e`\n\nOn Windows, replace `$PWD` with `$CD`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnvarner%2Fchurchill-map","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnvarner%2Fchurchill-map","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnvarner%2Fchurchill-map/lists"}