My SoC Journey…
Hey everyone!
This is my first blog where I’ll be sharing my journey from being a complete newbie to an android developer.
Android development always fascinated me and I wanted to give it a shot. So I started reading about it wherein the way I found a wonderful opportunity to work and learn. I came across MDG SoC.
What is SoC?
Season of code, popularly known as SoC, is organized in every winter by the Mobile Development Group, IIT Roorkee for the campus students. The aim of this program is to guide them in learning Android development and working on their first app. Through this program, they also get an opportunity to be a part of the MDG family.
It consists of three phases. The first phase is the proposal submission phase which starts at the end of November where you have to propose any idea on which you want to work. By the end of November, the shortlisted proposals are announced. Then after the selection of the proposals, the coding phase starts in early December where you work to transform your idea into reality. A couple of mentors are assigned to help you out throughout the coding phase. If you manage to complete your project according to the given timeline, you are given a wildcard entry to the interviews conducted for the selection of students for being a part of MDG. The third phase is the release phase, wherein you release your project on the internet open for the public.
My idea
My idea was to digitalize campus canteens through an Android app. It basically streamlines orders to prevent chaos in the canteen by generating a token number so that first come, first serve policy can be followed. It also helps the canteen owner in keeping a check that the respective order is delivered to the right person.
Here’s the link to the proposal of my app DigiTeen: Link
This app has two sides: the owner’s side and the student’s side. Students can place orders, track the live status of their order and maintain the history of their previous orders. Similarly, the owner can receive orders and accept or reject them on the basis of the status of payment and maintain the history of the previous orders.
Currently, the app is completely functional with all the functionalities fully implemented.
Here’s the link to the project/APK: Link
My Journey
My journey began with the starting of SoC. I submitted the proposal but unfortunately, it got rejected. Yet, I started working on my app. I had a hard time, understanding the concepts and getting started with my app. Many times I felt like giving up. But I somehow continued to work for my passion and today, after being part of the beautiful MDG family, I can confidently say that those efforts were definitely worth it.
So now let’s discuss some basic technicalities of my app and how I learned them.
I did basic android courses from Udacity which helped me in building my concepts. I learned how to build a user interface and some basic implementation. I made three beginner apps along with these courses.
Links to the courses:
Links to my apps:
I read some blogs for learning the new architecture components. I learned about the MVVM (Model View View-Model) architecture pattern which basically separates the user interface logic from business logic. MVVM stands for Model View ViewModel. ViewModel interacts with the model and also prepares observable(s) that can be observed by a View so that it can update UI elements accordingly. Then I read about Jetpack which is a collection of libraries and tools released by Google. In Jetpack, I read about LiveData, ViewModel, and Navigation. I also learned about the Realtime Firebase Database for storing data and Firebase Storage for storing images.
Here are some screenshots from my app:
The journey was indeed challenging but at the same time wonderful too. I got to learn a lot from it. Now I wish to mentor the juniors in the next SoC so that I can share my knowledge and help them to turn their ideas into reality.
Thanks for reading this blog. I’ll be sharing my other experiences soon. Stay tuned!!!