Population insights for humanitarian aid - user-friendly, responsible, actionable
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
aileen
.gitignore
.pre-commit-config.yaml
LICENSE
Readme.md
install_script.sh
requirements.txt
setup.cfg
setup.py

Readme.md

Aileen

Aileen, a hardware/software suite designed for NGOs, counts signals from devices with a wireless interface enabled (such as smartphones) to deliver population data in an organized and actionable format.

Hardware

  • ALFA AWUS036NH HIGH POWER WIFI USB-ADAPTER
  • Computer running Ubuntu 18.04 LTS

Dependencies

  • Make a virtual environment: virtualenv env_aileen
  • Activate it, e.g: source env_aileen/bin/activate
  • Install the aileen dependencies: python setup.py develop
  • If you want to collaborate on code, please install pre-commit for it to hook into commits: pre-commit install

Database for development

Use sqlite

code

  • We use black for code formatting.
  • We use isort for package importing.

.env file

To run the aileen box you'll need to have the following in an aileen/.env file.

WIFI_INTERFACES='theWifiInterfaceOfDevice'
DISABLE_AUTO_TITLE='true'

Aileen will tell you about the wifi interfaces it sees if you don't know what to put for the first setting.

First migrations and superuser

Initialize the database

  • python manage.py makemigrations
  • python manage.py migrate

Create a super user

  • python manage.py createsuperuser

Test app

Check if everything was installed correctly with either:

  • python manage.py runserver
  • python manage.py run_box

Data to map on server

Go to the /admin url and add a location for the aileen box

Deploy server app

When creating an app on a server be sure to tell the server to collect the static files with the following python manage.py collectstatic