The idea is to make interaction with a chatbot more social and let unlimited amount of peers use a chatbot and share the experience between each other.
I also did not add usernames to each message to bring some kind of anonymity to each particular message.
You know who is participating in the chat, but knowing who said something particular can apply pressure on the person speaking.
-
It was decided to Go 😏 with Revel framework as it has a chat example already implemented and it has more features than the Gorilla WebSocket chat example.
-
Chatbot logic to interact with the users,
-
WebSockets for the chat between users functionality,
-
UI using some cool CodePens for the better UX,
-
Twilio REST API for making phone calls
revelChat is very easy to install and deploy in a Docker container.
cd revelChat
docker build -t revel-chat .
docker run -it -p 8080:8080 revel-chat
This will create the image and pull in the necessary dependencies.
Once done, run the Docker image and map the port to whatever you wish on your host. In this example, we simply map port 8080 of the host to port 8080 of the Docker (or whatever port was exposed in the Dockerfile):
docker run -it -p 8080:8080 revel-chat
Verify the deployment by navigating to your server address in your preferred browser.
127.0.0.1:8080
Please feel free to leave comments if you happen to visit this page and suggest what can be added or improved