The project is developed using Python and Django.
This repository contains the source code for the TwilTwil project, ChaCha using Twilio's TaskRouter.
To setup the Python/Django build environment, execute:
make install
Create a Twilio account and purchase a phone number. You'll also need to generate a Twilio API key.
Update the .env
file and set the following variables:
TWILTWIL_TWILIO_ACCOUNT_SID
TWILTWIL_TWILIO_AUTH_TOKEN
TWILTWIL_TWILIO_PHONE_NUMBER
TWILTWIL_TWILIO_API_KEY
TWILTWIL_TWILIO_API_SECRET
This project is configured to work with a Virtualenv which has now been setup in the .venv
folder. If you're
unfamiliar with how this works, read up on Virtualenv here. The short version
is, virtualenv creates isolated environments for each project's dependencies. To activate and use this environment when
developing, execute:
source .venv/bin/activate
All commands below will now be run within the virtualenv (though make
commands will always automatically enter the
virtualenv before executing).
To ensure the database is in sync with the latest schema, database migrations are generated and run with Django. To run migrations, execute:
make migrate
Once migrations have been run, you can create a super user, which is a standard user that also has access to the /admin site.
python manage.py createsuperuser
Now you're all set! To start the development server, execute:
bin/runserver
A development server will be started at http://localhost:8000.
If the USE_NGROK
environment variable is set when a dev server is started (using runserver
, pyngrok
will be used to open a ngrok
tunnel. This is especially useful when using webhooks.