Application Development using Flutter Framework

Ishan Gual
5 min readApr 17, 2021

--

Internships play a crucial role in the overall learning experience of a student. Internships help students gain practical industry-level experience and develop technical as well as personal skills that are essential for working with an organization.

2020 has been a challenging year for people all across the globe. Movement restrictions and county-level lockdowns have become the new normal amidst the COVID-19 pandemic. Being stuck at home, I spent my time working as a Flutter Developer Intern at Northstar Innovations Llp.

About Northstar Innovations LLP

Northstar Innovations Llp is a Limited Liability Partnership firm incorporated on 21 June 2020. It is registered at the Registrar of Companies, Mumbai. It suggests the brightest solutions for all the technology needs. Working across a vast domain of technologies and providing the best customer services which make it one of the most sought-after choices out there.

Learning Experience at Northstar Innovations

My internship at Northstar Innovations started on 18th January 2021. The initial phase of the internship involved a brief induction period in which the mentors explained the culture of the organization and also conveyed their expectations from the interns. After the induction period, we’re asked to get familiar we the tech stack and the codebase on which we were going to work.

During the first month of internship, I learned about the Flutter Framework and Dart programming language. I created mini-projects to get a hands-on experience and a better understanding of the flutter concepts. In the later months, I mainly worked on bugs and improvements in the application and improving the user experience of the application.

Northstar Innovations turned out to be a wonderful place to work. The best part about working at Northstar Innovations was the flexibility and independence they offered. Our mentors were very friendly, supportive, and accommodating throughout the course of the internship. My overall experience was very positive with the organization and it was a joy working for them.

About Internship Project

I worked on the Flutter Application. Basically, in our day-to-day life, we have made ourselves too busy and this reflects on our mental and physical health. Many people around the world want to enjoy fun activities but are not able to do so due to the unavailability of time and a group of friends with the same interests. This application will help users to connect and plan activities of similar interests.

The application will recommend nearby fun activities to the users. They will also be able to create events for different activities such as cycling, trekking, painting, gymming, playing sports, etc. to which other users can apply and join them. Activity participants will be able to connect and chat among them to share their experiences on the application. The application is still in the development phase and will launch soon.

Implementation of Flutter Framework

The entire UI design concept in Flutter revolves around widgets that are instantly deployed in two styles that follow design guidelines for Android and iOS. There are two basic types of widgets: stateless and stateful widgets. When a page is static and has information that doesn’t change, make it a stateless widget. When something needs to be changed on a page, make it a stateful widget. These are the following steps followed in creating a flutter application –

1) Set up the Flutter Environment.

2) Create a starter Flutter App.

3) Write the application code using the Dart programming language.

4) Launch Dart DevTools to debug the application.

5) Run and test the app using an android or ios Emulator or mobile phone.

Flutter Application Architecture

Application Development and Technology Stack

By working on this application, I learned how to do Flutter Development with Dart as the primary language. The Flutter application has many features for users such as scheduling an activity, group chat and call with participants, social media wall, and many other features.

I implemented and improved many features of the app as a part of this internship including user authentication and authorization, creating activity and its execution, solving major and minor bugs in different sections of the application. I worked with the firebase to implement the database and storage features inside the application.

The Flutter app uses the following tech stack — Flutter, Dart, Firebase, Laravel, Php, and MongoDB. Laravel for backend API and MongoDB for the database. Firebase is used to implement authentication of users and sending notifications using firebase cloud functions. The primary language used in the development is dart which is used to build Flutter application. For version control, we used GitLab.

My Takeaway from the Internship

This internship helped me gain a lot of skills in app development, and working at a startup also gave me the opportunity to explore and learn a lot of non-tech skills as well. I also learned how to work with web and mobile development technologies. Testing edge cases, identifying bugs, and removing possible breakpoints in applications are also some of the areas I worked on during my time at the internship. This internship has given me the opportunity to showcase the skills that I acquired during my Computer Science program and I will continue to learn new things every day. Our platform will soon be rolled out to the users and we are hoping to make an impact in the Social Wellbeing space.

I would like to thank everyone at Northstar Innovations for their support. I would also like to thank Aliasgar Haji (CEO, Northstar Innovations), for giving me this internship opportunity and my mentors Priyam Shah and Hussain Lokhandwala for guiding me throughout my internship.

--

--