Fan ID & Centralized Identity System
Table of Contents
Project Overview
Building a centralized identity system (Fan ID) for the football ecosystem that integrates user registration processes, third-party ticket purchase validation, and stadium access management (Access Control).
Project Duration: November 2024 - January 2025
Tech Stack: Flutter, Dart Programming Language, Android, Mobx
Role: Mobile Developer
User Interface Application
1.Register (Login, Register Step 1, Register Step 2)
| 1 | 2 | 3 | 4 |
|---|---|---|---|
![]() | ![]() | ![]() | ![]() |
2.Home Page
| 1 | 2 | 3 |
|---|---|---|
![]() | ![]() | ![]() |
My Contribution
As the Mobile Developer for this project, I was responsible for building the application, focusing on:
-
Developing a Fan ID application, you can register on the platform and when you successfully register you will get a special ID that can be used for ticket purchasing or stadium entry purposes.
-
Setting up a mobile CI CD pipeline using Codemagic manual .yaml files to have more flexibility in customization, this pipeline is ready for development, up to production and each phase has its own version flag
-
The following are the application features: Register, Login, Profile, Home, OTP
-
OTP is sent to email and the link is connected to the deeplink that has been agreed upon by the BE team and the mobile team.
-
Ensure that users complete the form to completion. If you stop in the middle, the data will still be saved as the last user at which step, thus maintaining user comfort, considering that the registration steps are quite long.
-
The application architecture uses MVVM and libraries using mobx, dio, get It as dependency injection.
Application Limitations
-
for access control management to enter the stadium is in another project but the system is integrated
-
The ticket purchasing system is handled by another third party, but this system is integrated and is open API.
Technical Implementation
The app was built using the MVVM (Model-View-ViewModel) architecture to ensure a clean separation between business logic and the UI.
-
MobX: Utilized as the state management solution to handle data reactivity efficiently.
-
Dio: Used as the HTTP client for robust API communication.
-
Get_It: Implemented for dependency injection to manage instances across the application seamlessly.
Feature Application
-
Multi-step Registration: Strict input validation across Step 1 and Step 2 of the onboarding process.
-
Face Registration: Integrated camera modules for capturing as a security requirement for the Fan ID.
-
Fan ID Generation: Upon successful registration, users receive a unique ID integrated with the broader ticketing ecosystem.
-
Email OTP with Deeplinking: A secure OTP system integrated with deeplinks to streamline the account activation process.
Conclusion
The Fan ID project successfully bridged the gap between a supporter’s digital identity and on-ground operational needs. By leveraging Flutter and a solid state management architecture, the application handles complex registration flows while maintaining a seamless user experience.






