launchpals / open-now

β€‹β€‹πŸƒβ€β™€οΈ Find contextually-aware safe havens on your way home - any time, any day

Home Page:https://devpost.com/software/open-now-ilb9qc

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Open Now

Find contextually-aware safe havens on your way home - any time, any day.

nwHacks 2019 Deployed with Inertia

There are many cases where innocent people commuting home are attacked shortly after getting off the bus. Last week, one of our members felt threatened that they were going to be followed home after highly uncomfortable interactions with a stranger on the bus. In this state of panic, Google Maps was found to be lacking in design for users who are in fight or flight mode, when all they want to do is to find the closest safe place to get off the bus.

Open Now presents a simple, easy-to-parse interface that immediately presents you with a number of options for reaching the nearest safe haven, as recommended based on contextual data.

Features

  • Quick, at-a-glance overview of possible routes nearby safe havens and destinations
  • Intelligent suggestions based on contextual data such as your current and predicted trajectory, public transit mode, walking pace, and weather
  • Detailed, turn-by-turn directions and destination details just a tap away
  • Dark theme optimized for night-time environments

How we built it

Open Now is an iOS app built in Swift, backed by a server written in Golang that powers our intelligent point-of-interest recommendations. The app and the server communicates using protocol buffers to serialize data transfer over Google’s remote procedure call framework, gRPC.

The server communicates with open-source public transit databases as well as the Google Maps Platform to generate recommendations, and is hosted using Inertia β€” a continuous deployment tool that we previously built β€” to handle automated updates on our cloud instance.

Development

Protobuf

Install protobuf v3.6+, then:

# for generating Go stubs
bash .scripts/protoc-go.sh

# for generating Swift stubs
brew install swift-protobuf 

Running make proto will generate all the stubs.

Frontend

TODO

Backend

cd backend
export GO111MODULE=on
go mod vendor

About

β€‹β€‹πŸƒβ€β™€οΈ Find contextually-aware safe havens on your way home - any time, any day

https://devpost.com/software/open-now-ilb9qc


Languages

Language:Swift 79.7%Language:Go 16.5%Language:Shell 1.4%Language:Dockerfile 0.7%Language:Ruby 0.7%Language:Makefile 0.7%Language:Objective-C 0.3%