Python ChatBot Project

For my group’s ChatBot project we collectively decided that we wanted the Bot to be a general purpose one, in which it would carry out a range of different tasks that a user would ask of it on a daily basis. It is similar in the way that Siri carries out general tasks for a user, which would be asked of it on regular occasions.

The final prototype for the ChatBot includes a range of features from music to time, calendars, weather and a platform to use the Bot in, which we chose to be Discord. There is a main feature in the program which acts as a start-up which is the first thing the user will see. From there they can talk the Bot with the greetings it has be programmed to respond with or they can chose from the multiple features the program can carry out.

There is also a weather feature in the ChatBot project which allows the user to get the weather description of any location they enter which is used through an open weather map API. The ChatBot is also integrated into Discord so the user would be able that as a platform to use the Bot. All of these features are going to be linked together through a main page from which you would select which feature you want to use (calendar, time or weather).

My contribution to this project has been the weather feature which I got assigned from the product backlog. My weather feature allows the user to input a city/town which they would like to find the weather information from and also lets them choose what data they want to see from a list of options, which includes the weather description and temperature.

I used multiple functions, loops and if statements within my program to build it from scratch in the beginning, once I researched enough about API’s I imported some code which I found from a source. The API section of my whole program was the most challenging task through this for me as I had never used them before and I had to read into them as well as being able to understand it. So a lot of self teaching was involved in being able to complete the API correctly. I used open weather map for my API and was able to extract from the data what I wanted to use for my program which was the weather description, temperature and wind speed.

The skills I gained from this project in regards to my programming was that I learnt what API’s are as well as how they work and trying to implement them between web services and code. I also further practiced on developing my overall programming skills with the use of functions, loops (while and for loops) and if statements. Some of the general skills I gained from this ChatBot project include researching as had to find out about what API’s were and how they worked. I also had to try and find an appropriate weather map which I could use for it.

Other general skills I gained include teamwork, the agile development method and the scrum method. The Agile and Scrum methods have allowed me to understand the efficient way that development of a project is done as I was able to put this into practice with my group. Throughout the process of this project a sprint tracker was used to help assist in assigning roles to each person in the group. A burn down chart was also used within the sprint tracker to track the progress of what features were getting completed. Over time it could be seen that more features we being completed for the ChatBot and progress was being made as well as more effort being put in over time.

My group had experienced a steady paced progress through the project, however at some instances we would face some issues in terms of communication as not everyone would always be updated on where everyone else was at with their progress. We all had signed up to the site Slack which was intended to be our way of communicating to each other, but it wasn’t used as much as it should have been. It was only used when the sprint tracker was sent across to everyone in the group. To try and overcome this issue, I would try and ask where the individuals were at separately so I would know if I was falling behind myself in comparison to where they were at.

Overall the ChatBot project has come out as we wanted it to from the beginning as it does what we expected of it. We had extra features we noted down in the product backlog which we wanted in the Bot, but those were listed as a “could have” so it wasn’t the main focus for the Bot. However, if we wanted to expand on the Bot to allow it to do more we could have those features included e.g. music. For my weather feature evaluating my progress, it wasn’t at a steady/consistent pace which I had hoped it to be at. So this could have been improved by setting myself goals for what I should have achieved by a certain amount of time. Looking back over the entire project if I had more time I could try and add a second validation loop to make sure that my code won’t break from input where the user should enter an integer but a string is inputted. Having more validation would ensure that my code won’t break and will be competent.

These tables and the chart above show the burn down chart and sprint tracker which is what was used to make sure that the group’s progress was noted down as well as the efforts put in over time. From the burn down chart you can see that over time more features were being completed as the workload was being completed. 

To view or add a comment, sign in

Others also viewed

Explore content categories