Skip to content

ChrisnNg/cat_park

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cat_park

If you can't park, use cat_park! This project was created by Chris and Thomas (CaT) to solve the problems of finding parking in metro Vancouver. Using the Vancouver Police Department's open data set, we created an interactive heat map using 534,506 records of crimes. Our backend is made with Golang and each click on the map sends a spatial query request into our Postgres with Postgis database and fetches and renders a custom cluster marker set for all parking meters within 500 meters of the click.

Demo:

  • Making a radial query of 350 meters(Adjustable) on click: "Radial Queries!"
  • Parking Clusterer for less clutter: "Clusterer!"
  • Crime heat map with different options: "Crime!"

Usage:

  • Click on a area within Vancouver to see all parking meters within a diameter of 300 meters.
  • Toggle on the crime heatmap with the button in the bottom left corner. By default, the heatmap will render all crimes. You may however change it to different types of crime via the buttons beside.

Future plans

This app was built within two weeks for Chris and Thomas' Final project for Lighthouse Labs. As so, we plan to continue working on it to fully implement our ideas that we have planned out previously.

Roadmap

  1. user account creation
  2. favorite spots for each user
  3. deployment on Heroku and Netlify
  4. testing

FAQ

  • Why are the parking spots generated on click instead of generating all of them at once?

    • The reason for this is because we were concerned that rendering all of them would clutter the screen and make it difficult to see the markers, even with the marker cluster component we created. Additionally, because each one is actually a marker and renders the custom image we used for the marker icon even without zooming in, it slows down the app too much.
  • Why Golang?

    • In tackling the final project, we saw two pathways to impressing employers and making our application stand out. One used the languages we learned within the course and furthering the depth of knowledge we had within it. The other tackled learning a new language we haven't touched and immediately implementing it within our project to show our capabilities to learn.
  • Why React?

    • React was a language we learned during the Lighthouse Labs bootcamp and I had wanted to expand and improve on that before dipping my toes into a different language.

About

A Webapp using ReactJS and Golang to crowdsource free parking

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published