Skip to content

OpenHumans/open-humans

Folders and files

NameName
Last commit message
Last commit date

Latest commit

51c6bdb · Feb 21, 2025
Nov 1, 2018
Feb 18, 2016
Mar 6, 2020
Jul 12, 2024
Feb 4, 2020
Feb 6, 2016
Jan 13, 2016
Feb 21, 2025
Feb 21, 2025
Jul 12, 2024
Feb 14, 2019
Jul 24, 2020
Jul 30, 2014
Feb 23, 2016
Mar 13, 2016
Sep 20, 2016
Feb 13, 2019
Nov 6, 2014
Feb 14, 2019
Oct 1, 2016
Oct 1, 2016
Jan 27, 2015
Dec 17, 2019
Dec 15, 2015
Jul 18, 2018
Aug 5, 2024
Feb 14, 2019
Aug 3, 2016
Feb 14, 2019
Sep 21, 2021
Jan 22, 2020
Jun 14, 2019
Feb 14, 2019
Jun 14, 2019
Jul 24, 2024
Jul 24, 2024
Jul 12, 2024
Jul 12, 2024

Repository files navigation

open-humans

Codeship Status for OpenHumans/open-humans codecov.io

This repository contains the code for the Open Humans Website.

The local development environment

dependencies

  • python >=3.6
  • pip3
  • virtualenv (pip3 install virtualenv)
  • nodejs 6.x
  • npm 3.x
  • libffi (apt-get install libffi-dev in Debian/Ubuntu or brew install libffi in OSX)
  • libpq (apt-get install libpq in Debian/Ubuntu or brew install libpq in OSX)
  • postgres (apt-get install libpq-dev python3-dev and apt-get install postgresql postgresql-contrib in Debian/Ubuntu)
  • memcached (apt-get install memcached libmemcached-dev or brew install memcached)
  • ChromeDriver for Selenium tests

virtualenv

For the following commands, you'll also want to set up virtualenvwrapper:

Create a virtualenv for Python 3.6, e.g.:

  • mkvirtualenv open-humans --python=/usr/bin/python3.6
  • pip3 install -r requirements.txt -r dev-requirements.txt

In the future, start the virtual environment with:

  • workon open-humans

And update it after pulling updated code by repeating:

  • pip3 install -r requirements.txt -r dev-requirements.txt

node.js dependencies (primarily for gulp)

  • npm install -g gulp
  • npm install

Update after pulling updated code by repeating:

  • npm install

create your postgres database

Running this site requires a PostgreSQL database (even for local development).

  • In Debian/Ubuntu
    • Become the postgres user: sudo su - postgres
    • Create a database (example name 'mydb'): createdb mydb
    • Create a user (example user 'jdoe'): createuser -P jdoe
    • Enter the password at prompt (example password: 'pa55wd')
    • run PostgreSQL command line: psql
      • Give this user privileges on this database, e.g.:
        GRANT ALL PRIVILEGES ON DATABASE mydb TO jdoe;
      • Also allow this user to create new databases (needed for running tests), e.g.:
        ALTER USER jdoe CREATEDB;
      • Quit: \q
    • Exit postgres user login: exit

Set up environment settings

Use env.example as a starting point. Copy this to .env and modify with your own settings.

Initialize or update the database

Do this at the beginning, and update when pulling updated code by running:

  • ./manage.py migrate

Additional setup

For additional setup information see docs/SETUP.md.

Running the development server

  • ./manage.py runserver

Running tests

You need to process static files before you can run tests.

  1. ./manage.py collectstatic
  2. ./manage.py test

Linting & formatting

Please use black to format code prior to commits. Set up a pre-commit hook by running the following:

  1. pre-commit install