Skip to content

Latest commit

 

History

History
79 lines (57 loc) · 4.27 KB

README.md

File metadata and controls

79 lines (57 loc) · 4.27 KB

Codacy Badge Build Status Stories in Ready bitHound Score Coverage Status

README

csWeb, or the Common Sense Web application, is an intuitive open source web-based GIS application, providing casual users as well as business analysists and information manageners with a powerful tool to perform spatial analysis. It has a strong focus on usability and connectivity, be it connecting and sharing information with other users or connecting to services or calculation simulations and models. LIVE DEMO

Features

  • Basic map interactions (zooming, geo-locating, selecting different base layers)
  • Displaying geojson files
  • Specifying how properties must be displayed (formatting, title, tooltips, etc.)
  • Filtering on one or more properties
  • Coloring icons and regions based on one or more properties
  • Displaying data in a table, and allowing the users to download it
  • Searching for a feature

Technical overview

Technically, we use the following frameworks:

  • Typescript for coding the application
  • Angularjs as the MVC framework
  • Bootstrap 3 (and fontawesome) for the CSS design style
  • Leaflet for the 2D map layer, and Cesium for the 3D maps
  • d3, dc, crossfilter for filtering and styling

How do I get set up?

The application is written in Typescript, which compiles to regular JavaScript, and further uses Angularjs as the framework, Leaflet and Cesium for rendering maps, d3 and others. A detailed guide is provided here, a concise installation checklist here.

This repository consists of several project folders. The most important ones are csComp, a library containing client side functionality, and csServerComp, for server side components. Both libraries generate a JavaScript file that can be used by the actual map application which you can find in the example folder.

Deployment instructions

Just copy the example folder to a public folder and open the public\index.html file in that folder.

Using Docker containers

There are two types of docker containers built for CommonSense:

tnocs/csWeb-demo

This container runs whole csWeb application. To run it and access csWeb in the web browser at <port> run:

# replace <port> with the port number you want to access csWeb at
docker run -d -p 3002:<port> tnocs/csWeb-demo

If your're using docker running in your system (Linux), application should be avaiilable at localhost, otherwise when using docker-machine, you can ask about ip address with docker-machine ip default (in case your vm with docker is named default).

tnocs/csWeb-dev

This container is meant to run csWeb build in the docker container istread of local machine. csWeb local repository will be mounted inside the container and the build process will happen inside the container. This is usefull in at least two cases.

  • to check if you understand all dependencies of your build process since only dependencies specified in the Dockerfile will be installed
  • to avoid installing dependencies on local machin

Run container from within csWeb directory:

docker run -it --rm -p 3002:<port> -v $PWD:/app/ tno/csWeb-dev /bin/bash

Contribution guidelines

  • Writing tests
  • Code review
  • Other guidelines

Testing

karma start test/karma.conf.js

Who do I talk to?

  • Repo owner or admin