Skip to content

Commit

Permalink
Merge branch 'develop'
Browse files Browse the repository at this point in the history
  • Loading branch information
janschulte committed Mar 10, 2017
2 parents 16fc7a0 + 567b597 commit f7fc338
Show file tree
Hide file tree
Showing 108 changed files with 2,026 additions and 3,894 deletions.
3 changes: 0 additions & 3 deletions .bowerrc

This file was deleted.

5 changes: 3 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
/nbproject/
/node_modules/
/www/bower_components/
/www/css/
/dist/
/build/
/build/
/*.sh
5 changes: 3 additions & 2 deletions .jshintrc
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
{
"globalstrict": true,
"globalstrict": false,
"esnext": true,
"globals": {
"angular": false,
"describe": false,
Expand All @@ -10,4 +11,4 @@
"module": false,
"inject": false
}
}
}
15 changes: 15 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
FROM node

RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app

COPY package.json /usr/src/app/
RUN npm --quiet install --silent --allow-root install && npm --quiet install grunt-cli

COPY . /usr/src/app

RUN ./node_modules/grunt-cli/bin/grunt

EXPOSE 8080

CMD [ "./node_modules/http-server/bin/http-server", "--cors", "-p", "8080", "dist"]
2 changes: 2 additions & 0 deletions Dockerfile-local
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
FROM nginx
COPY dist /usr/share/nginx/html
280 changes: 158 additions & 122 deletions Gruntfile.js

Large diffs are not rendered by default.

199 changes: 106 additions & 93 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,107 +1,120 @@
## Content
This is a frontend component of the repository [sensorweb-client-core] (https://github.com/52North/sensorweb-client-core).
# Helgoland

It comprise:
## Description

**Visual Exploration and Analysis of Sensor Web Data**

*This lightweight web application enables the exploration, analysis and visualization of sensor web data in various fields of use, e.g. hydrology, meteorology, environmental monitoring, traffic management.*

Helgoland is a lightweight web application to explore, analyze and visualize a broad range of sensor data. You can:

* explore stations or mobile sensor platforms in a map,
* select time series by a list selection,
* visualize time series data,
* or create favorites of selected time series.

The application is based on HTML, JavaScript and CSS and can connect to different Sensor Web endpoints (REST-APIs). These Sensor Web REST-APIs provide a thin access layer to sensor data via RESTful Web binding with different output formats.

Features:

* access to SOS instances (supports OGC SOS spec...)
* diagram view of multiple time series, temporal zooming & panning...
* data export (pdf, Excel, CSV)
* Combination w/ R...
* Architectural basis: HTML, JavaScript, CSS

The following main frameworks are used to provide this application:

* [AngularJS](https://angularjs.org/)
* [Leaflet](http://leafletjs.com/)
* [Bootstrap](http://getbootstrap.com/)
* [momentJs](http://momentjs.com/)
* [flot](http://www.flotcharts.org/)

## Quick Start (Configuration)

Download the latest version of [Helgoland](https://github.com/52North/helgoland/releases).

* Deploy the war-file of the client in your favorite web container (e.g. tomcat)
* Deploy as a static web page in a web server (e.g. apache)

Configure your client in the settings.json in the root folder. Check this(link) site for the different configuration parameter in the settings.json. The main parameters are:

* `defaultProvider` - this is the default selected provider, when the user starts the client
* `restApiUrls` - this is a list of all supported providers by the client


## License

Helgoland is licensed under the [Apache 2.0 License](http://www.apache.org/licenses/LICENSE-2.0).

## User guide/tutorial

## Demo
Explore, analyze and visualize sensor web data with our [Helgoland](http://sensorweb.demo.52north.org/client/#/) demo.

<p align="center">
<img src="https://cloud.githubusercontent.com/assets/3830314/15780576/ae8cf458-29a2-11e6-89ef-bc6f1453e38b.png" alt="Helgoland map view" width="75%"/>
<img src="https://cloud.githubusercontent.com/assets/3830314/15780591/bdb9a4a8-29a2-11e6-9938-1717a0e7bb7a.png" alt="Helgoland diagram view" width="75%"/>
</p>

## Changelog

## References

## Contact
<!--<img src="https://avatars1.githubusercontent.com/u/3830314?v=3&s=140" alt="Webpack and Angular 2" width="48" height="48"/>-->

j.schulte@52north.org

## Credits

## How to contribute

This is a frontend component of the repository [sensorweb-client-core](https://github.com/52North/sensorweb-client-core).

It comprises:

* the styling files for the client
* the templates to define the html structure
* the images and fonts which are used in this client

## Get the client as war-file
### Requirements to develop or build the client

* git
* [nodejs](https://nodejs.org)
* [npm](https://www.npmjs.com/)
* [grunt](http://gruntjs.com/)

Get a runnable client as war-file of the current development status with the following steps:
### Get ready to start

* `git clone` this repository
* run `npm install` to get all dependencies

#### Get a static files folder which can be added to a web-server

* with `grunt` all files are collected and build in a `dist` folder. The content of this folder can be deployed on a web server.


#### Get the client as war-file

* with `grunt buildWar` you get a war-file in the `build`-directory

## Configuration

You can change the configuration for the client in the `settings.json` in the `www`-folder of the repository. The following configuration are available:

##### `defaultProvider`

```json
"defaultProvider": {
"serviceID": "srv_3dec8ce040d9506c5aba685c9d134156",
"url": "http://sensorweb.demo.52north.org/sensorwebclient-webapp-stable/api/v1/"
}
```
The default selected provider to show stations in the map.

##### `restApiUrls`

```json
"restApiUrls": {
"http://sensorweb.demo.52north.org/sensorwebclient-webapp-stable/api/v1/": "52nSensorweb",
"http://sensorweb.demo.52north.org/sensorwebtestbed/api/v1/": "52nSensorwebTestbed",
}
```
A list of timeseries-API urls and an appropriate identifier to create internal timeseries ids.

##### `supportedLanguages`

```json
"supportedLanguages": [{
"code": "de",
"label": "Deutsch"
}, {
"code": "en",
"label": "english"
}
]
```
These are the supported languages in the client. For every language there must exist a translation file in the i18n folder.

##### `baselayer`

```json
"baselayer": {
"mapbox": {
"name": "Mapbox",
"type": "xyz",
"url": "http://otile1.mqcdn.com/tiles/1.0.0/osm/{z}/{x}/{y}.jpg",
"layerOptions": {
"attribution": "&copy; <a href='http://www.mapquest.com/' target='_blank'>MapQuest</a> <img src='http://developer.mapquest.com/content/osm/mq_logo.png'/>"
}
}
}
```
All configured baselayer can be selected in the map.

##### `overlay`

```json
"overlay": {
}
```
Same effect as the baselayer configuration.

##### `showScale`

```json
"showScale": true
```
Show the scale bar in the map.

##### `commonLineWidth`

```json
"commonLineWidth": 1
```
Common line width of a timeseries in the chart.

##### `selectedLineWidth`

```json
"selectedLineWidth": 4,
```
Line width of a selected timeseries in the chart.

## How to develop

To develop the [sensorweb-client-core] (https://github.com/52North/sensorweb-client-core) and this frontend client components parallel you can use `bower link` as described [here] (https://oncletom.io/2013/live-development-bower-component/)
#### How to develop

## License
See [here](https://github.com/52North/sensorweb-client-core#how-to-develop) for more informations.

#### Configuration

See [here](https://github.com/52North/sensorweb-client-core#configuration)

<!--## Extensions (Backends, etc., z.B. SOS )
## Road Map/development plans (features, focus…)
## Architecture/Design
## JavaDoc
not needed
## XML Schemata
## contributor
see Github...
Licensed under Apache License 2.0
## Requirements-->
37 changes: 0 additions & 37 deletions bower.json

This file was deleted.

3 changes: 3 additions & 0 deletions doc/homepage/changelog.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Changelog

TBD
3 changes: 3 additions & 0 deletions doc/homepage/demo.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Demo

* [client on sensorweb.demo](http://sensorweb.demo.52north.org/client/#/)
18 changes: 18 additions & 0 deletions doc/homepage/description.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Description

Helgoland is a very lightweight web application to explore, analyze and visualize sensor web data. It is based just on HTML, JavaScript and CSS. You can:

- explore stations or mobile sensor platforms in a map
- select time series by a list selection
- visualize time series data
- create favorites of selected time series

The application can be connected to different Sensor Web endpoints (REST-APIs). These Sensor Web REST-APIs provides a thin access layer to sensor data via RESTful Web binding with different output formats.

The following main frameworks are used to provide this application:

- [AngularJS](https://angularjs.org/)
- [Leaflet](http://leafletjs.com/)
- [Bootstrap](http://getbootstrap.com/)
- [momentJs](http://momentjs.com/)
- [flot](http://www.flotcharts.org/)
8 changes: 8 additions & 0 deletions doc/homepage/gettingStarted.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Getting Started and configuration

* Get the latest Version here(link)
* deploy the war-file of the client in your favorite web container (e.g. tomcat)
* deploy as a static web page in a web server (e.g. apache)
* Configure your client in the settings.json in the root folder. Check this(link) site for the different configuration parameter in the settings.json. The main parameters are:
* `defaultProvider` - this is the default selected provider, when the user starts the client
* `restApiUrls` - this is a list of all supported providers by the client
3 changes: 3 additions & 0 deletions doc/homepage/license.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# License

The client is published under the [Apache 2.0 License](http://www.apache.org/licenses/LICENSE-2.0).
3 changes: 3 additions & 0 deletions doc/homepage/references.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# References

* [Client of the Wupperverband](http://fluggs.wupperverband.de/swc/) - In this project the client look and feel was adjust in cooperation with the Wupperverband and an external design company.
3 changes: 3 additions & 0 deletions doc/homepage/userGuide.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# User guide/tutorial

TBD
Loading

0 comments on commit f7fc338

Please sign in to comment.