- Readme
- License
- Changelog
- Roadmap
- Dockerfile
- Docker compose
- Python files
- Requirements file
- Make PORT and HOST environemnt variables
- Run using flask command
- Setup Travis CI
- Install (From Docker Hub)
- Run (From Docker Hub)
- Develop (Build + Run local)
- Test
- Release (To Github)
- Release (To Docker Hub)
- Release (To Heroku)
- Ngrok docker
http://www.patricksoftwareblog.com/unit-testing-a-flask-application/ https://damyanon.net/post/flask-series-testing/ https://pythonhosted.org/Flask-Testing/ https://github.com/colingorrie/flask-boilerplate/blob/master/tests/__init__.py
- Unit Tests Framework
- Input text field
- Output text area
https://www.analyticsvidhya.com/blog/2017/01/ultimate-guide-to-understand-implement-natural-language-processing-codes-in-python/ https://dzone.com/articles/nlp-tutorial-using-python-nltk-simple-examples
- Define a model for the data queries/reponses
- Setup NLTK
- Tokenise
- Noice Removal
https://nlp.stanford.edu/IR-book/html/htmledition/dropping-common-terms-stop-words-1.html
- Lexicon Normalisation
- [?] Object Standardisation
- Part of speech tagging
- Dependency trees
- Generate json query
https://medium.com/@allanmeriales/a-simple-chatbot-using-nltk-chat-640456dcdf72 https://chatbotsmagazine.com/delbot-nlp-python-bot-1a46d865e38b https://apps.worldwritable.com/tutorials/chatbot/
- Mock json query response
- Represent the response as a sentence
- Mock send to mFarm
- convert mFarm into sentence
- Greeting
- On board
- [-] Talkback (because it may have misheard the speech)
- Ignore filler words such as 'umm' and 'hmm'
https://www.twilio.com/docs/voice/tutorials/automated-survey-python-flask https://www.twilio.com/console/phone-numbers/incoming
- Setup Twilio
- Test receive phone call
- Test receive speech through phone call
- Test reply speech through phone call
- Test recognise phone number
- Receive multiple phone calls at the same time
- [-] Add to queue of waiting calls?
- Mock send SMS to mFarm
- User model
- Remember user's name
- Remember currency and location of user
- Store search history
- Ask for more information if not enough given
- Store phone number as hash
- [-] Multiple queries in one call
- [-] Multiple queries in one sentence
- [-] Edit the query (correct themselves)
- Test response time
- [-] Speech Recognition
- [-] Test receive
- [-] Speech Synthesis