Hey there it's Nick,
i guess i could start off by showing you an image of the working chatbot :)
https://thepracticaldev.s3.amazonaws.com/i/w3y7qkz6r0z9t0z515hf.png
As you can see the main purpose of this chatbot is to help you during the times when you're bored and need a movie recommendation. It also has some basic conversational capailities but our dear.....john......has an all work and no talk attitude. However he does do his job fairly well so at least i forgive him.
As to how it was made (apart from with a lot of blood, sweat and a couple of manly tears), it's mostly made with fairly simple functionality and a couple of api's sprinkled here and there. We used codio, which was provided by Cov.Uni. to code the chatbot. Other than that we used The movie database for everything api-based.
The chatbot was a first year, first semester project(which might explain a couple of things :D ). 6 random students of varying nationality and ethnicity were thrown together to form a group, which had.....well...two tasks. Firstly we made a sumo-lego robot with pseudo-ai, the purpose of which was to get to know eachother, our strengths and our weaknesses. The second one which is the one we are talking about today is a bit more grand than some lego bricks throw together. We were tasked with making a chatbot. The theme of it was left to us,but we chose fairly quickly that it will be centered around movie recommendation. Every single one of us had crazy ideas which we wanted to implement. However, when we actually started trying to code it we came to a very grounding realization: We had no idea what we were doing, we were thrown in the deep end and were left to our own demise.
Sadly that scared us a bit and for the first two-ish weeks we didn't manage to make much progress, making excuses all along the way. Some of which were: "How are we even supposed to do this" , "This is damn near impossible with our current skills" and so on. Along with all of those excuses we were missing the real purpose of the task, which i now believe to be, to learn how to teach yourself how to do something give that you have all of the resources you could need. It took me waay too long to realize that and in doing so i wasted a lot of time.
However when i just started coding i understood that all of the tasks that i thought were titans, were not as hard and impossible as i thought them to be. And from then on, one by one i started completing the tasks that i needed to. However i'm not going to lie to you and tell you that it was all smooth sailing from then on, infact it got even harded due to reasons like problems with certain members of the group and simply needing to get a clear vision of what the chatbot would do and what it would feel like. Nevertheless, we managed to get through all of the difficulties and days when we just wanted to give up.
There were many hurdles along the way one if which was the dreaded debugging and the even worse integration of code......Some things would be easy enough and only take couple of hours to debug, other were a bit more difficult. There was one time when i spent damn near 4 hours trying to fix an error which turned out to be just a missing "break". Integrating the actual code was even more fun, given all of the varrying difficulties it led to which are just too many to count.
Be that as it may there was one thing that persisted throughout the entire processes of debugging. That was the amazing rush of adrenaline that you get when you finally fix some code which has been getting in your way for hours and maybe even days.The thought of that feeling of accomplishment is one of the things that kept me going even when times were the toughest along with the newfound knowledge that every problem has a solution no matter how dire the situation may look.
To sum up the chatbot changed so much during the process of making it that you could that they were completely seperate projects. One of the only things that somehow persisted was the name. John. We never really chose it, it kind of just happened one day when we were testing the code and needed a name for it and after that day it ust kind of stuck. Mostly i think it was because no one really felt like changing the code. Thinking about it now it does kind of fit, a simple name for a simple chatbot.
Throughout this whole process i learned so much that i never thought i would be and managed to progress a tiny bit further as a programmer. This only served to rekindle my lost love for coding. Not just the good parts, but the whole process: you might say.. the good , the bad and the ugly.
Here's hoping that the next project will be even more successful.
Here is the github link: https://github.coventry.ac.uk/valkovn/TheBestChatBot
You need to run Server_Code.py first and then Client_Code.py if you want to try it out yourself.
Top comments (1)
Thank you for sharing!