A Developer Journey of developing the app from scratch to production.

·

5 min read

Hello Om Jogani here, In this post, I am gonna share my experience of developing a mobile application from scratch to the launching to the google play store (Production).

When I was completely new to the programming world, I was a little curious about all things like how applications and giant software are developed. So, on Date 10 June 2020, I searched on the internet that how to build an app that runs on all types of mobile.

I got to know that there is a technology called flutter by which we can develop a mobile application that can run on android and IOS with the same codebase.

I tried learning flutter by watching some of the YouTube Videos but that doesn't work for me at all. I tried a lot to understand flutter that what are the widgets and how they work. but I keep going on learning flutter even though I was not able to grab topics of flutter. While learning flutter I realized that just following and copying code from YouTube Tutorials will not gonna work for me. So, I have to develop projects which upscale my skills. I tried making some projects which are school-level projects like calculators, E-Commerce UI, etc.

Finally, I created a project called Student Mentor on 28 June 2020 and started implementing basic stuff like splash screen, login, and registration UI, after that I got to know that there is a term that exists called database. I started searching on the internet about that. I got to know about Firebase. I created a new project in firebase and connect it with my project Student Mentor. I started implementing authentication functionality with firebase by following YouTube Tutorials.

Now, I wanted to develop an app that contains all the material in PDF format and video tutorials that play in the app itself. It seems pretty hard at the top view as a beginner. For these functionalities, I need something that holds my data that is supposed to display to users. I got some tutorials and medium articles which taught me how to work with JSON. I learned JSON and added some temp data to implement the features.

While working with JSON, I struggled so hard to fetch the data from the JSON file. I learned about FutureBuilder and JSON Decoder etc. which helps me work with JSON. and guess what, I was able to get data from the JSON file and able to display that data on the screen. I was motivated to work more on this application. Now the main challenge was to show PDFs and Videos on the app. I tried searching on the internet about that and I was able to find some solutions in someone's code on GitHub. I tried that code and that was producing so many errors in my application. I tried for 2 days but was not able to solve the errors and bugs, I decided to take out that copied code and tried learning about it and Finally, I succeeded in implementing PDF Viewer in my app. Similarly, I implemented a video player in my application. Now, all things were working perfectly fine.

While testing authentication functionality, I got to know about one problem that was crashing my application. I was a bit scared that I have done it quite nicely and now it is not working at all. I tried searching for the cause of that app crashing. I spend 2 whole weeks searching for that cause, trying lots of things but none of them works for me. I was losing hope to complete this project. Then My Father got me to hope for the project that keeps going on you will be able to get the solution.

I decided to implement the whole authentication again. I prepared a diagram that helps me to decide the flow of the application. I attached it below.

Student Mentor Login Algorithm.png

It took me some more time to complete developing full authentication with firebase. Now, It was working pretty well.

Now I was done with all basic implementation. Now it was time to collect all the materials and PDF Materials. Now, My App needs to use Government Material so I try to contact the government authority. And I got to know that you can use government material but the main condition was that it needs to be free for all the users. I said ok.

I tried collecting all the PDF material and started cropping the PDF one by one. It took me 15+ days to ready 1500+ PDFs material. Now, It was time for video tutorials which are more informative and attractive because that's the agenda of the application. So, I tried finding video tutorials that got the interest of the student and students can learn more from the videos. I started adding videos for all the standards from 1 to 12 Science, Commerce. It took 2.5 Months to find the best video about the specific chapter and add it. I single-handedly added 3500+ Videos.

Now, I was all ready to launch my app in the Google Play Store. but before that, I have to test my application I tested application by visiting all the videos and PDFs such whether all are working fine or not.

Finally, I prepared my app to run in production. I purchased Google Developer Account, It cost me $25 (1950 INR). I published my app to Google Play Store. It took 5 Days to get approved from Google Play Store.

After 5 Days, My app was finally live on Google Play Store, It took 6+ months to reach production and that taught me so many things...

Here is the app: Student Mentor Official

Thank you for reading the story, let me know your reactions or any suggestions.

-- Om Jogani