Skip to content
forked from nav-e/nav-e

The navigation repository containing all submodules and stuff for custom builds

License

Notifications You must be signed in to change notification settings

jrios6/GreenNav

 
 

Repository files navigation

GreenNav

This project aims to provide a reference implementation for a GreenNav (Green Navigation) front end. It makes use of the different react elements created for GreenNav.

Screenshot

TL;DR

  • Clone GreenNav and rt-library
  • npm install and npm start for both
  • Chose Hector-Otto to Parc Princesse Antoinette from suggestions -> GET ROUTE
  • Contribute 😉

Getting Started

Prerequisites

Install the latest version of Node.js and npm

sudo apt install nodejs npm

# optional:
# we recommend to set a symlink from nodejs to node
# if you get a command not found error
#
# sudo ln -s /usr/bin/nodejs /usr/bin/node

npm --version
3.10.8
node --version
v7.0.0

In some distributions Node.js and npm are a little bit outdated, but don't panik 😉
you can use npm itself to update Node.js and npm to the latest versions.

sudo npm install -g npm
sudo npm install -g n

sudo n stable
# or
# sudo n latest

Get an API Key from the Google API Console

Location search and autocomplete is provided by Google Map's Javascript Library.

Step 1: Follow instructions on Google's Developer Documentation to register a project and get an unrestricted API key.

Step 2: Replace placeholder string in config.js with your generated API key.

Setup

git clone https://github.com/Greennav/GreenNav.git
cd GreenNav
npm install

❗ Don't forget the back-end

We are currently working on new back-end in Java. Until then, there is a working demo that offers address search and routing functionality using Node.js.

git clone https://github.com/Greennav/rt-library.git
cd rt-library
npm install
npm start

To show a route, you have to pick a suggestion. Hector-Otto to Parc Princesse Antoinette is one example.

Run

npm start

The web interface is now accessible at http://localhost:3000/ by default, see your terminal for details.

Docker Setup

Docker allows packaging an application with all of its dependencies into a container.

git clone https://github.com/Greennav/GreenNav.git
cd GreenNav

Build

We will start by building a Docker image for the application (Dockerfile contains the command-line instructions).

docker build -t greennav-web-interface .
Run

Finally we run the image as a container, making the web interface available at http://localhost:3000/.

docker run -d --rm -p 3000:3000 --name greennav-web-interface greennav-web-interface:latest

Development

Git Workflow

  • Please fork the repository
  • Clone the webapp repository from your github account
git clone https://github.com/$(GITHUB_USER)/GreenNav.git
  • Create a new feature branch
cd GreenNav
git checkout -b your-feature
  • Make local changes and implement your feature
  • Push your branch to GitHub
  • Open a pull request

Code Quality

Please use eslint before contributing to the project. Consider using an editor-plugin like linter-eslint for Atom, ESLint for VS Code...

Available Scripts

In the project directory, you can run:

npm start

Runs the app in the development mode.
Open http://localhost:3000 to view it in the browser.

The page will reload if you make edits.
You will also see any lint errors in the console.

npm run build

Builds the app for production to the build folder.
It correctly bundles React in production mode and optimizes the build for the best performance.

The build is minified and the filenames include the hashes.
Your app is ready to be deployed!

About

The navigation repository containing all submodules and stuff for custom builds

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 98.8%
  • HTML 1.2%