The technologies that I have used are flask with python which also uses Jinja2 for HTML. I used twitch API to fetch all the information from twitch I did also use a package called twitch-python which I was completely using initially before I started using python requests to get full access. I have also used bootstrap for general webpage design.
So, now coming to what I did after the hackathon started. At first, I was thinking of making a portfolio website for myself, which would have been just a static page so I decided to do something more engaging. I always wanted to use twitch API and develop something using flask with python. So I looked at different APIs that they provided. I spoke to a mentor as well. Once I felt confident about doing this, I started checking if I can hit the API and get a response using the curl command. I made a twitch dev account and registered my app. Then I figured out how to generate OAuth tokens and use it for their API calls along with my client ID. Once everything was working I started looking for how to do flask with python. After a lot of struggle with both of these, I got it working. Then it was all about calling the services using either a twitch-python package or using a python requests package to fetch the right data and using bootstrap to design the page a little bit so it doesn't look too terrible. Top games and top streams pages were the first ones I made. Later I made Search Channel and clips page which involved hitting both get and post requests to the backend and reading data from the form to use in the api calls.
Now, coming to what I can do in the future. I think the obvious thing is to improve the look and feel of the web app as right now I just made designed something that looks okay. Then some of the other things are
- I can refine how top clips work. I can add support for more games by getting the entire list and showing that.
- I can also make the search channel more accurate, right now it would show a lot of near matches which may not be relevant.
- Then I can definitely improve how top streams are showed and the data associated with it. I would have it so that it updates every few seconds automatically.
- Then I can add other many features like embedded clips, ability to see the games and streams based on other factors other than viewers, may have the option to show more options info about a particular stream that is clicked like how many followers or subs it has, whom are banned, how many total views it has. Also Some sort of a leaderboard for streams with different categories would be cool to have.
I have included all the references and further info regarding how to build the project in github readme file. So do check it out at the provided GitHub link.
Hope you liked my project. Thanks to all the mentors whom I connected with. I can't wait to hear about the result announcements.