We were inspired by accounts such as @bbcbweaking to create a bot and website that would parody a public figure's tweets and publish them to a bot account. There is quite a high demand for accounts like this, as many in the past have gone viral amongst teens on twitter. One of the most challenging tasks in today's society is getting people involved in politics, as it is oftentimes negative and detrimental to their mental health in large doses. We hope that, in creating this account, we have created a way for people to view the news in a more comedic light, and that this form of news is easier to interact with in a positive way.
In this task, we have learned how to: interact with the Twitter API; create an appealing front-end; interact with the GitHub API; host and schedule tasks on HEROKU; and create a REST API using Flask. In using the Twitter API, we pulled data from twitter accounts to modify and post to our own bot account. Using the GitHub API involved using patch requests and get requests to modify and read a persistent storage of data. The front-end development was accomplished using html and bootstrap, while the back-end used tweepy to fetch tweets and exposed a REST API to allow the front-end to retrieve tweets and display them. Some basic caching was implemented in the API to limit the number of times the twitter API was called.
We built mainly in a PyCharm IDE, using python, js, html, and some css and php from an open source website. We also used VSCode at some points. We used GitHub as our VCS so that we could track our progress and easily coordinate our work. It also helped to solve bugs as we could see all the differences between working code and non-functional code.
In our development, we experienced many challenges, such as: the API wrappers we used not being fully documented; returning the wrong data from the REST API, which was also difficult to debug due to python scripts being run slightly differently than in the localhost as they are imported rather than being run as is; and also the formatting for the front-end was challenging due to some of the elements not being suitable for mobile browsers without modification.
The files that were used from an open-source website template:
- all the files in the css, img, js, mail, node_modules, scss folders
- index.html and about.html were adapted from the source
Log in or sign up for Devpost to join the conversation.