Arena
A cloud-based platform that enables fast, flexible setup and data entry for various field surveys, including biophysical, socio-economic, and biodiversity inventories.
https://github.com/openforis/arena
Category: Biosphere
Sub Category: Biodiversity Citizen Science
Keywords
forestry
Last synced: about 8 hours ago
JSON representation
Repository metadata
Cloud-based platform for storing and processing data collected in field inventories or questionnaires
- Host: GitHub
- URL: https://github.com/openforis/arena
- Owner: openforis
- License: mit
- Created: 2018-07-02T08:31:42.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2025-04-24T20:59:32.000Z (3 days ago)
- Last Synced: 2025-04-24T21:26:49.520Z (3 days ago)
- Topics: forestry
- Language: JavaScript
- Homepage: https://www.openforis-arena.org
- Size: 22.2 MB
- Stars: 19
- Watchers: 7
- Forks: 6
- Open Issues: 178
- Releases: 158
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
README.md
Quick reference
-
Maintained by:
Open Foris Initiative -
Documentation:
Open Foris Arena Website -
Online platform:
Open Foris Arena -
Where to get help:
Open Foris Support Forum
What is Arena?
Arena is a cloud-based platform for storing and processing data collected in field inventories or questionnaires. It provides a fast and flexible way to set up a survey and start entering data for a team. It offers tools for data quality assurance with the help of data validation and reporting methods. Arena also offers multilingual data entry forms, multi-cycle data management, and computing of new result attributes and running statistical analysis with integrated connection to RStudio Server or local installation of RStudio.
Arena also offers a map with access to very-high resolution satellite images. The Arena Map can be used, for example, for verifying locations of collected data, and for conducting sample-based image interpretation.
Installation
Prerequisites
-
download and install Docker. Docker is an open platform for developing, shipping, and running applications.
-
Install a local database (PostgreSQL) as a Docker container. Run this command from command line; it will create also a database named 'arena' and a user 'arena' with password 'arena' and will make the DBMS listen on port 5444 (you can change those parameters as you wish):
$ docker run -d --name arena-db -p 5444:5432 -e POSTGRES_DB=arena -e POSTGRES_PASSWORD=arena -e POSTGRES_USER=arena postgis/postgis:12-3.0
You can also use an already existing PostgreSQL database installed in a different way and configure Arena to connect to it.
Prepare a file with the parameters to pass to Arena
The file (call it arena.env) must be a text file with this content:
# Default web server port
ARENA_PORT=9090
# DB
## specify the connection parameters as a URL in the format
## postgres://user:password@host:port/database
# DATABASE_URL=postgres://arena:arena@localhost:5444/arena
## or parameter by parameter
PGHOST=localhost
PGPORT=5444
PGDATABASE=arena
PGUSER=arena
PGPASSWORD=arena
# temporary uploaded files folder
TEMP_FOLDER=/home/your_user/openforis/arena/upload
# FILES STORAGE
## (if both FILE_STORAGE_PATH and FILE_STORAGE_AWS_S3_BUCKET_NAME are not specified, files will be stored in DB)
## FILES STORAGE (file system)
### path of a folder in the file system used to store files
FILE_STORAGE_PATH=
## FILES STORAGE (AWS S3 Bucket)
# FILE_STORAGE_AWS_S3_BUCKET_NAME=
# FILE_STORAGE_AWS_S3_BUCKET_REGION=
# FILE_STORAGE_AWS_ACCESS_KEY=
# FILE_STORAGE_AWS_SECRET_ACCESS_KEY=
# Email
# email service; allowed values: sendgrid / office365
# - sendgrid service, only SENDGRID_API_KEY is required
# - office365 service: EMAIL_AUTH_USER and EMAIL_AUTH_PASSWORD are required
EMAIL_SERVICE=sendgrid
SENDGRID_API_KEY= # get it from https://sendgrid.com/
# EMAIL_AUTH_USER=
# EMAIL_AUTH_PASSWORD=
# Optional: custom email transport options could be specified.
# EMAIL_TRANSPORT_OPTIONS=
# e.g. (for MS office365 service) EMAIL_TRANSPORT_OPTIONS={"host":"smtp.office365.com","port":"587","auth":{"user":"[email protected]","pass":"yoursecretpassword"},"secure":true,"tls":{"ciphers":"SSLv3"}}
# Analysis
ANALYSIS_OUTPUT_DIR=/home/your_user/openforis/arena/analysis
# Server
## HTTP Session
## Secret used to sign the session ID cookie
SESSION_ID_COOKIE_SECRET=my-cookie-secret-key
## Set to true if http requests must be forwarded to https
USE_HTTPS=false
# RStudio Server (not mandatory)
# RSTUDIO_DOWNLOAD_SERVER_URL=
# RSTUDIO_SERVER_URL=
# RSTUDIO_PROXY_SERVER_URL=
# RSTUDIO_POOL_SERVER_URL=
# RSTUDIO_POOL_SERVICE_KEY=
# reCAPTCHA
RECAPTCHA_ENABLED=false
# reCAPTCHA v2 keys; to be specified if reCAPTCHA is enabled (get it from https://www.google.com/recaptcha/about/)
# RECAPTCHA_SITE_KEY=
# RECAPTCHA_SECRET_KEY=
# MAP
## Planet Lab Maps API key (get it from https://www.planet.com/markets/mapping/)
# MAP_API_KEY_PLANET=
# System Admin user email address
# used to create default system admin user when DB is empty
# and to send emails to the users
ADMIN_EMAIL=
# Admin user password: used only when default system admin user is created the first time
# it MUST BE DELETED after the first startup
ADMIN_PASSWORD=
Install and run Arena
Running the following command from command line will install Arena as a Docker container:
$ docker run --env-file ./arena.env --network="host" openforis/arena:latest
You can run this command in the same folder where you have defined the arena.env file or specify its path in the command, in the '--env-file' parameter.
Arena will start on the port specified in the arena.env file (9090 by default).
You can use the same command to start up Arena again once you stop it.
Open Arena in the browser
Once you started Arena with the previous command, you can open this address in your browser:
http://localhost:9090
If the installation process was successful, the Arena login form should appear.
When Arena starts up the first time, a system admnistrator user is created using the parameters ADMIN_EMAIL and ADMIN_PASSWORD specified in the arena.env file, so you can use that email address and password to access Arena the first time. The password can be changed using the Change password function in Arena.
Run R Studio Server locally
To install RStudio Server as a Docker container run the following command (replace ANALYSIS_OUTPUT_DIR with the value of the ANALYSIS_OUTPUT_DIR environment variable):
$ docker run -d --name arena-rstudio --network=host -v ANALYSIS_OUTPUT_DIR:/home/rstudio -e DISABLE_AUTH=true rocker/rstudio
To restart RStudio server run
$ docker container restart arena-rstudio
Visit http://localhost:8787 in your browser to access the rStudio server instance.
License
Arena is MIT licensed.
Owner metadata
- Name: Open Foris
- Login: openforis
- Email: [email protected]
- Kind: organization
- Description: Free open-source solutions for environmental monitoring
- Website: http://www.openforis.org
- Location: Rome, Italy
- Twitter:
- Company:
- Icon url: https://avatars.githubusercontent.com/u/1212750?v=4
- Repositories: 45
- Last ynced at: 2024-03-26T05:00:06.549Z
- Profile URL: https://github.com/openforis
GitHub Events
Total
- Create event: 161
- Release event: 33
- Issues event: 133
- Watch event: 4
- Delete event: 127
- Issue comment event: 345
- Push event: 446
- Pull request review event: 1
- Pull request review comment event: 1
- Pull request event: 242
- Fork event: 1
Last Year
- Create event: 161
- Release event: 33
- Issues event: 133
- Watch event: 4
- Delete event: 127
- Issue comment event: 345
- Push event: 446
- Pull request review event: 1
- Pull request review comment event: 1
- Pull request event: 242
- Fork event: 1
Committers metadata
Last synced: 7 days ago
Total Commits: 6,112
Total Committers: 11
Avg Commits per committer: 555.636
Development Distribution Score (DDS): 0.65
Commits in past year: 273
Committers in past year: 1
Avg Commits per committer in past year: 273.0
Development Distribution Score (DDS) in past year: 0.0
Name | Commits | |
---|---|---|
Stefano Ricci | 1****o | 2141 |
minotogna | m****a@g****m | 1860 |
ramirobg94 | r****4@g****m | 773 |
fefrain | f****n | 704 |
Stefano Giaccio | s****o@g****m | 404 |
fefrain | f****n | 74 |
Elias Kunnas | e****s@k****m | 72 |
persas | d****s@g****m | 37 |
Miró Sorja | p****g@m****m | 35 |
Daniel Koch | d****h@h****i | 11 |
Ramiro Blázquez González | r****z@M****l | 1 |
Committer domains:
- helsinki.fi: 1
- mirosorja.com: 1
- kunnas.com: 1
Issue and Pull Request metadata
Last synced: 1 day ago
Total issues: 267
Total pull requests: 386
Average time to close issues: 25 days
Average time to close pull requests: 4 days
Total issue authors: 8
Total pull request authors: 3
Average comments per issue: 0.08
Average comments per pull request: 1.05
Merged pull request: 378
Bot issues: 0
Bot pull requests: 0
Past year issues: 128
Past year pull requests: 190
Past year average time to close issues: 11 days
Past year average time to close pull requests: 3 days
Past year issue authors: 6
Past year pull request authors: 2
Past year average comments per issue: 0.05
Past year average comments per pull request: 1.02
Past year merged pull request: 186
Past year bot issues: 0
Past year bot pull requests: 0
Top Issue Authors
- laurivesa (148)
- SteRiccio (93)
- ramirobg94 (18)
- Falgoonee (3)
- werzum (2)
- minotogna (1)
- hillsonghimire (1)
- roks531 (1)
Top Pull Request Authors
- SteRiccio (371)
- persas (12)
- ramirobg94 (3)
Top Issue Labels
- bug (28)
- Priority_1 (23)
- Priority 1 (8)
- on hold (7)
- enhancement (2)
- dependencies (1)
Top Pull Request Labels
- bug (5)
- enhancement (5)
- refactor (1)
Dependencies
- actions/checkout v3 composite
- actions/setup-node v3 composite
- akhileshns/heroku-deploy v3.12.12 composite
- actions/checkout v3 composite
- actions/setup-node v3 composite
- akhileshns/heroku-deploy v3.12.12 composite
- docker/build-push-action v3 composite
- docker/login-action v2 composite
- docker/setup-buildx-action v2 composite
- actions/checkout v3 composite
- actions/setup-node v3 composite
- microsoft/playwright-github-action v1 composite
- postgis/postgis 12-3.0 docker
- node ${node_version} build
- mdillon/postgis 11
- node ${node_version} build
- rocker/rstudio 3.6.1 build
- of-arena-web latest
- node 18.12.1 build
- postgis/postgis 12-3.0
- @babel/cli ^7.18.9 development
- @babel/core ^7.18.9 development
- @babel/eslint-parser ^7.18.9 development
- @babel/helper-string-parser ^7.18.10 development
- @babel/plugin-proposal-object-rest-spread ^7.18.9 development
- @babel/plugin-syntax-dynamic-import ^7.8.3 development
- @babel/preset-env ^7.18.9 development
- @babel/preset-react ^7.18.6 development
- @babel/register ^7.18.9 development
- @babel/runtime-corejs3 ^7.18.9 development
- @pmmmwh/react-refresh-webpack-plugin ^0.5.10 development
- babel-loader ^8.2.5 development
- cache-loader ^4.1.0 development
- cross-env ^7.0.3 development
- css-loader ^6.7.1 development
- csv-load-sync ^2.3.1 development
- eslint ^8.20.0 development
- eslint-config-prettier ^8.5.0 development
- eslint-import-resolver-webpack ^0.13.2 development
- eslint-plugin-chai-friendly ^0.7.2 development
- eslint-plugin-import ^2.26.0 development
- eslint-plugin-jest ^26.6.0 development
- eslint-plugin-jest-playwright ^0.9.0 development
- eslint-plugin-jsdoc ^39.3.3 development
- eslint-plugin-jsx-a11y ^6.6.1 development
- eslint-plugin-mocha ^10.1.0 development
- eslint-plugin-prettier ^4.2.1 development
- eslint-plugin-react ^7.30.1 development
- eslint-plugin-react-hooks ^4.6.0 development
- git-revision-webpack-plugin ^5.0.0 development
- glob ^8.0.3 development
- html-replace-webpack-plugin ^2.6.0 development
- html-webpack-plugin ^5.5.0 development
- husky ^8.0.1 development
- jest ^27.4.3 development
- jest-cli ^27.4.3 development
- jest-playwright-preset ^1.7.2 development
- lint-staged ^13.0.3 development
- mini-css-extract-plugin ^2.6.1 development
- node-dev ^7.4.3 development
- node-sass ^8.0.0 development
- nodemon ^2.0.19 development
- npm-run-all ^4.1.5 development
- optimize-css-assets-webpack-plugin ^6.0.1 development
- playwright ^1.24.0 development
- prettier ^2.7.1 development
- react-refresh ^0.14.0 development
- rimraf ^3.0.2 development
- sass-loader ^13.2.0 development
- skeleton-loader ^2.0.0 development
- style-loader ^3.3.1 development
- uglifyjs-webpack-plugin ^2.2.0 development
- webpack ^5.74.0 development
- webpack-bundle-analyzer ^4.5.0 development
- webpack-cli ^4.10.0 development
- webpack-dev-server ^4.9.3 development
- webpack-node-externals ^3.0.0 development
- yarn-audit-fix ^9.3.2 development
- @date-io/date-fns ^2.16.0
- @emotion/react ^11.10.5
- @emotion/styled ^11.10.5
- @mui/material ^5.10.15
- @mui/x-data-grid ^5.17.20
- @mui/x-date-pickers ^5.0.14
- @openforis/arena-core ^0.0.128
- @openforis/arena-server ^0.1.22
- @sendgrid/mail ^7.7.0
- @shopify/draggable ^1.0.0-beta.8
- ace-builds ^1.8.1
- adm-zip ^0.5.9
- archiver ^5.3.1
- axios ^0.27.2
- bcryptjs ^2.4.3
- bignumber.js ^9.0.2
- bluebird ^3.7.2
- buffer ^6.0.3
- camelize ^1.0.0
- circle-to-polygon ^2.2.0
- classnames ^2.3.1
- cluster ^0.7.7
- codemirror ^5.65.5
- connect-pg-simple ^7.0.0
- csv ^6.2.0
- d3 ^7.6.1
- d3-interpolate-path ^2.2.3
- d3-tip ^0.9.1
- dotenv ^16.0.1
- express ^4.18.1
- express-session ^1.17.3
- file-loader ^6.2.0
- file-saver ^2.0.5
- i18next ^21.8.14
- is-valid-coordinates ^1.0.0
- json2csv ^5.0.7
- jsonwebtoken ^8.5.1
- jszip ^3.10.1
- jwk-to-pem ^2.0.5
- leaflet ^1.8.0
- leaflet-geometryutil ^0.10.1
- leaflet-side-by-side ^2.2.0
- leaflet.markercluster ^1.5.3
- lodash ^4.17.21
- log4js ^6.6.0
- marked ^4.0.18
- morgan ^1.10.0
- ncp ^2.0.0
- node-schedule ^2.1.0
- node-stream-zip ^1.15.0
- path ^0.12.7
- pg ^8.7.3
- pg-promise ^10.11.1
- pg-query-stream ^4.2.3
- proj4 ^2.8.0
- prop-types ^15.8.1
- r-script ^0.0.4
- ramda ^0.28.0
- react ^17.0.1
- react-ace ^10.1.0
- react-avatar-editor ^13.0.0
- react-dom ^17.0.1
- react-dropzone ^14.2.3
- react-google-recaptcha ^2.1.0
- react-grid-layout ^1.3.4
- react-i18next ^11.18.1
- react-leaflet ^4.0.1
- react-leaflet-markercluster ^3.0.0-rc1
- react-number-format ^4.9.3
- react-redux ^8.0.2
- react-router ^6.3.0
- react-router-dom ^6.3.0
- react-select ^5.4.0
- react-split ^2.0.14
- react-switch ^7.0.0
- react-tiny-popover ^7.1.0
- react-transition-group ^4.4.2
- react-vega ^7.6.0
- redux ^4.2.0
- redux-debounced ^0.5.0
- redux-thunk ^2.4.1
- shpjs ^4.0.4
- socket.io-client ^4.5.1
- supercluster ^7.1.5
- to-snake-case ^1.0.0
- use-supercluster ^0.4.0
- uuid ^8.3.2
- vega ^5.22.1
- vega-lite ^5.6.0
- xml-js ^1.6.11
- 1742 dependencies
Score: 7.681099001536359