GithubHelp home page GithubHelp logo

isabella232 / corpora-data-portal Goto Github PK

View Code? Open in Web Editor NEW

This project forked from chanzuckerberg/single-cell-data-portal

0.0 0.0 0.0 6.97 MB

The data portal supporting the submission, exploration, and management of projects and datasets to Corpora.

License: MIT License

Makefile 2.96% Python 60.91% JavaScript 12.26% CSS 1.53% Shell 0.60% HTML 0.52% TypeScript 20.18% Mako 0.07% SCSS 0.40% Dockerfile 0.54% R 0.03%

corpora-data-portal's Introduction

Corpora Data Portal

Push Tests codecov Maintainability

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.

Developers

Development quickstart

See DEV_ENV.md for the local development guide.

Pre-requisites

  1. Install and configure awscli
  2. Configure ssh access

Environment variables

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

Commands

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.

Deployment

  1. Set DEPLOYMENT_STAGE and AWS_PROFILE according to the environment to be deployed.
  2. Deploy Backend
  3. Deploy Cloudfront-invalidator
  4. Deploy Frontend

Running unittests

  1. Set AWS_PROFILE
  2. Run the tests $ make unit-test

Running functional tests

  1. Set DEPLOYMENT_STAGE and AWS_PROFILE according to the environment to be deployed.
  2. In another terminal run make functional-test

Running local functional tests

  1. Set DEPLOYMENT_STAGE and AWS_PROFILE according to the environment to be deployed.
  2. Run make local-database to setup and populate a locally hosted database.
  3. Run make local-backend to setup the api on a locally.
  4. In another terminal run make functional-test

corpora-data-portal's People

Contributors

bento007 avatar tihuan avatar calvinnhieu avatar mckinsel avatar maniarathi avatar parthshahva avatar mdunitz avatar dependabot[bot] avatar jgadling avatar mweiden avatar liaprins-czi avatar seve avatar ambrosejcarr avatar colinmegill avatar pdugan20 avatar bmccandless avatar mattcai avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.