- Client: Polski Związek Triathlonu
- Project Scope: Back office, web app
- Start of project: 01.03.2021
- Team members: Frontend Developer, Backend Developer, UX Designer, Project Manager
- Industry: Sport
- Technologies: ASP.NET Core, React.js
Who’s our client?
Our client is the Polish Triathlon Association. It is a Polish organisation that was founded in 1989 and organises triathlon competitions. The organisation brings together athletes, coaches and activists of the Polish triathlon.
Problems and challenges with which the customer came to us
The Polish Triathlon Association has asked us to build a new system and design a new infrastructure. At the beginning of the collaboration with us, the customer already had an IT system.
We decided to create a new system because the previous system was problematic in develop. In the new version of the system, the customer wanted to focus on better operation of business processes and ease of operation of both the mobile and the web application.
License management for athletes
Every athlete of the Polish Triathlon Association must acquire an official license. Managing licenses, payments and reminders of expiring licenses is time-consuming. In addition, every athlete should have a valid medical examination, and in the event that these tests run out, the athlete should be notified automatically.
Most of the players belong to their local clubs. Our challenge was to order licenses from the system. In addition, we had to adapt the app to make it easier for each club to manage their players' licenses, to be able to purchase licenses for their athletes, and to allow club staff to check, among other things, the validity of their players' medical examinations.
Automatic placement of players
The key module is the automatic ranking of players. The ranking module automatically determines the winners of each age group and gender, based on the data collected throughout the year from all competitions and events. The task of the module is to determine the best athlete in Poland in triathlon and a special algorithm is responsible for calculating the rankings. Since we knew that the reporting algorithm would change very often, we made sure that the code could be easily adapted to the current requirements.
Improved intuition and appearance of the user interface
For our customers, it was also important to make the app look modern and make it easier for customers and employees to do their jobs in the system.
Since the customer already had an IT system at the beginning of the collaboration with us, we first implemented a current solution in order to plan the work on the new system.
We worked with the client according to the Scrum methodology and planned the tasks for the next sprint, that is, for this project, next week. We have also joined for daily conversations to keep the customer informed about the progress.
Automatic notifications of sporting events
A feature has been implemented in the app that automatically informs users about specific sporting events. All emails to users in the app are sent with SendGrid.
More efficient loading of photos
We’ve integrated Azure Blob Storage to store photos for licenses and other files in the cloud. Thanks to integration with Azure Blob Storage, photos were loaded much faster.
Module for rankings
The app has a leaderboard module that lets you import data from spreadsheets, automatically reconcile system users, and account for each player’s rankings during the season.
Automatic adjustment of the athletes to the results
The “Customize Users” feature allows the automatic comparison of registered users with the results of the contests available in the system. For this purpose, the algorithm uses personal data (name, age, gender, etc.) and other data available in the system (license). This allows the effective entry of competition results and the calculation of the rankings of the athletes in real time.
The “Ranking Points” module and the “Main Ranking” module are actually a single ranking module. Ranking points are assigned to the players and are calculated based on the player’s results displayed on the “Main Ranking” tab. In order for ranking points to be included in the main ranking list, they must meet certain requirements (as defined in the decisions of the Polish Triathlon Federation). The main leaderboard shows the points a player has scored over the course of the season and is used to determine the final place a player has scored in a given year.
Managing the available licenses
In the Back Office Panel, employees of the Polish Triathlon Association have the opportunity to add new license types and to change the prices of the current licenses.
When you add new licenses, you can select the license type, the availability of the license to be purchased, the price, the description and the name. Depending on the license type selected, additional check boxes appear in the add-on area.
In the panel they also have the opportunity to check the orders of the sportsmen’s licenses. Employees in the order details can see if the athlete has added medical examinations, a photo of the athlete and other details to the license.
Module for group orders
Group orders allow sports club administrators to purchase player licenses for club members. The license purchase is similar to that of the users (photos and current medical examinations of the players must be submitted). The aim is to simplify the management of players by speeding up the purchase of player and coach licenses. The club administrator makes a group order and takes care of all formalities. In this case, you don’t need to upload any more documents to get the license – all documents are uploaded by your club administrator. The purchase of the licence is only possible for athletes who have been verified by the Polish Triathlon Association.
Management module for employees of the Polish Triathlon Association
In the back office, your employees can also manage users, user licenses, events, clubs, club licenses and coaches.
Employees have insight into each player’s profile, performance, email correspondence and player’s activities in the system, as well as their performance and active licenses.
The User Licenses feature allows employees to review medical examinations and photos uploaded by athletes. You can edit the data and check the generated license preview. When uploading exam photos and adding a personal photo of the athlete, a quick image editing window appears, where the employee can, for example, crop the uploaded photo.
Event management is also possible via the back office. Employees can change the visibility of events, add new contests to specific events, and review results.
In the Club Edition, employees have the opportunity to check the club details, the club licenses, the membership list and In the club details we have the option to send an invitation to a specific player. After completing their data, the player will receive an e-mail to accept the invitation.
We have also implemented a module for document management. Here you can store all important documents under certain categories. This can be a variety of resolutions, communications, training materials or presentations. Documents can have public or private status. Then public material is accessible to everyone and private material only to certain users.
User activity module
In the User Activity Module, PZTri employees can track changes to the system, such as changes to licenses and user data, editing roles, reset passwords, updating license data, etc. This module allows employees to track all changes made by clubs and athletes. All events can be filtered by activity type, date of occurrence and via the search function.
The implemented system runs on the production server. We have improved the most important processes in the Polish Triathlon Association. We have automated the purchase and update of licenses, which saves time and improves the work of PZTri employees. In addition, we have introduced a module that automatically enters the results of the competitions and continuously calculates ranking points for the athletes. Currently, more than 60,000 users with more than 70,000 licenses are registered in the system. In addition, we’ve improved the design and introduced user interface enhancements that impact the app’s user experience. The user interface has become more intuitive and user-friendliness is simpler and more enjoyable. We are constantly introducing new system changes that enable the automation of subsequent business processes in the customer’s organization.