Skip to content

Latest commit

 

History

History
124 lines (77 loc) · 3.11 KB

README.md

File metadata and controls

124 lines (77 loc) · 3.11 KB

1. GreenMap

This repository stores the project created for the University of Bristol CSSxBoeing Hackathon 2022.

UPDATE: We are very happy to share that this project received an honourary mention in the event!


1.1. About the hackathon

The CSSxBoeing Hackathon is a 24-hour hackathon that is open to all courses and years of students in the University of Bristol.

The theme for 2022 is Sustainable Cities and Communities 🏢🏠.


1.2. Our Team

Called Rogue One, the team consists of 6 students from the University of Bristol:


1.3. Our Project

DEMO:

http://greenmap-demo.herokuapp.com

We created a Google-Map like application that allows users to search for a location and then view the weather and traffic information for that location, but specically for methods that promotes sustainable shared mobility and transport e.g. e-scooters.

sample

The data is provided by different 3rd party APIs (credited below), and the navigation algorithm is written from scratch that uses a clustering method (we decided to name it G-Cluster).

3rd Party APIs include:

  • Voi
  • Tier
  • Santander
  • Electric Vehicles
  • Transport API

1.4. Tech Stack

Application: Docker Compose

Frontend: React + MapBox API

Backend: FastAPI


1.5. Deployment

1.5.1. Requirements

Before reading instructions for development and deployment, a .env file under server/routers/internal is required.

A sample .env file can be found in the directory.

Development

Install:

  • frontend dependencies by running npm install in frontend directory
  • backend dependencies by running pip install -r requirements.txt in server directory

Deployment

Install:

  • Docker (and Compose)

1.5.2. Creating the compose network

Run this shell script:

./make_compose.sh

This creates a compose network with 2 containers:

  • frontend with assigned port 8080
  • backend with assigned port 5001

1.6. Usage

A demo of the page can be accessed through this heroku app.