An awesome hackathon project!
View on Devpost »
View Demo
·
Report Bug
·
Request Feature
Table of Contents
SafeMap is a platform that aims to aid people in making daily commute decisions. We do this by integrating available data from various sources into a single point of view. This empowers the users to discover potential risk factors in their daily lives, and reduce exposure to the virus based on real-time risk statistics.
Project Highlights:
- Complete Frontend-Middleware-Backend stack, with RESTful and microservices framework
- Utilized a mix of public and home-grown APIs to get accurate data
- A unique combination of tech stacks for optimized runtime efficiency
SafeMap is implemented using multiple frameworks, with multiple developers, using various programming languages.
- Frontend: Leaflet.js, D3.js, Bootstrap, JQuery, Google Maps API
- Middleware: Nginx, Flask, Swagger
- Backend: Firebase, NodeJS, Python, Yarn, Google Compute Engine
- Ideation: Figma, Sketch
This is an example of how you may give instructions on setting up your project locally. To get a local copy up and running follow these simple example steps.
-
combined
: main folder of operation; merging files and changing functions; used as git/dev
branch -
python-xxl
: the python KNN recommendation engine, implemented as a microservice -
other folders: status updates and stashes
You need Node
, yarn
, python3.8
and the corresponding libraries for the project to run.
-
Get a Google Map API Key
-
Clone the repo
git clone https://github.com/Trojblue/SafeMap/
-
Install packages using yarn
cd combined yarn
-
Install python dependencies
cd ../python-xxl pip install -r requirements.txt
The site can be run hosted or be used as an API service.
To run the repo as a website:
- run
rec.py
in/python-xxl
- run command
yarn start
in/combined
- if you are running it in a hosted environment, make sure that ports
3000
and5000
are open on the server.
For more examples, please refer to the Documentation
We are planning to keep expanding the website, and have long-term maintenance to keep it running. We welcome anyone to open pull request on GitHub, or sponsor our project. Moreover, our data visualization, map systems, and recommendation system are incorporated with with robust query systems for Toronto. We can easily expand our map to serve every city in the world.
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the GPL License. See LICENSE
for more information.
I want to thank everyone for providing us the opportunity to showcase this product. It's been great fun working on it, and I hope this can the world a little bit better, in this tough situation.