Skip to main content

Google Code-In 2020 Wrap Up




"You do not need to be a programmer, you don’t have to know how to code at all!" is where it all started.
  
Google Code-in (GCI)
As its name suggests, is an annual programming competition hosted by Google that allows students to complete tasks specified by various open-source organizations. the organization which I chose was - OpenMRS. 

What is OpenMRS? 
OpenMRS is both a software and a community. It serves as a medical record system (EMR) which is designed for developing countries. OpenMRS follows a principle that information should be stored in a way that makes it easy to summarize and analyze. If you are interested in learning more about the OpenMRS community, you may go here and know more about it. If one would ask me to define OpenMRS in one line, it would be "we write code for humans first and then computers." as their main motto is to save lives. 

My interactions in OpenMRS
My interaction with OpenMRS has been like a beautiful journey. The two platforms where I could talk to all the mentors/participants were - Telegram and OpenMRS TALK (find it here). I found so many amazing people, who are the bests in their field of software thingy. I also met so many inspiring kids like Prathamesh, Pritish, and Ribhav. Also, some mentors were so understanding. Sandeep, Prabodh, Lana, and so many mentors were always there to attend my queries and problems, which always pushed me, that I could do a task. Coming to OpenMRS TALK, I'm so glad to know that people are getting the right platform to show their skills as well as share their knowledge with other people to help them grow as well. It felt wondrous to interact with such people. 



As a commercial art student, I decided to work on the area I was more interested in and good in. I mostly did the designing tasks and I am proud of how I pulled them off so well. Here are the tasks that I completed (of design category) -
1. Design a Certificate to congratulate the GCI 2019 winners in OpenMRS
I made it using Canva, which, what I have heard from people is easy to use but, it is not when you have to work from scratch. This was my first task for OpenMRS and I was keen to do more as the start was so interesting.

2. Design a fantastic sticker for GCI 2019
I was hyped up by my second task and was trying to get used to being patient because I got the habit of opening and checking if my task has been approved or not.
3. Design a GSoC and OpenMRS cover photo for FB or Twitter
The word 'design' got me every time. Every time I saw this word, my heart would go all joyful to do it. 

4. Poster for promoting Quality Assurance and Testing.
I have designed posters earlier but, never using applications or software. This was a new experience id say. A new experience in a good way. I unlocked areas and discovered my ability when it comes to art and design. 

5. Design a logo for the Nigeria Telemedicine App
A whole LOGO? I mean no common person would ever think he/she could ever design a logo. in fact, some of the readers might be thinking the same. But it was ACTUALLY fun.

6. Design a flowchart for a Doctor to use OpenMRS Patient Registration

7. Design a Certificate for OpenMRS Implementers Conference attendee

8. Design an Android app icon for OpenMRS

9. Design an Infographic on medical record systems

10. Design an HTML email template to congratulate GCI students
This one got me nostalgic for my computer classes when I learned HTML and I used to wonder where will I even use this knowledge, and here we go. 

11. Design a Pamphlet/leaflet for an OpenMRS Conference
My last design task it was. With a sad yet happy note, I had to say bye-bye to designing stuff for OpenMRS 

Coming to my work in the category of ‘Documentation / Training’ where I, for the first time, wrote blogs. I always wanted to write blogs because, I wanted people to read whatever I have learned and read before, or what I have experienced, but in my language and words. And at the moment, I'm happy doing so. The tasks in which I wrote some blogs are- 

12. Research about How software testing achieves software quality
My first blogging started with this task and I had to read a lot, kind of sickening but exploring a new field and learning about it was worth it. 

13. Define Microfrontends (click here to read it)

14. Blog on testing Spring Controllers
15. Document about basic concepts of Spring MVC in OpenMRS (click here to read it)

16. Research and Write a Blog About Using SpringBoot over plain Spring in OpenMRS (click here to read it

Next category I worked on was about making and uploading videos on youtube, and the tasks being-
17. A 3-minute video about Computer Ergonomics
My first video, that I posted on my youtube channel for GCI. Since I am very used to recording my song covers with my mobile and edit them, recording videos wasn't a big deal for me. but the content sure was different and challenging. 

18. A 4 minutes video about OpenMRS Talk
This was an interesting one, this was something I did for the first time. Screen recording and speaking at the same time. I used to look at youtube tutorials and wonder how people even do that, and after actually doing something like that, I was like Woah that was an easy one. 

19. A 3 minutes video on how openmrs uses agile software development methodology

20. A 5 minutes video about Scrum
Most of these videos have been made at midnight when everyone was asleep so that I could make me recording peacefully. I used to read articles and search the topics at OpenMRS TALK where people have put their views forward. Then I used to write my content and views on my laptop and narrated from there while it was being recorded. And of course, it took me so many hours to complete the video tasks, from first writing the content to recording it and compliling+editing, phew. 

You can find the public videos in the above link.

A task from the Quality assurance that I did was also to -
21. Find and report 2 bugs/issues of the OpenMRS Ref Application
this was an interesting and technical one for me, was not able to understand which way to go or follow, but I completed it and explored stuff.
(The 23rd and 24th task I did were from another organisation.)

It was more satisfying than I thought it would be when I read “task approved” every time.

From the day of 2 December 2019, till today, when I'm writing this blog about my journey of GCI, I have had dreams of it, I've had daydreams of google headquarters (too many fantasies), and whatnot. Google Code-In made me step into the computer lab of my school, for the very first time. Infact, I am sitting in my computer lab and writing this wholeheartedly. I have done things beyond my limits; I have learned things I never imagined I would ever be interested in. It has been a rollercoaster, where at times, I thought of giving up, and at times I thought I could even win GCI. I took part in GCI intending to become the Finalist, and as I write my last task, I am ending this fascinating competition with the very idea that I learned so much new and took the courage to participate in Google Code-In, where I was competing with the best students in computers/ coding. “All contestants are welcome to choose non-coding tasks that may better fit their interests/skills. Non-coding tasks include documentation, training, outreach, research, design, and quality assurance (e.g., find bugs and report them, etc.) tasks." this statement got me when I was searching about whether I should participate in google code in or not as I am a person who isn't from the coding background. I, however, presented the little coding skills I learned while attending my computer classes. I would highly recommend the person reading this (if you are between 13-17 years old) to participate in it because there are so many benefits of participating in GCI :


  1. Helps you to brush up your skills if you are already a learned person, who knows coding and computers well enough.
  2. Here, you meet new people full of knowledge and skills, and you will learn a lot from them. 
  3. It keeps on pushing you to learn more and get out of the box.
  4. Even if you are not so good at coding, it provides you so many other categories to work on and show your skills. 
  5. The not so hard yet challenging tasks will help you improve and evolve. 

In the end, I would like to conclude my experience with a delightful and satisfying note. Maybe I couldn't give my best but I'm really happy about what I have learned in these seven weeks of a rollercoaster. 

Signing Off,


Khushi Ahluwalia(kwalia)
(An enthusiast with special appreciation for Open Source)

Comments

Popular posts from this blog

BASIC CONCEPTS OF SPRING MVC IN OPENMRS

To start with, let us first know the basics and understand what is    spring model view   controller   Spring MVC   It is a Java framework which is used to build web applications. It follows the Model-View-Controller design pattern. The model here, contains the data of the application. The view represents the provided information in a particular format. The controller you can see here, contains the business logic of an application. Here, the @Controller annotation is used to mark the class as the controller. Also In Spring Web MVC, the DispatcherServlet class works as the front controller. It is responsible to manage the flow of the Spring MVC application. What is the flow of Spring Web  MVC ? Your question is answered below, As you can see, all the incoming requests are coming through the DispatcherServlet that acts as the front controller. The controller returns an object of ModelAndView. The DispatcherServlet checks the entry of view in the

Spring Controllers!

What actually spring framework is? What it is all about? Source:  https://crunchify.com/simplest-spring-mvc-hello-world-example-tutorial-spring-model-view-controller-tips/ There are a lot of things that application developers in JAVA have to tackle with. That is the reason we have frameworks. Frameworks tackle common application problems by providing structure and common patterns which makes the process of building applications, easier. So spring framework, as its name suggest, is a framework which provides patterns and structure for JAVA applications. In the process, it handles the common things the developers need to do while building a JAVA application. Spring is not just the core framework, but there are a whole lot of projects which are all part of the spring family of projects. In that sense, it is not just a framework, it is an ecosystem. 3 common problems the Spring Framework addresses- 1.         APPLICATION CONTEXT AND DEPENDENCY INJECTION W