Thanks to having years of experience in sports tech, we were tasked to create a B2B web communication portal along with a mobile app for clubs in different sports such as yachting, football, basketball, fitness, bodybuilding, etc.
- Registered sports clubs could promote their offers and keep their customers in the loop about their activities;
- Members could follow their favorite sports clubs and their members, discuss any issues with the club administration through group or personal chats using the in-app messenger, and leave feedback.
Thanks to our previous experience in developing sports applications, our team provided the client with a satisfying quote for this custom software.
To deliver the web version of this sports community application, our team carried out the following tasks:
Developing a Microservice-based Architecture
It was necessary for scaling the service in the future and avoiding potential bottlenecks caused by high numbers of concurrent chat participants.
We used the following technologies to get this task done: Single Sign-On (SSO); WebFlax API Gateway; User API; Notification API; Messenger API (WebSocket + REST); Structure API; FileStorage API.
Structuring User Roles
We created the structure of the user roles to include system administrators and club administrators, as well as the hierarchy of club members depending on the type of their organization (for example, managers of football or basketball teams within the same clubs). We also set up role-based access and designed personalized interfaces according to this user role structure.
Implementing a Messenger
We developed a proprietary messenger core using WebSocket and implemented a user messaging system based on it. We also applied certain architectural approaches in order to simplify the scaling of the messenger in the future, using synchronization between services.
Chats module enables users to communicate with their club management or other members.
Club admins can also create group chats either in the mobile app or through the web interface to share their news and achievements, get feedback on their work, and inform club members about any changes to upcoming events and other activities.
Native Mobile Applications Development
Our mobile app development team implemented the registration functionality, where users fill in their personal information (age, gender, address), adjust privacy settings, define their favorite teams and sports.
The mobile developers also added user validation, animations, and all the necessary fields for each screen.
One part of the team created the web version, while the other part focused on the mobile applications for iOS and Android with the messenger as the main feature.
Our team was following the Agile/Scrum method with daily meetings. The entire workflow was divided into two-week sprints.
Our team also developed a continuous integration/content delivery (CI/CD) system for automating builds. For this purpose, we used Jenkins, Docker, TestFlight, and Fabric.
The project team included:
- Tech lead;
- 2 backend Java developers;
- iOS developer;
- Android developer;
- Frontend VueJS developer;
- Project manager;
- Business Analyst;
- 2 QA engineers.
Technologies we used
Java, Kotlin, Swift
Libraries & frameworks
Spring Framework, Spring Cloud, Android SDK, Glide, iOS SDK, GoogleMaps SDK, Fabric, Crashlytics, Jenkins, JUnit, Docker, Apache
After four months of well-knit cooperation, we provided the client with a server-side solution that was completely ready for operation and scaling. We also delivered an administration panel on the client side as well as two native iOS and Android mobile applications with robust functionality that met all the original requirements.
At the moment, we are working on converting the server-side part into a ready-made SDK for the client to differentiate their commercial offering and start distributing this packaged solution to our client’s customers.