This service utilizes separate containers for REST API management, job processing, and datastorage with MongoDB, ensuring scalable and robust performance.
**The REST API can be accessed via Swagger UI here: https://biochecknet.biosimulations.org/docs
This application (bio_check
) uses a microservices architecture which presents the following libraries:
compose_api
: This library handles all requests including saving uploaded files, pending job creation, fetching results, and contains the user-facing endpoints.storage
: This library handles MongoDB configs as well as bucket-like storages for uploaded files.compose_worker
: This library handles all job processing tasks for verification services such as job status adjustment, job retrieval, and comparison execution.
The installation process is outlined as follows:
-
git clone https://github.com/biosimulators/bio-check.git
-
cd assets
-
touch .env_dev
-
Enter the following fields into the
.env_dev
file:MONGO_URI=<uri of your mongo instance. In this case we use the standard mongodb image with the app name bio-check> GOOGLE_APPLICATION_CREDENTIALS=<path to your gcloud credentials .json file. Contact us for access> BUCKET_NAME=bio-check-requests-1 # name of the bucket used in this app
-
Pull the and run the latest version of Mongo from the Docker Hub. (
docker run -d -it mongo:latest
or similar.)
- This application currently uses MongoDB as the database store in which jobs are read/written. Database access is given to both the
compose_api
andcompose_worker
libraries. Such database access is executed/implemented with the use of aSupervisor
singleton.