Branch International Project
A messaging app in Django that can be used to respond to incoming questions sent by customers.
- Install Python3 ( Instructions here )
- Clone this repository and navigate to top-level directory
- Create a virtual environment (venv) for installing the packages
python -m venv ./venv
- Activate the venv
- Install all required packages.
python -m pip install -r requirements.txt
- If there is an existing csv file with the user queries, populate the database by running:
Note that running this script will clear the existing user_querys database before repopulating it with entries in csv.
python manage.py runscript load_csv
- For every agent, create an account in admin by running
python manage.py createsuperuser
- Apply the migrations
python manage.py migrate
- Run the app
python manage.py runserver
- Navigate to http://127.0.0.1:8000/ to see the customer interface
- Navigate to http://127.0.0.1:8000/admin to see the agent interface
- Navigate to http://127.0.0.1:8000/admin/users/userquery/ to see user queries and resolve them
- Navigate to http://127.0.0.1:8000/admin/users/agentresponse/ to see the agent responses to queries that are marked as resolved.
- Customers can submit their queries by entering their UserID and message in relevant fields of the form.
- Upon submission, the message is recorded and customer is prompted to sucess page from where they can submit another query if they wish
- Open: Its a new query and no agent has looked into it
- Assigned: Query has been looked into by an agent.
- Resolved: Query has been resolved by some agent.
- Resolve: When the query is Open, Resolve button is visible On click, agent is taken to a page where they can view the query, and provide a response to it. They can also view other queries by the same customer, so that the agent can resolve multiple queries at once. To mark queries as resolved,
- Check the checkboxes next to other queries that are going to be resolved
- Type a message in the response box
- Click submit
- Transfer: When query is assigned to the agent and they cant resolve it, they can Transfer the query. This will mark query as Open again so that some other agent can look into it.
- Unresolve: When query is marked resolved, but the agent wants to open it again for furtherdiscussion, they can Unresolve the query
- Form based interface for users to submit queries or messages
- Agent interface that allows to respond to queries
- Provision to respond to multiple queries of same user in one go
- Search functionality to allow agents to search over messages and customers
- Tag messages based on the urgency and surface urgent messages
- Filter the user-queries based on resolution status and urgency
- View all agent responses and link to queries resolved by the agent