We are all passionate about League of Legends, with 3 of us being active leaders in the League of Legends club on campus. One of our main pain points in the past year has been fostering a community among our members outside of the game itself. Frequently, players engage others online, but are never able to put a face to the Summoner name. duo&chill encourages and incentivizes players to leave the comfort of their home and establish an organic relationship with around a shared passion: League of Legends.
League of Legends is a game that is played by over 70 million unique users per month. College aged players are the most influential demographic, thus the significance of having collegiate communities rises significantly. Yet, if players are not engaging one another outside the game, the community is not as healthy as it could be. duo&chill aims to solve this problem through a service that allows players to connect with others that live nearby.
How we built it
We thought that the best way to approach this problem would be through a web service. We wanted a simple, easy to navigate and use interface that was also visually appealing. To do this, we utilized Angular.js, as well as a Python backend and Google's Firebase platform for our database. To acces the user's location, we requested the device's location services with geolocation from those devices. After getting the geolocation and snagging the user's longitude and latitude, we plotted their location on an embedded Bing Map. For users to see the other users that were in the area, we used an algorithm from Algorithmia that took two geolocation points and returned the distance between the two in miles. Then, we used the Python back end to talk to Riot Games' API to acces the user's player information, which included various images and information about them from League of Legends. Finally, we utilized Amazon Web Services to host the actual site.
Challenges we ran into
One of the primary challenges that we faced was with the communication between the back end and front end functionalities. Since we wanted to try out Firebase, we thought the most intutitive and comfortable approach would be through Angular.js. Our back end developer was most comfortable working in Python, so we divided that work up evenly. However, Firebase did not have an easy way to integrate Python with Angular.js, so navigating that with thrid party Python packages a challenge that we eventually hurdled.
The biggest challenge was each person's different comfort level and experience doing web and software development. A tricky task was finding a way that we could divide the work up evenly, such that we all had something to do, and that the work was not skewed towards one or two members of the team. We found that even though some of our members wanted to work on a specific area, there was still important work that needed to be completed. However, this was a great way for members to branch out of their comfort zone and engage in a new and unqiue learning experience.
Accomplishments that we're proud of
We are extremely proud of the fact that we were able to integrate so many pieces of the puzzle together to deliver an awesome product for our peers. When we began, we thought that we would use definitely, maybe two external features or sources, yet in actuality, we incorporated so many different resources and technologies that we blew our own minds. We truly believe that this product will have a direct impact on the community that we live in.
What we learned
We all taught eachother something new, which was a very pleasant and engaging experience. Since we all were of different skill levels of hacking, coding, and designing, we all picked up a significant amount of information that we never knew before this weekend. The primary takeaway from this event though, was the that we learned that we can built really awesome stuff if we work as a cohesive and responsive team.
What's next for duo&chill
We definitely want to finish all of the functionalities that we planned for duo&chill, and then ship the final product to help relieve the pain points that we are experiencing in the League of Legends club on campus. Ideally, we would integrate this service into our other community projects to help create a more distinct and healthy gaming culture at the University of Washington.