Football Player Rating API
For this project I was approached by one of our clients to build a web service for a football player rating app.
The purpose of the Android/iOS app was to allow users to register/login, and for each fixture of the season, give each player of their team an up or down vote. The votes for each player would be tracked and would show a per fixture rating for each player, and an overall season rating. As well as voting on players, you would also be able to vote on transfers too. The app sounded fantastic and something I was very keen to get started on.
The web service would use Opta data feeds to populate the database with leagues, teams, players, fixtures, results and transfers. In order for this to work Opta regularly uploads XML files containing of the data we need to a server that I manage. When the data feeds from Opta change the system would detect it, and handle the importing and updating of the data in those files into our own well structured database, ready for use by the API.
My role on this project was to design and build the MySQL database which would hold all user data, league, fixture, results, transfers and player information. It was down to me to develop a web service using PHP which would allow the Android/iOS applications to interface with the database. On top of this I were responsible for creating scheduled tasks which would regularly send push notification to both iOS and Android users of the application, informing them of their favourite teams results.
In the end the client received a secure, stable, well design and built web service. I worked very closely with both their Android and iOS developers to help them integrate the web service into their respective applications. The web service was fully documentated to allow the app developers to integrate the API with their own applications.