Ecodata provides primarily data services for the MERIT and BioCollect applications. See MERIT schema and BioCollect schema for an overview of the data.
It implements a JSON/HTTP API to provide access to the data.
- Grails framework 2.4.5
- MongoDB
- Elasticsearch
- Java 7
Note: Java 8: use Grails_2_5_6 branch until this is released in the near future.
- Clone the repository to your development machine.
- Create local directories:
/data/ecodata/config
/data/ecodata/uploads
- Ecodata expects by default the program, activity and output configuration files to be found at:
/data/ecodata/models
These models are checked in to git in the $PROJECT_ROOT/models folder. You can either create a soft link to this folder from /data/ecodata/models or change Config.groovy
environments {
development {
...
app.external.model.dir = "./models/"
...
- The application expects any external configuration file to be located in the path below. An example configuration can be found at: https://github.com/AtlasOfLivingAustralia/ala-install/blob/master/ansible/inventories/vagrant/ecodata-vagrant
/data/ecodata/config/ecodata-config.properties
This configuration file largely specifies URLs to ecodata dependencies. See https://github.com/AtlasOfLivingAustralia/ecodata/wiki/Ecodata-Dependencies for information about these. Note that you will need to obtain an ALA API key to use ALA services and a Google Maps API key and specify them in this file.
- To run the grails unit tests, use:
grails test-app
ecodata depends on a running instance of CAS and the API Key service so ensure these dependencies are available in your environment and configured correctly in ecodata-config.properties.
grails run-app
Because of the embedded elasticsearch index and the creation of in-memory spreadsheets for download, ecodata can benefit from a larger heap. If you encounter OutOfMemoryErrors, increase the application heap size with -Xmx4G.