This is an automated chat application where system converses with the users in a pre-determined [login to view URL]’s no artificial intelligence or anything, answers are simply pulled from a database pool in a given order. The administrator will enter answers in pairs of pools (starter question followed by its “follow-up answer??), which will be chosen randomly, to diversify the content, as well as maintain the logic. Above, is a sample for those pools.
The administrator may enter as many questions, (starter questions and follow-up questions) as he/she likes, in the order mentioned above.
Here’s a sample conversation formed in accordance with the table above. (Please examine the image above first, and disregard the user inputs as we’re not interested in them yet…):
**App- Hi how are you? (“Starter1a?? randomly chosen from the “starter question 1 pool??)**
User ??" Fine, you?
**App- I’m doing good (“Followup1b?? randomly chosen from the “follow-up question 1 pool??)**
User- Good to hear that
**App- What’s your age? (Starter2b)
**User- 26
**App- Really? Cool! (Followup2c)**
User- Yeah
**App- Where are you from? (Starter3c)
**User- Alexandria, Virginia
**App- Do you like it there? (Followup3a)**
So that’s the fundamental feature. Here’s the tricky part:
Please keep reading the deliverables
## Deliverables
- We need to hold a timer to determine when to give the answers. The moment an answer is given, should be the moment user is expecting an answer. So as soon as the user hits enter, we’ll be waiting for 5 seconds. Then we’ll display a “Typing?? indicator below the chat window during a random period of time (between 10 to 15 seconds).
- Should the user input another response during the 5-second waiting period, we’ll reset the timer to zero and re-count up to 5 (removing the “typing?? state from the chat window). We’ll keep doing this until the user stands idle for five seconds.
- Should the user doesn’t respond for 20 seconds following our question, we’ll notify the user saying “are you there???
- Should we detect certain words entered by the user, we'll respond with a pre-determined answer, rather than one in the associated pool. So we need another table like "banned words" where we'll respond accordingly.
So this will look like an intelligent conversation, as well as it can. We need a back-end where we can add, edit, delete and match names and images of the operators that will showcase on the chat window. (The user will be free to choose the operator from their images displayed on the home page.) We also need a control panel to add, edit, delete starter and followup answers. All the conversations will be logged, and will be reachable through the admin control panel.
We’ll provide the layout in HTML format, you’re responsible from implementing the layout to the script, creating the database using our hosting control panel, uploading, testing the scripts, and we also need online support for at least 2 weeks following the project deadline.
## Platform
AJAX will be used for the chat window. PHP and MySQL are welcome.