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 5.2.x
- MongoDB 5+
- Elasticsearch 7.x
- Java 11
- Install Elasticsearch into local machine. https://www.elastic.co/guide/en/elasticsearch/reference/7.x/brew.html
- 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.
Elasticsearch requires an additional configuration item in elasticsearch.yml
indices.query.bool.max_clause_count: 8192
- 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.