Powering openhumans.org
Clone or download
jhdulaney require ssl in the db
Signed-off-by: Mairi Dulaney <jdulaney@fedoraproject.org>
Latest commit f94bafc Dec 12, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Update pull_request_template.md Nov 1, 2018
bin 🔥 remove deprecated syncdb command Feb 18, 2016
common Replace django-user-accounts with django-allauth (#873) Oct 1, 2018
data_import Replace __unicode__ methods with __str__ and modernize some string fo… Aug 30, 2018
docs 🔧 document S3 CORS setup; closes #370 Feb 6, 2016
gulp use more idiomatic gulp; remove bundle- prefix Jan 13, 2016
open_humans require ssl in the db Dec 13, 2018
private_sharing add withdrawn link (#915) Nov 27, 2018
public_data Django 2.1.1 (#847) Sep 6, 2018
scripts Migrate to Python3 (#817) Jul 23, 2018
static Fix missing minlength changes for parsley Oct 19, 2018
.buildpacks Change buildpack order so node goes first Jul 30, 2014
.checkignore 👕 ignore migrations for style checks Feb 23, 2016
.coveragerc ignore pass Mar 13, 2016
.eslintrc 👕 update eslintrc Sep 20, 2016
.gitignore Remove unneeded additions Sep 5, 2018
.jscsrc Update .eslintrc, add .jscsrc & .pylintrc Nov 6, 2014
.pydocstyle 👕 fix all linter warnings Oct 1, 2016
.pylintrc 👕 fix all linter warnings Oct 1, 2016
.scss-lint.yml 👕 fix linter warnings in scss files Jan 27, 2015
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md Jan 17, 2018
EXTERNALS.md 📝 remove outdated reference Dec 15, 2015
LICENSE.txt Make GitHub recognize the LICENSE Jul 18, 2018
Procfile 🔧 move from gunicorn to uWSGI Jan 15, 2016
README.md Migrate to Python3 (#817) Jul 23, 2018
codecov.yml add codecov.yml Aug 3, 2016
dev-requirements.in Update requirements to fix testing errors Dec 1, 2017
dev-requirements.txt update dependencies (#900) Nov 1, 2018
env.example Remove python-social-auth #864 (#871) Sep 18, 2018
gulpfile.js 👕 fix all linter warnings Oct 1, 2016
manage.py Migrate to Python3 (#817) Jul 23, 2018
package.json Convert bootstrap to global to solve JS issues Jan 5, 2018
requirements.in bump django version Nov 13, 2018
requirements.txt bump django version Nov 13, 2018
runtime.txt Update Python runtime for Heroku, second try Aug 3, 2018

README.md

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.5
  • 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:

  • mkvirtualenv open-humans
  • 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

  • flake8
  • pep256
  • pylint
  • eslint (npm install -g eslint)