/maprules

Primary LanguageJavaScriptGNU General Public License v3.0GPL-3.0

MapRules

Custom mapping presets and validation rules

About

MapRules is an api service that allows mappers and mapping campaign managers to define custom mapping presets and validation rules usable in OpenStreetMap Editors.

The goal of MapRules is to simplify OpenStreetMap feature tagging and validation.

Documentation

Contributing

Links to other MapRules Repos

...see the Architecture for a technical description of the repos work together

Getting Started

Install Dependencies

Install sqlite

ubuntu!

sudo apt-get update
sudo apt-get install -yq sqlite3 libsqlite-dev

centos!

sudo yum update
sudo yum install -yq

mac!

brew install sqlite3

windows!

...use this for guidance!

use node 10.x

# with nvm installed and from root of MapRules directory...
nvm install #only run first time if you don't have the right version
nvm use

...see here for setting up nvm on a linux machine ...see here for setting up nvm on a windows machine

install node dependencies
yarn install -G sqlite3 && yarn install

Development

build docs & ui

yarn build

Migrate the db and seed it with fixture data

NODE_ENV=development yarn fixture

Spin up the server

yarn dev

Test

yarn test:fixture # tests need db w/data...

test with docker image

docker build -f Dockerfile . && docker run maprules /bin/bash -c 'npm run test:fixture'

configure for production

Edit the process.yml with desired hosts & ports...