This is a webapp built in Django and Javascript demonstrates how to leverage Twilio Programmable Voice and Twilio SDKs to create a Task reminder system to remind people about their tasks by calling to your customers to deliver time-sensitive messages. This app is helpful for people who keep forgetting things who don't remember their piece of work to be done.
This fully functional webapp allows you to create tasks and set a reminder for it. Users can sign-up via mobile number, create tasks and set a reminder for a specified date and time, the app then calls the user on their phone to remind about the task.
๐ Login Page
๐ Home Page
๐ Add Task Page
Please note that using the application will incur in charges for Programmable Voice minutes.
Follow these instructions to get a copy of the project up and running on your local machine for development and testing purposes.
- first of all, You need to install python for running pip command
- create a project folder
- Clone the repository inside this folder
https://github.com/divyanshkumarworks/heavy-reminder.git
- Install Dependencies
pip3 install -r requirements.txt
- This application uses Twilio credentials to create the Call resources. you'll need a Twilio account for:
- account sid
- auth token
- twilio number
- After creating an account in twilio create a secret.py file inside folder heavy reminder and add following credentials:
ACCOUNT_SID = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
AUTH_TOKEN = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
TWILIO_NUMBER = XXXXXXXXXX
MY_NUMBER = XXXXXXXXXXX
(your secret key stored inside settings.py)
DJANGO_SECRET_KEY = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- Run database migrations using:
python manage.py makemigrations
python manage.py migrate
it will create the database schemas, tables and relationships.
- And then run:
python manage.py runserver
this command will run the local server.
In addition, An ngrok server is required so that Twilio can locate your server and invoke the webhooks on every call status update.
- For local development the application uses an ngrok server. Without it, Twilio cannot invoke the call-status-update webhook that runs from your local server. Ngrok enforces a limit of 40 connections per minute so be mindful about this limitation.