# Nominatim-UI
Debugging user interface for [Nominatim](https://nominatim.org/)
-([source](https://github.com/openstreetmap/Nominatim/)) geocoder.
+([source](https://github.com/osm-search/Nominatim/)) geocoder.
The frontend runs standalone as website and will requests data
from a separate Nominatim API (either on the same server or
remote).
-Uses [jQuery](https://jquery.com/) for browser DOM interaction,
-[handlebar](http://handlebarsjs.com/) templates to build pages,
-[leaflet](https://leafletjs.com/) for map interaction,
-[bootstrap](https://getbootstrap.com/) for layout styling.
-
-
-## Background
-
-The user interface used to be included in the geocoder. Thus the
-first version avoid being a redesign and still uses some of the
-same configuration values. For simplicity it's not a single
-page application (SPA) written in a framework though it could
-be if complexity grows.
+For technical details see [CONTRIBUTE.md](CONTRIBUTE.md) file.
+![Screenshot](screenshot.png)
## Starting the frontend
-You can open the `dist` directory in your browser.
-
-You can start a simple webserver
-
- * PHP
+* You can open the `dist` directory in your browser.
- ```
- php -S 0.0.0.0:8000 -t dist
- ```
+* If you have python installed (part of the Nominatim server installation):
- * Python
+ 1. `cd dist`
+ 2. start webserver `python3 -m http.server 8765`
+ 3. open http://localhost:8765/ in your browser
- ```
- cd dist
- python -m SimpleHTTPServer 8000
- # python 3
- python -m http.server 8000
- ```
-
- * NodeJS
-
- ```
- # npm install -g light-server
- light-server -s dist -p 8000
- ```
+* Start a webserver using ([Big list of http static server one-liners](https://gist.github.com/willurd/5720255)) or configure Apache, nginx or other webservers to serve the `dist` directory.
## Configuration
-In `dist/config.js` you will find configuration options. The first
-you want to doublecheck is the `Nominatim_API_Endpoint` URL.
-
-
-## Building the frontend
-
-* Install dependencies
+Create a `dist/config.js` file, you can use `dist/config.example.js` as basis (just copy it). All settings are optional. Usually you want to set the `Nominatim_API_Endpoint` value at least.
- ```
- yarn install
- ```
+Defaults:
-* After you change files in `src` directory
+| setting | default |
+|---|---|
+| `Nominatim_API_Endpoint` | http://localhost/nominatim/ (port 80) |
+| `Images_Base_Url` | images in [mapicons](dist/mapicons) |
+| `Search_AreaPolygons` | yes, print boundaries of search results on map |
+| `Reverse_Default_Search_Zoom` | 18 (house-number level) |
+| `Map_Default_Lat`, `Map_Default_Lon`, `Map_Default_Zoom` | display whole world |
+| `Map_Tile_URL` | load from openstreetmap.org |
+| `Map_Tile_Attribution` | [OpenStreetMap](https://openstreetmap.org/copyright) obviously |
- ```
- ./build.sh
- ```
## License
-The source code is available under a GPLv2 license.
+The source code is available under a [GPLv2 license](LICENSE).