Abstract
ICPC (International Collegiate Programming Contest) is a worldwide programming contest organized by ACM (Association for Computing Machinery) every year. Over 40,000 students from over 2500 Universities all around the globe participate in this prestigious competition. It is a team based multi-tier competition which follows the rules formulated by ACM. The competition initially takes place among the local universities and the winners of this contest get selected to the regional level competition. Winners at the regional level contest advance to the world finals. Currently, the ICPC has a web-based registration system only for the regional and world finals Contests. Registration of the contestants/teams who participate in local contests has been a manual process i.e. the event organizers take the details of the contestants on a piece of paper. It has become a tedious process to archive and maintain the information of many such local contestants on paper. Moreover, this data couldn’t be shared among other contests. Local university contests usually determine the eligibility of the teams to compete in the regional and eventually to the world finals contest. This shows that there is a significant need for the ‘local registration’ data to be securely stored for further use. The main intent of the project is to develop a RESTful API that provides services to the web based applications which makes the registration process of the contestants easy. The project also includes an AngularJS based web application which consumes these web services and stores the registered contestants’ data in a local database. The important aspect as a part of the project is to develop an API design Specification which acts as an interface that could essentially generate Javascript files for the front-end development and platform independent implementation code for the back-end. This feature gives an insight of the REST API and also provides information on how it could be implemented to develop applications.