Skip to content
forked from FAIMS/FAIMS3

Transforming field research by overcoming the ‘digitisation bottleneck’, and reducing the cost of creating digital and FAIR-compliant data. FAIMS 3.0 will re-engineer Field Acquired Information Management Systems (FAIMS) Mobile, a mature and stable, but dated, system for producing custom electronic notebooks for data collection in diverse field …

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

aragilar/FAIMS3

 
 

Repository files navigation

FAIMS3

FAIMS3 is currently in pre-alpha development. This repository is our main codebase for development. See https://faims.edu.au for updates (soon).

Setup and development (quick-start)

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 successfuly 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 sourcable 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://<couchdb_host_name>:<couchdb_port>/_utils/).

About

Transforming field research by overcoming the ‘digitisation bottleneck’, and reducing the cost of creating digital and FAIR-compliant data. FAIMS 3.0 will re-engineer Field Acquired Information Management Systems (FAIMS) Mobile, a mature and stable, but dated, system for producing custom electronic notebooks for data collection in diverse field …

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

Languages

  • TypeScript 93.3%
  • HTML 2.6%
  • Shell 2.5%
  • Ruby 1.0%
  • Swift 0.2%
  • CSS 0.2%
  • Other 0.2%