Introduction
During the Google Summer of Code 2021, I will be working on laying the groundwork for the platform independent enviroCar app using Dart and Flutter SDK by Google. We have made the choice based on the fact that Flutter enables the writing of beautiful and native performance UI components in the least amount of time. It also has an ever increasing community that is constantly improving it.
The current enviroCar app is based on Java and XML and is only available on Play Store for Android users. This limits the user base to 2/3rd of the population. The availability of the enviroCar app for the iOS platform will not only increase the user base, but will also help generate more data for citizen scientists and traffic planners to analyze and work with.
This summer, I will design and code the app’s UI. I will also work on introducing Bluetooth functionality to scan and connect with OBD-II adapters to read the onboard sensors’ data of the connected car. Along with this, I will implement a local SQLite database to store required and necessary data locally on the phone and write unit tests for various components.
Objective 1 – Designing and Coding the UI
The very first thing I’ll focus on is the UI designing and coding to include the most important app screens, like the Log In, Sign Up, Dashboard, Tracks, Settings and Profile screen. In comparison to the Android enviroCar app, I will improve this app’s UI with the introduction of a separate settings button on the bottom navigation bar and a newly designed widget to show users their stats.
Objective 2 – Bluetooth Functionality
The second objective is to implement the Bluetooth functionality of discovering and connecting with OBD-II adapters. This is the heart of the app and will be developed in the first phase. I will make improvements throughout the summer. Flutter has many packages to implement the Bluetooth functionality, but we have narrowed it down to flutter_blue and flutter_reactive_ble. We will test both packages and use the best one.
Objective 3 – SQLite and Unit Testing
The final objective is to implement a local SQLite database to store local tracks, cars and other necessary data locally and write unit tests for various app components. In addition, I will carry out minor UI improvements based on discussions with mentors and the enviroCar community. This will give the app a good and strong foundation.
About me
I am D Ajay Kumar, a sophomore at Punjab Engineering College, India. I absolutely love working in teams and making cross-platform mobile applications. Apart from coding and making apps, I read, write and exercise in my leisure time and am always ready to try and learn something new. This will be my first GSoC and I will be working under the guidance and mentorship of Mr. Benjamin Pross, Mr. Sebastian Drost and Mr. Arvind Negi. You can find me here – LinkedIn
Leave a Reply