BartKrol / autodialer

Simple customer managing tool for sales developed as an interview task

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Autodialer

About

This is a simple customer managing tool for sales developed as an interview task (developed in 12 hours).

Usage & Features

  • Basic functionality:

    1. Agent is able to login to his account with given username and password
    2. Agent is given a number to call
    3. Agent is able to see current status of the call.
    4. Twilio creates a conference (a bridge) and agent is the only person inside
    5. Agent is given a list of clients to call
  • Special cases:

    1. Every time new agent is logged in, he is given a number from database and this number is marked as used.
    2. For the session duration he will be given the same number
    3. After the end of conference, agent may start a new one by calling the same number
    4. It is possible to call any client once again

Possible Improvements

  • Use Twisted or Tornado to handle asynchronous tasks
  • Use Celery to handle long running tasks
  • Add administration panel
  • Remove code from init.py

Setup

  • create virtual environment for development
$ virtualenv env
  • activate virtual environment
$ source env/bin/activate
  • install python necessary packages
$ pip install -r requirments.txt
  • initiate database
$ ./manage.py db init
  • create first migration
$ ./manage.py db migrate
  • upgrade database and create tables
$ ./manage.py db upgrade
  • populates database with fake data
$ ./manage.py populate
  • Run Autodialer Server
$ ./manage.py runserver
  • Login as username: Test password: TEST

About

Simple customer managing tool for sales developed as an interview task


Languages

Language:Python 70.2%Language:HTML 20.4%Language:JavaScript 8.6%Language:CSS 0.8%