Frontier is an app that lets you give it your location and then returns a list of accessible resources nearby. For example, it might tell you the nearest open restaurants, the nearest open gas stations, the nearest public wifi hotspots, the nearest public restrooms, or the nearest open towing/mechanic shops.
- We use Waffle to project-manage Frontier. Create/view tasks here.
- We chat about Frontier/Code for Huntsville on Slack. Join Slack here.
- We've made a big list of layers/APIs. View them in our Wiki.
- We meet every Wednesday night to work on Frontier. Meetups are organized here.
We intend to build Frontier as a hybrid web/mobile HTML app so that it is usable on any device.
- V1.1 wireframes made by Abbie
- V1.2 wireframes made by Chris
- Whiteboard photos from previous hack nights
We're building our back-end in Node.js and our front-end in React. At the moment, we're not using a database because we're pulling data into Frontier dynamically via various public APIs.
We're building the front-end for Frontier in HTML/CSS/JS, which we'll later be converting to React. Check out the front-end code in Codepen.
- Install VirtualBox
- Download Ubuntu ISO (or your favorite distro . These instructions are Debian-based.)
- Live boot Ubuntu with Virtual Box. After installation, install these packages via terminal:
sudo apt-get update
sudo apt-get install git
sudo apt-get install nodejs
sudo ln -s /usr/bin/nodejs /usr/bin/node
sudo apt-get install npm
sudo apt-get install docker.io
- Clone repo, install dependencies:
git clone https://github.com/codeforhuntsville/Frontier
cd Frontier
npm install
- Setup docker
sudo usermod -aG docker <your Linux username>
- Reboot the server
- Log back in.
docker build -t "frontier" .
(Lowercase, and notice the dot at end)make build
- Run the server:
make run GOOGLE_PLACES_API_KEY=supersecretkey
The server will start locally and on ngrok. The restaurants will not load because you do not have a Google Places API key yet. That key will replace supersecretkey
. To stop the server, use Ctrl+C.
- Go to https://code.google.com/apis/console/ to register for an API key.
- Create a new project, (e.g. Frontier).
- Select APIs in the left.
- Register for "Google Places API Web Service" key (click the MORE link under Maps).
- Enable the API.
- Go to Credentials in the left.
- Create a new Public Access browser key. Don't worry about IP restrictions (this is for development).
- Your key will be generated. Use that key in place of
supersecretkey
each time youmake run GOOGLE_PLACES_API_KEY=supersecretkey
- Here is the City's list of layers, each of which provides a REST endpoint from which we can query data.
- Here's an example of a URL where you might query data.