Giter VIP home page Giter VIP logo

usurvey's Introduction

uSurvey

uSurvey is an innovative data collection tool designed to provide statistically representative real time estimates of a given indicator. It runs on USSD (Unstructured Supplementary Service Data) interactive secured channel and on ODK (Open Data Kit), for off-line data collection in locations with intermittent mobile network connections.

The system has been designed to collect a wide range of data for the structured survey; to generate and produce descriptive statistics and graphical representation of the collected information whenever desired, as well as during the process of data collection.

Official documentation is available on http://usurvey.readthedocs.io/.

Installation

  • Postgres, redis-server should be running

  • It helps to install python-dev, libxml2-dev, libxslt1-dev, zlib1g-dev and libffi-dev (for a debian based system, the command would be sudo apt-get install python-dev libxml2-dev libxslt1-dev zlib1g-dev libffi-dev)

  • Execute the following commands from your installation directory:

      git clone https://github.com/unicefuganda/uSurvey.git
    
      cd uSurvey/mics
    
      cp travis-settings.py localsettings.py
      (adjust localsettings.py for db and test_db setup)
    
      cd ../survey
    
      cp interviewer_configs.py.example interviewer_configs.py
    
      cd ..
    
      mkvirtualenv uSurvey
    
      pip install -U -r pip-requires.txt
    
      python manage.py syncdb --noinput
    
      python manage.py makemigrations
      
      python manage.py migrate
    
      python manage.py createsuperuser
      (to create the initial user access)
    
      python manage.py load_parameters
    

Before using the system

  • Before using the setup, you need to load data for administrative divisions of the required country.

  • To load administrative divisions into the system, run the following commands:

      python manage.py import_location [LOCATION_FILE_CSV]
    

The first line of the csv file shall be taken as file header.

The file header is expected to contain names as per the administrative division in a comma separated format. In addition, there can be an additional header for enumeration area. This header should be named EAName. Sample file for Uganda is included in the project directory as administrative_divisions.csv.example.

Starting up

  • Make sure you configure appropriate ports in the supervisord.conf file.

  • Start the system using supervisor:

      supervisord -c supervisord.conf
    

In supervisord.conf, the configuration under [program:odk-server] is required to serve ODK requests, while the configuration under [program:django-interface-server] is for serving other requests.

==

Testing

  • run test as follows:

      python manage.py test
    

Build Status

usurvey's People

Contributors

amukiza avatar antsmc2 avatar brianleke avatar eswarsakamuri avatar navalandrianjafinandrasana6666 avatar pooja-salpekar avatar raindolf avatar ryleysill93 avatar sriprasanna avatar teejay005 avatar timothyakampa avatar vivitc avatar

Watchers

 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.