How I started my journey with Flutter.
By: Astha Nayak
Tags: Freshers, Flutter, Hackathons, App Development

I got into college with an utterly confused brain without an aim, just like most of the freshers do. I didn’t have any knowledge about the beauty of the enormous field of Computer Science. Somehow I knew that my sphere of interest lies in that area, but still the specific choice of the pathway was far from being made.

A Quick Intro

I am a Computer Science Undergrad at National Institute of Technology, Rourkela. Our institute has a great initiative named Institute Counselling Services (ICS), which deals with various important aspects of a student’s life. It addresses Academic, Financial, Mental and Socio-cultural issues, ensuring a seamless transition from home to hostel life for the fresher and making life at NITR enjoyable.

My First Inspiration

Day 1, we had the orientations conducted by ICS about the “do’s and don’ts” of the college, to help us overcome our immediate problems and also to equip us to meet with future problems. They introduced us to the ICS App that would -

Help us make appointments with the psychiatrist or the counsellor

Select our timetables

Get us connected with our mentors

Get to know about academic happenings in college

It quite amazed me that students of our college had developed it. I found my interest, and it was App Development. The ICS App always had been something I looked up to in my initial days.

Everyone who loves to code wants to make something that is helpful to at least someone, and here was something that has helped entire batches of students.

Paving the way to the team of project-avocado(project codename for the ICS App) hadn’t been straight forward for me.

The project-avocado is the mobile app development codebase for the Institute Counselling Services, NIT Rourkela. You can download the app at this link . The entire source code is publicly available on GitHub at this link. In the beginning, I was into app development with Kotlin, which is specific for Native Android Apps. Searching for the solution of a bug in Stack Overflow, I read the name “Flutter” for the first time. I just had to read a few articles before just falling in love with it.

Why Flutter ?

Flutter is the toolkit for cross-platform app development. It uses the Dart language, which is pretty easy to use once you know basic object-oriented programming. Flutter is different from other options for building mobile apps because Flutter uses neither a WebView nor any OEM widgets (System’s UI tools) that shipped with the device. Instead, Flutter uses its high-performance rendering engine to draw widgets that enable design and development.

Most importantly, special widgets and unique design on the platform make it capable of developing one single app to cater to a different platform To mention the most charming features of Flutter, hot reload — you can see all the changes in the code immediately with the help of a hot reload option. Changes are seen within a second, so you have an excellent chance to add features, fix bugs, and experiment. I made all the small utility apps using Flutter, and I was delighted to know the beauty of the framework.

My First Contribution

Then happened the inductions for project-avocado. Lucky me, project-avocado used Flutter for app development. I couldn’t have missed that chance in any way. I had assumed that it would be intimidating, but I was wrong. The process couldn’t have been more effortless. Now that I am a part of project-avocado, it has been an enriching journey till now, and I am sure it would just be better from now.

An important part for every student studying in NIT Rourkela is to manage classes with Attendance Policy in place. Missing even one class outside the stipulated number, gets you a grade-back. Considering the situation, we decided to add an “Attendance Tracker” to our app.

I used Shared Preferences for mapping the absentees data and Table Calendar for marking the absents date wise. The logic remains really simple and sweet with optimum use of maps as data-structure.

This would help the students to mark their missed classes so that they don’t exceed the limits. Working on this feature was my first appreciable contribution to the ICS App.

Each time there is a team discussion, I get a chance to learn a new thing. I am grateful to be a part of this team because it is more like a small milestone fulfilled for me, which I set for myself on Day 1.

Next thing up — Hackathon

Now the next challenge for me was a Hackathon. It was a tough call to take, knowing that it would be my first experience. I did a small but fun project — A ML curated excuse maker, so that you can bunk your next class smoothly. It uses GPT-2 for word predictions. I couldn’t agree more with the fact that ‘Hackathons give the best learning experience.’ At the end of the day, I learnt many things and was a bit overwhelmed with myself.

Lots of milestones to pass by as I proceed to work with Flutter but I must say it will be an exceptional ride.