Skip to content

dannagle/Frontier

 
 

Repository files navigation

Stories in Ready

Frontier

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.

Tools/Resources

Mockups

We intend to build Frontier as a hybrid web/mobile HTML app so that it is usable on any device.

Wireframes

Tech Stack

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.

Front-End

We're building the front-end for Frontier in HTML/CSS/JS, which we'll later be converting to React.

License

MIT

Setup using a Virtual Machine

  1. Install VirtualBox
  2. Download Ubuntu ISO (or your favorite distro . These instructions are Debian-based.)
  3. 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
  1. Clone repo, install dependencies:
  • git clone https://github.com/codeforhuntsville/Frontier
  • cd Frontier
  • npm install
  1. 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
  1. 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.

This is the standard use case for deploying the server for general access on the internet. Developers see the Developers section below for launching the server for development and testing locally.

Google Places Key

  1. Go to https://code.google.com/apis/console/ to register for an API key.
  2. Create a new project, (e.g. Frontier).
  3. Select APIs in the left.
  4. Register for "Google Places API Web Service" key (click the MORE link under Maps).
  5. Enable the API.
  6. Go to Credentials in the left.
  7. Create a new Public Access browser key. Don't worry about IP restrictions (this is for development).
  8. Your key will be generated. Use that key in place of supersecretkey each time you make run GOOGLE_PLACES_API_KEY=supersecretkey

City of Huntsville APIs

Developers

Instead of building the server and launching the server via make run, an alternative method to start the server is:

export GOOGLE_PLACES_API_KEY=supersecretkey cd Frontier npm start

This eliminates having to build the whole docker image allowing for faster debug cycles.

About

A civic app for finding whats near me

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 93.4%
  • Makefile 6.6%