Skip to content
/ FAIMS3 Public

Transforming field research by overcoming the ‘digitisation bottleneck’, and reducing the cost of creating digital and FAIR-compliant data. FAIMS3 is a platform for producing custom electronic notebooks for offline field-data collection.

License

Apache-2.0, Unknown licenses found

Licenses found

Apache-2.0
LICENSE
Unknown
LICENSE-TEMPLATE-FOR-SRC
Notifications You must be signed in to change notification settings

FAIMS/FAIMS3

Repository files navigation

FAIMS3

FAIMS3 is an open-source tool for offline field data-collection brought to you by the FAIMS Project. The FAIMS Project was funded by the ARDC ([https://dx.doi.org/10.47486/PL110]), Macquarie University, and CSIRO along with our other partners. This code is appropriate for building and deploying the Webapp, Android and iOS versions. The conductor, needed for user authentication, is located at [https://github.com/FAIMS/FAIMS3-conductor]. Contact [email protected] to enrol to try out the software.

Setting up a field server

Developer notes to run test copies of FAIMS

Before you do anything (apart from cloning this repository), you should run npm installto get all the dependencies for the scripts installed (If you have been doing some development, either stashing or committing your changes before runningnpm install` would be wise).

Once the dependencies are installed, you should check any changes that have been made, and commit them if needed.

There are a number of helper scripts (which can be seen in the package.json), but the ones that should always exist are:

  • npm run build: builds the webapp (not the Android/iOS apps)
  • npm run test: runs the main test suite
  • npm run serve: runs the webapp in a browser (currently via capacitor's system, to ensure that the webapp and the phone apps are as similar as possible).
  • npm run start: runs the webapp in a browser (unoptimized dev build).

You should also be aware of the cli interface to capacitor, as that does the building/management of the Android/iOS apps.

Further build/install instructions can be found at https://github.com/FAIMS/FAIMS3/wiki/building-the-webapp.

Docker Desktop setup

  1. Install Docker desktop.
  2. Create a new Dev Environment.
  3. When prompted for Existing Git repo add the FAIMS3 git repo web address.
  4. Click on Open in VSCode which will open your new container.
  5. Then follow Setup and development (quick-start) steps inside of the VSCode which was opened.

(Alternatively) Use the terminal to create containers with Docker

  1. Install docker with brew using brew install docker.
  2. Clone repository to your local machine.
  3. Spin up a new Ubuntu container with your local machine location of the repository and give it a CONTAINERNAME of your choice docker run -dt -v /LOCAL_REPO_LOCATION:/opt/projects -p 3000-4000:3000-4000 --name CONTAINERNAME ubuntu /bin/bash
  4. Check the container was created successfully with docker container list -a.
  5. If successfully enter the container environment using docker exec -it CONTAINERNAME bash
  6. Update linux package sources list to the latest and upgrade the current packages installed to latest versions with apt update && apt upgrade, type y and press enter for any prompts to allow installs to use disk space.
  7. Install curl and fetch node with apt install curl then curl -fsSL https://deb.nodesource.com/setup_16.x | bash - to fetch node and make it visible to bash.
  8. Install required tools for the project to run with apt install gcc g++ make nodejs which installs GNU Compiler Collection, GNU c++ compiler, Make unix utility and Nodejs.
  9. Enter project folder cd /opt/projects.
  10. Now follow Setup and development (quick-start).
  • To exit container use exit command.
  • To stop container use docker stop CONTAINERNAME
  • To remove container use docker rm CONTAINERNAME

Choosing couchdb instances

The server_configs directory contains scripts for some of the development servers, but primarily exporting:

export REACT_APP_DIRECTORY_HOST=<couchdb_host_name>
export REACT_APP_DIRECTORY_PORT=<couchdb_port>

will allow you to choose which couchdb instance to use. Remember to add the host-port pair of the system the FAIMS app is running on (in most cases localhost:3000) to the CORS allow list via the Fauxton running on the couchdb server (located at http:https://<couchdb_host_name>:<couchdb_port>/_utils/).

Build mobile app

  1. Build the source code
    • npm run webapp-build
  2. Synchronise Gradle files
    • npm run webapp-sync OR cap sync
  3. [Optional] Allow to copy to /Library/Ruby/Gems/2.3.0:
    • export GEM_HOME="$HOME/.gem"
  4. [Optional] Resolve xcode-select error
    • sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
  5. Build the apk from the build/build bundle/build apk section

About

Transforming field research by overcoming the ‘digitisation bottleneck’, and reducing the cost of creating digital and FAIR-compliant data. FAIMS3 is a platform for producing custom electronic notebooks for offline field-data collection.

Resources

License

Apache-2.0, Unknown licenses found

Licenses found

Apache-2.0
LICENSE
Unknown
LICENSE-TEMPLATE-FOR-SRC

Stars

Watchers

Forks

Packages

No packages published