The Corpora Data Portal (CDP) enables the publication, discovery and exploration of interoperable single-cell datasets. Data contributors can upload, review and publish datasets for private or public use. Via the portal, data consumers are able to discover, download and connect data to visualization tools such as cellxgene to perform further analysis. The goal of the CDP is to catalyze distributed collaboration of single-cell research by providing a large, well-labeled repository of interoperable datasets.
See DEV_ENV.md for the local development guide.
Name | Description | Values |
---|---|---|
DEPLOYMENT_STAGE |
Specifies an app deployment stage for tasks such as deployments and functional tests. | dev , staging , prod |
AWS_PROFILE |
Specifies the profile used to interact with AWS resources via awscli. | single-cell-dev , single-cell-prod |
CORPORA_LOCAL_DEV |
If this variable is set to any value, the Corpora app will look for the database on localhost:5432 and will use the aws secret corpora/backend/${DEPLOYMENT_STAGE}/database_local. | Any |
Command | Description | Notes |
---|---|---|
make fmt |
Auto-format codebase using black. | This should be run before merging in any changes. |
make lint |
Perform lint checks on codebase using flake8. | This should be run before merging in any changes. |
make unit-test |
Run all unit tests. | |
make functional-tests |
Run all functional tests. | These tests run against a deployed environment which is selected by the value of DEPLOYMENT_STAGE . |
- Set
DEPLOYMENT_STAGE
andAWS_PROFILE
according to the environment to be deployed. - Deploy Backend
- Deploy Cloudfront-invalidator
- Deploy Frontend
- Set
AWS_PROFILE
- Run the tests
$ make unit-test
- Set
DEPLOYMENT_STAGE
andAWS_PROFILE
according to the environment to be deployed. - In another terminal run
make functional-test
- Set
DEPLOYMENT_STAGE
andAWS_PROFILE
according to the environment to be deployed. - Run
make local-database
to setup and populate a locally hosted database. - Run
make local-backend
to setup the api on a locally. - In another terminal run
make functional-test