Flutter APP development

Rahul Gupta

Mobile Engineer
Flutter Developer
Flutter
Visual Studio Code
Xcode
Wipro
BT
EE
MY EE — Link
My EE app offers an intuitive dashboard to manage all EE services, including payments, E-commerce, and configuration of EE Wi-Fi devices.

Challenges

The project presented several challenges, including testing the newly rewritten Flutter communication library for the POC (Proof of Concept) app, ensuring compatibility across various devices and operating systems (Android and iOS). One significant hurdle was addressing the 'Scan to Connect' functionality on Android 10

Setting up demo app

I began by testing new communication module written in Dart with the intention of ensuring compatibility with the Flutter
I developed a demo application to evaluate the module's real-world applicability and as well as in organizing the application's architecture in a clear and organized manner using the Bloc workflow and also participated in helping other engineers to learn Flutter. During the main development phase, I crafted responsive Flutter widgets compatible with both Android and IOS, focusing on device setup and user onboarding.

Main app development

After the proof of concept was completed and well received from the management and the main application's design and development got underway. I was actively engaged in creating reusable, responsive Flutter widgets for both the Android and IOS platforms. Initially my primary responsibilities included setting up Wi-Fi devices, onboarding development users, and resolving any compatibility issues that may have arisen.

Innovative solutions

One of the compatibility issues were that The 'Scan to Connect' functionality stopped working on Android 10 due to security restrictions that prevented third-party apps from programmatically connecting to Wi-Fi networks, and since it's one of the key features of the application, I took the responsibility to find a viable solution.
During my research, I discovered that most devices offered built-in support for connecting via scanned QR codes, but this functionality was spread across different Android APIs (known as 'Intents'). To address this, I compiled a comprehensive list of APIs for major device brands and implemented them within a unified interface and singleton class. After regress testing on multiple devices, we achieved a success rate of 90% compatibility across Android devices, and also included support for previous and upcoming Android versions, so all external Wi-Fi connections can be managed from one single solution

Set and go

Later, I was reassigned to work on a different section of the application with a new team, primarily on security, device configuration, extender setup, speed testing, and Advanced web protection. Helped to expedite the development process; I implemented the flutter user interface in accordance with the new design specifications, improved the responsive layout, and given 100% priority improve the user accessibility. Additionally, I improved testing by adding unit and integration tests and helped the testing team set up Appium-based automated tests. As a result, the module had 99% more testing coverage.
PS - I learned from an ex-colleague and a friend that the demo app is still maintained for testing new features or proof of concepts before shipping them in the actual app.
Tech stack used: Flutter, Gitlab, Backend Integration
Partner With Rahul
View Services

More Projects by Rahul