This is a custom-built, open source crowdsourcing platform for collecting and managing data about road safety features such as signs, barriers, and road markings. I built both the front end and the backend.
- Uses VueJS, Vuetify and Mapbox GL JS.
- Supports creating, editing, deleting a dozen feature types, with many additional subtypes.
- Supports creating “flags” (issues related to a road safety feature or lack thereof), with a history of changes.
- Imagery from Mapillary can be shown, to help add or verify features.
- Mapillary’s detected objects layer can be shown, and objects automatically imported as features.
- Mapillary’s icons are merged with Mapbox’s “light” icons using a separate sprite-sheet tool I wrote, mbsprite.
- Basemap selector.
- CRUD API built using NodeJS and Express.
- Sequelize is used to handle database interactions.
- Data is hosted in AWS RDS.
- Scripts to load data sourced from OSM as features.
- Scripts to load data sourced from the National Highway Traffic Safety Administration’s Fatality Analysis Reporting System (FARS).