Code Monkey home page Code Monkey logo

geosolutions-it / mapstore2 Goto Github PK

View Code? Open in Web Editor NEW
468.0 34.0 377.0 627.52 MB

The solution to create and share maps, dashboards, geostories with 3D support on the web. And it is open-source too!

Home Page: https://mapstore.geosolutionsgroup.com/

License: Other

JavaScript 93.47% HTML 0.97% Shell 0.21% CSS 0.23% Batchfile 0.15% Dockerfile 0.01% Java 0.56% Less 4.30% Handlebars 0.01% Python 0.10%
mapstore gis openlayers leaflet maps geojson tomcat tcatalog hacktoberfest hacktoberfest2020

mapstore2's Introduction

MapStore

Build Checks Coverage Status Master Documentation Status Twitter URL

MapStore is a framework to build web mapping applications using standard mapping libraries, such as OpenLayers and Leaflet. For more information check the MapStore documentation!

Download

You can download the WAR file from the latest release MapStore documentation!

All the releases

Quick Start

There are two quick ways to test out MapStore. Either using Docker (all tags are available in the geosolutions dockerhub) or a local java web container like Apache Tomcat

Using Docker

* Run Mapstore as standalone container

Pull the latest image from Docker Hub:

docker pull geosolutionsit/mapstore2
docker run --name mapstore -p 8080:8080  geosolutionsit/mapstore2

Then you can access MapStore using the following URL:

http://localhost:8080/mapstore

Use the default credentials (admin / admin) to login and start creating your maps!

* Run the Mapstore with PostGIS through docker-compose in the local environment

  • To test a different release of MapStore, you should change the MAPSTORE_WEBAPP_SRC build argument in the docker-compose file.

  • You should change the value of POSTGRES_PASSWORD for more security.

  • Due to proxy binding on host port 80, you may need to run docker-compose as root.

  • To spin up the environment run:

    docker-compose up -d

Note: Take in consideration due to the requirements of the deployment, you should update the docker-compose to the latest version.


  • After the docker-compose finish, you can access to the site using following URL:

    http://localhost/mapstore

  • Use the default credentials (admin / admin) to login and start creating your maps!

  • After finished the test you can stop the environment with the command:

    docker-compose down
  • To clean the full environment:

    docker-compose down --remove-orphans --rmi all -v

Using the Web Archive (WAR file)

After downloading the MapStore war file, install it in your java web container (e.g. Tomcat), with usual procedures for the container (normally you only need to copy the war file in the webapps subfolder).

Check out here which version of Java and Tomcat are needed.

Then you can access MapStore using the following URL (assuming the web container is on the standard 8080 port):

http://localhost:8080/mapstore

Use the default credentials (admin / admin) to login and start creating your maps!

Documentation

You can find more documentation about how to build, install or develop with MapStore on the documentation site.

License

MapStore is Free and Open Source software, it is based on OpenLayers, Leaflet and ReactJS, and is licensed under the Simplified BSD License.

Demo Instances

We have the following instances:

  1. a DEV instance, which can be accessed here, where all the changes are deployed once they are published on the Master branch of our repo
  2. a QA instance, which can be accessed here, that becomes active 1 week before any release, during the hardening phase, and deploys the release branch whenever a fix is pushed onto it.
  3. a STABLE instance, which can be accessed here, that gets deployed on demand after each release.

As a user you need to be aware of STABLE and DEV, QA is used internally before a release; for 1 Week it will diverge from STABLE as it is actually anticipating the next stable. So, if you want to test latest features use DEV, if you are not that brave use STABLE. You might forget that QA exists unless you are parte of the developers team.

Start developing your custom app

Clone the repository:

git clone https://github.com/geosolutions-it/MapStore2.git

Install NodeJS (with npm), Java and Maven following the requirements here

Install docma to build the documentation

npm install -g docma

Start the demo locally:

npm cache clean (this is useful to prevent errors on Windows during install)

npm install

npm start

The demo runs at http://localhost:8081 afterwards (with the Java back-end running at port http://localhost:8080).

Build the deployable war:

./build.sh [version_identifier]

Where version_identifier is an optional identifier of the generated war that will be shown in the settings panel of the application.

Deploy the generated mapstore.war file (in product/target) to your favorite J2EE container (e.g. Tomcat).

Read more on the documentation site.

Professional Support

MapStore is being developed by GeoSolutions hence you can talk to us for professional support. Anyway the project is a real Open Source project hence you can contribute to it (see section below).

Communication

We currently have two mailing list:
one for users
one for developers.

The first one is for those who are willing to use MapStore and need help/directions, the latter is for those trying to extend/proposed fixes for MapStore.

Contributing

We welcome contributions in any form:

  • pull requests for new features
  • pull requests for bug fixes
  • pull requests for documentation
  • funding for any combination of the above

For more information check this page.

Who uses MapStore

Here below is a small list of organizations using MapStore either directly or through GeoNode. If you want us to add (or remove :( ) your organization from this list, please, contact [email protected].

mapstore2's People

Contributors

agmeteor avatar ale-cristofori avatar alex-fko avatar alexander-fedorenko avatar allyoucanmap avatar baloola avatar chrismayer avatar dsuren1 avatar elenagallo avatar gitcontributor avatar gnafu avatar jstrr avatar kappu72 avatar kasongoyo avatar landryb avatar luorlandini avatar mahmoudadel54 avatar manisandro avatar mbarto avatar mircobe87 avatar mricca avatar muhwezideo avatar mv88 avatar offtherailz avatar randomorder avatar saidaipparla avatar tdipisa avatar tonym3nsa avatar vlt1 avatar weberjavi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mapstore2's Issues

Update CONTRIBUTING.md

CONTRIBUTING.md should contain:

  • The format of the title of the pull request.
  • File name conventions. (i.e. file-names for test files)

I18N support

Implement internationalization:

  • components configuration for messages
  • messages storage
  • language selection:
    • by browser config
    • by locale request parameter
    • using language selector component

Viewer example application

Implement a viewer application with the available components:

  • leaflet map (#28)
  • openlayers map (#98)
  • background and WMS layers (#29)
  • background switcher(#114)
  • layertree (#35)
  • legend (#151)
  • help / credits / about (#34)
  • interactive help (#155)
  • dynamic config loading (#31)
  • I18N (#32)
  • GetFeatureInfo (#86)
  • Advanced GetFeatureInfo (#153)
  • NavigationHistory (#156)
  • Overview (#157)
  • Print (#158)
  • Measure (#154)
  • Locate Me (#144)
  • Loading spinner (#108)
  • Zoom all (#102)
  • Scalebar (#87)

Cleanup configuration handling code

We need to create a configuration format that is not the exact copy of the MapStore 1 version and let the legacy converter create it accordingly.
Some fixes:

  • latLng --> center
  • source ptype --> simple layer type (e.g. osm instead of gxp_osmsource)
  • remove sources from configuration and include their options directly in layers cfg

Implement sample home page

with links to available examples:

  • viewer
  • i18n sample

And the list of the maps from GeoStore with the possibility to open the viewer.

Legacy MapStore configuration loading support for Leaflet Map Component

Support loading old MapStore configuration files and configure the map according to it:

  • static loading from json file:
    • support of config request param to switch configuration
  • dynamic loading from GeoStore
    • support of mapId request param to switch configuration
  • support merged configuration (local config file + geostore)

I18N support

Implement internationalization:

  • components configuration for messages
  • messages storage
  • language selection:
    • by browser config
    • by locale request parameter
    • using language selector component
    • english messages for available components

LayerTree

Implement a simple static layertree with:

  • turn on / turn off
  • grouping (multi - level)
  • expand / collapse (of groups)
  • background layers (distinct component)

Improve home page

Create some graphic (logo, fonts, etc.).
Link to all examples --> add manager

Implement a MousePosition Component for Leaflet

The component should:

  • be enabled / disabled by a specific button on top of the map
  • when enabled, show the current cursor position as coordinates in a specific area on top of the map
  • allow configuration of coordinates type (lat - lon, projected using a particular EPSG)
    show a combo to select a new scale and show the current one

Configure online demo

Create datasource overrider for geostore, pointing to the existing GeoStore database on the mapstore2.geo-solutions.it server.

Minified source code during continuous test

When both continuous or single-run tests are run all source code, except test, is minified.
It seems to be due to istanbul-instrumenter which is used by karma-coverage to perform coverage report.

Implement a scalebar component

The component should:

  • show a scalebar to identify the current scale graphically
  • show a combo to select a new scale and show the current one

We would like to have some configuration options to customize the scalebar:

  • show sample distance in m, km, mi
  • only scalebar / only scale combo / both

Configure Travis build

We should configure a Travis build for MapStore 2. I would also like to see its badge as well as the Coveralls one on the front-page.

See this CKAN plugin for an example.

Missing character encoding

After deploy, special characters and symbols in viewer are badly rendered.
Adding <meta charset="UTF-8"> tag in index.html file should fix the problem.

Coveralls and coverage plugin test different things

Is impossible to test locally the coverage as coveralls does because the local tool is not aligned with the coveralls rules.
We should find a solutions to speed up the development and don't force developers to try to guess what Coveralls wants.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.