Git Product home page Git Product logo

TrialConnect ======

The RapidSMS TrialConnect project. A system for supporting clinical trials with SMS reminders and outreach.

Development Workflow

We are using git-flow to help manage our development process.

Learn how to use git-flow at:

http://jeffkreeftmeijer.com/2010/why-arent-you-using-git-flow/

You can download and install git-flow from:

https://github.com/nvie/gitflow

Learn more about the methodology behind it at:

http://nvie.com/posts/a-successful-git-branching-model/

Developer Setup

Prerequisites:

  • A Linux-based development environment including Python 2.6. Ubuntu 10.04 or later is recommended. At present, Windows-based environments are not actively supported.
  • PostgreSQL and the appropriate Python bindings (psycopg2). In Debian-based distributions, you can install these using apt-get, e.g.:

    sudo apt-get install postgresql python-psycopg2 libpq-dev
  • The following additional build dependencies:

    sudo apt-get install libxslt1-dev libxml2-dev
  • CouchDB is required for logging and audit tracking purposes:

    sudo apt-get install couchdb
See

http://wiki.apache.org/couchdb/Installing_on_Ubuntu

for more information about couch.

  • Install pip and virtualenv, and make sure virtualenv is up to date, e.g.:

    easy_install pip
    pip install -U virtualenv
    pip install -U virtualenvwrapper
  • Install git-flow (see above).

To setup a local development environment, follow these steps:

  1. Clone the code from git, checkout the develop branch, and initialize git-flow:

    git clone [email protected]:afrims/afrims.git
    cd afrims
    git checkout develop
    git flow init # just accept all the default answers
  2. Create a Python virtual environment for this project:

    mkvirtualenv --distribute afrims-dev
    workon afrims-dev
  3. Install the project dependencies into the virtual environment:

    ./bootstrap.py
  4. Create local settings file and initialize a development database:

    cp localsettings.py.example localsettings.py
    createdb afrims_devel
    ./manage.py syncdb
  5. Update the submodules:

    git submodule init
    git submodule update
  6. In one terminal, start RapidSMS router:

    mkdir logs
    ./manage.py runrouter
  7. In another terminal, start the Django development server:

    ./manage.py runserver
  8. Open http://localhost:8000 in your web browser and you should see an Installation Successful! screen.

Production Setup

  1. Sync the production server with network (or otherwise correct) time e.g. using NTP.
  2. Set the TIME_ZONE setting in Django to reflect the right time zone.
  3. Specify the default language for SMS (where?)
  4. Update the django EMAIL settings so that email reports don't get sent from webmaster@localhost

afrims's Projects

afrims icon afrims

The base Rapidsms project for afrims

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.