Skip to content

water-fountains/proximap

Repository files navigation

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

  • ERROR in src/app/locations.ts(13,23): error TS2304: Cannot find name 'require'.

    declare var require: any on the line before appears to be a quick and dirty fix

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:

  • fork this repo
  • checkout the develop branch
  • create a new branch feature/[yourFeatureName]
  • make your changes and test them thoroughly
  • run npm run pr (pr = pull request) before you commit which will format the source code and run the linter
  • make a pull request

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