{"id":28300529,"url":"https://github.com/justinzhang17/lauriault","last_synced_at":"2026-04-09T11:01:50.258Z","repository":{"id":287231200,"uuid":"953179361","full_name":"JustinZhang17/lauriault","owner":"JustinZhang17","description":"Analyzing Ottawa’s Entertainment Landscape to Combat the “Boring City” Stereotype (DATA5000 Course)","archived":false,"fork":false,"pushed_at":"2025-04-10T16:04:11.000Z","size":2097,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-16T22:40:26.981Z","etag":null,"topics":["deck-gl","h3geo","hyperui","loaders-gl","maplibre-gl-js","react","tailwindcss","typescript","vercel","vite"],"latest_commit_sha":null,"homepage":"https://map.spawns.dev","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JustinZhang17.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2025-03-22T18:47:01.000Z","updated_at":"2025-04-10T16:04:14.000Z","dependencies_parsed_at":"2025-04-10T17:57:36.172Z","dependency_job_id":"9128ff24-eb15-44d5-92e4-5da53a6a54de","html_url":"https://github.com/JustinZhang17/lauriault","commit_stats":null,"previous_names":["justinzhang17/lauriault"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/JustinZhang17/lauriault","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JustinZhang17%2Flauriault","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JustinZhang17%2Flauriault/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JustinZhang17%2Flauriault/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JustinZhang17%2Flauriault/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JustinZhang17","download_url":"https://codeload.github.com/JustinZhang17/lauriault/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JustinZhang17%2Flauriault/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278510917,"owners_count":25998997,"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","status":"online","status_checked_at":"2025-10-05T02:00:06.059Z","response_time":54,"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":["deck-gl","h3geo","hyperui","loaders-gl","maplibre-gl-js","react","tailwindcss","typescript","vercel","vite"],"created_at":"2025-05-23T18:19:04.157Z","updated_at":"2026-04-09T11:01:50.252Z","avatar_url":"https://github.com/JustinZhang17.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"public/favicon/android-chrome-512x512.png\" alt=\"Logo\" width=\"100\" height=\"100\" style=\"margin-bottom: -2rem;\"\u003e\n\n  \u003ch2 align=\"center\"\u003eProject Lauriault\u003c/h2\u003e\n\n  \u003cp align=\"center\"\u003e\n    Ottawa Entertainment Visualization - Geospatial Data Analytics\n  \u003c/p\u003e\n\u003c/div\u003e\n\nThis application visualizes Ottawa's urban landscape through interactive data visualization, designed to combat Ottawa's \"boring city\" stereotype. It processes population, transportation, and entertainment venue data to reveal patterns and relationships using advanced spatial analysis techniques with H3 hexagonal indexing. (For Carleton University's DATA5000 Course)\n\nThe system provides multiple visualization layers:\n\n- Transportation Heatmap (OC Transpo data)\n\n- Entertainment Heatmap (Google Maps Places API data)\n\n- Population Heatmap (2021 Census data)\n\n- Entertainment Population Difference Analysis\n\n- Entertainment Transport Difference Analysis\n\n- Population Transport Difference Analysis\n\n## Getting Started\n\nThese instructions will get you a copy of the project up and running on your local machine for development and testing purposes.\n\n### Prerequisites\n\nNode.js 18.0 or higher\n\n```\napt-get update\napt-get install nodejs\n```\n\n### Installing\n\nA step by step series of examples that tell you how to get a development env running\n\n```\ngit clone https://github.com/JustinZhang17/lauriault.git  \ncd lauriault  \nnpm install\n```\n\nRun the following command to start the application\n\n```\nnpm run dev\n```\n\n### Usage\n\nThe application provides an interactive map interface with layer selection controls. You can configure visualization parameters using URL query parameters:\n\n- **resolution**: H3 hexagon resolution level (default: 8)\n\n- **topK**: Number of top differences to highlight (default: 10)\n\n- **attPopuScaling**: Entertainment-population scaling factor (default: 2)\n\n- **attOCScaling**: Entertainment-transit scaling factor (default: 50)\n\n- **popuOCScaling**: Population-transit scaling factor (default: 2)\n\n- **popuNorm**: Population normalization factor (default: 5)\n\nExample URL: http://localhost:5173?resolution=7\u0026topK=15\n\n## Built With\n\n[![](https://img.shields.io/badge/React-000000?style=for-the-badge\u0026logo=react\u0026logoColor=white)]()\n[![](https://img.shields.io/badge/Node.js-000000?style=for-the-badge\u0026logo=node.js\u0026logoColor=white)]()\n[![](https://img.shields.io/badge/Typescript-000000?style=for-the-badge\u0026logo=typescript\u0026logoColor=white)]()\n[![](https://img.shields.io/badge/Vercel-000000?style=for-the-badge\u0026logo=Vercel\u0026logoColor=white)]()\n[![](https://img.shields.io/badge/Deck.GL-000000?style=for-the-badge\u0026logo=DeckGL\u0026logoColor=white)]()\n[![](https://img.shields.io/badge/Loaders.GL-000000?style=for-the-badge\u0026logo=LoadersGL\u0026logoColor=white)]()\n[![](https://img.shields.io/badge/H3-000000?style=for-the-badge\u0026logo=H3\u0026logoColor=white)]()\n[![](https://img.shields.io/badge/TailwindCSS-000000?style=for-the-badge\u0026logo=TailwindCSS\u0026logoColor=white)]()\n[![](https://img.shields.io/badge/MapLibre-000000?style=for-the-badge\u0026logo=MapLibre\u0026logoColor=white)]()\n\n\n## Contributing\n\nIf you see an issue or would like to contribute, please do \u0026 open a pull request or ticket for/with new features or fixes\n\n## Authors\n\n- **Justin Zhang** - _Initial work_ - [JustinZhang17](https://github.com/JustinZhang17)\n- **Hanna Khan** - _Initial work_ - [HannaKhan](https://www.linkedin.com/in/hanna-khan-09925a362/)\n  \n## License\n\nThis project is licensed under the GNU GPLv3 License - see the [LICENSE.md](LICENSE.md) file for details\n\n## Miscellaneous\n\nThe application processes three main CSV datasets:\n\n- `population_dissemination_areas.csv` - Geographic boundaries and population data\n\n- `oc_transpo.csv` - Ottawa transit system data\n\n- `local_entertainment.csv` - Entertainment venue locations from Google Maps Places API\n\nThe application requires large screens for optimal viewing and displays a fallback message on mobile devices.\n\n### [What's the meaning behind the name](https://blog.justinjzhang.com/behind-the-names/)\n\n### [Who is Tracey Lauriault?](https://carleton.ca/sjc/profile/lauriault-tracey/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjustinzhang17%2Flauriault","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjustinzhang17%2Flauriault","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjustinzhang17%2Flauriault/lists"}