water-fountains / proximap

a responsive Angular 6 web app for finding nearby fountains
https://beta.water-fountains.org
Other
16 stars 9 forks source link
angular mapbox-gl-js open-data

Build Status

ProxiMap

Proximap is a responsive web app written using Angular for finding nearby public infrastructure. Drinking fountains are used as a showcase example. It is being developed in conjunction with Datablue, a tool for collecting, aggregating, and serving fountain data from Open Street Map, Wikidata, Wikimedia Commons, and Wikipedia. Check out the app at water-fountains.org, or beta.water-fountains.org to see a beta version of the app!

Supported cities

To have a city added, create a git issue.

License

The project is open source under the GNU Affero General Public License, with a profit contribution agreement applying under restricted conditions. See COPYING for information.

Running the project locally

Proximap requires a backend server (Datablue) to be running in order to display fountains.

  1. Requirements (make sure these are up to date)

    • NodeJS is a JavaScript runtime.
    • Git is a version control system you will need to have available as a command line executable on your path. A git integrated in your IDE will not be sufficient (and may cause issues).
    • Around 400-500MB of space on your disk. The project has development dependencies that are downloaded when you run > npm install (see point 3).
    • Angular CLI is a command line interface for Angular.
      • install Node first
      • Run > npm install -g @angular/cli to install globally
  2. Clone this repository to a local project directory. Checkout the develop branch to get all the latest features. The stable branch is updated at a less frequent interval to guarantee stability.

    • Run > git clone https://github.com/water-fountains/proximap.git -b develop.
  3. Open a command line in the local project directory

    • Install required node packages by running > npm install. If you update the project with > git pull, be sure to run npm > npm install again to update all packages.
    • run > npm run sync_datablue to replicate the two constants files from datablue (the datablue server must be running)
    • Launch the server by running ~/git/proximap$ npm run start 2>&1 | tee npm_pm_`date +%y%m%d_%H%M%S`.log. You can view the application by navigating to http://localhost:4200. The app will automatically reload if you change any of the source files.

Testing

We use BrowserStack to test design concepts and user experience for iOS and Android devices. BrowserStack logo

Diary

210502

Deployment

https://github.com/water-fountains/proximap/actions

Contributing

Submit an issue for a feature request, architecture suggestion, or to discuss a modification you have made or would like to make.

If you would like to contribute directly to the code:

To get ideas for how to contribute, see open issues.