Capstone Project - Curling Combine
As part of my final term I worked on a 4 month capstone project as a team of two for a client. Our project was supported by the Ontario Curling Council and Curling Canada.
Our project is a collection of web-based components that provide mobilized data entry of athlete performance data specific to curling (short making, brushing, fitness data, etc). The mobilized data entry is accomplished via a mobile application rather than a website due to the requirement of offline usage. In addition to performance data entry, there is also an administration management side for athletes, coaches, and teams. Finally in order to facilitate organizing camps to collect performance data, there is a component for athlete registration and curling camp management. The entire system was created to enable future expansion into analytic reporting on athlete performance data.
The backend technology being used was Java, WildFly 10 as the Java EE application server, SQL Server 2014, and Keycloak for security needs. All data access is accomplished via secured JAX-RS endpoints. For the front end, we used AngularJS and Foundation for Apps. To package the mobilized data entry application we used Apache Cordova.
We utilized both Maven and Grunt to accomplish specific build and development tasks such as dependency management, packing all the components into an EAR, compiling our SCSS down into CSS, auto-prefixing CSS with vendor specific prefixes, adding new script files to the home HTML page, and automatically rebuilding and deploying the EAR when front-end files are modified.