Google Code-In Application Updates

The application period ended yesterday and Google will announce accepted organizations tomorrow. We currently have 14 mentors. If you are interested in mentoring and haven’t signed up yet, please sign up using this short 3 minutes form

We had over 150 tasks which where mostly from previous gci years. These tasks don’t cover all categories yet. GCI tasks can fall under one of the following categories

  • Coding (No task for this category yet)
  • Documentation / Training (Enough tasks for this category)
  • Outreach / Research (Enough tasks for now)
  • Quality Assurance (Still accepting)
  • User Interface (More tasks needed)

Here is a list of gci sample tasks for OpenMRS

The following tasks need more information cc @shivtej @ssmusoke

Please these tasks are meant for kids between the ages of 13-17. And will be mostly new members to the community. The above tasks assume familiarity with the platforms already and some don’t state clearly what is needed. When updating these tasks please do well to also denote them with one of the following tags, beginner/coding/documentation/outreach/research/QA/user-interface, this will make my life easier when adding these to the gci website. See other gci tasks for examples.

Do we still need the following done? cc @burke

Mentors if you need to create more tasks, please first visit the sample tasks. You can query tasks using one of the following labels, beginner/documentation/outreach/coding/QA/user-interface. And your priority in creating new tasks should be

  1. Coding
  2. User Interface
  3. Quality Assurance

cc @dkayiwa


@ivange94 @shivtej I have removed as its too much for this level

1 Like

tl;dr close GCI-145 & GCI-146. keep GCI-162.

We definitely do not need GCI-145 or GCI-146, since these were done by students in GCI 2016 and resulted in our OpenMRS Implementers Guide and OpenMRS Developer Manual, both of which are in GitBook format and hosted in GitHub. If we could point to specific sections of these books that are outdated, we would certainly benefit from some GCI tasks to review & update outdated parts of these manuals.

We could certainly use better REST API documentation. @pascal or @bholagabbar may have thoughts on this. Personally, I’d like to see our REST API documentation focus more on readability & usability than automation, come out from the Legacy UI (e.g., implemented as an OWA and accessible from System Administration screen) along with a version hosted at that doesn’t require authenticating or navigating through a demo app, and, more importantly, contain lots of guidance and implementation notes beyond the specific elements (i.e…, text describing the purpose of tips for when/how to use the resource). While migrating to an OWA is probably beyond a GCI task, maybe asking GCI students to create a GitBook of the API would generate some of this missing text in a desired format (markdown) that could be used to make our REST API documentation friendlier to a new user (e.g., more like this than this).


@ivange94, @ssmusoke. I’ve added more information in the above mentioned AC-tasks.

1 Like

Hmm, I feel that introducing students to the concept of an API in general is the farthest we can go as far as GCI is concerned. Having them make a request to the demo OpenMRS API inserting a patient or something of that sort seems like a good idea for a GCI task. I’m not sure if improving REST API documentation should be in our agenda for GCI. Simply having students copy paste and format documentation by picking it up from one source into another without understanding it doesn’t sound like a good idea.

As far as Swagger is concerned, things like fixing validation errors, upgrading to OAS 3.0 (dependency upgrade), and upgrading the swagger-ui will be simple enough for a GCI student.

1 Like

Nice. You added some details to your tasks. Can you please have a more descriptive title for them? Especially the one that just says Settings.

@shivtej remember when these tasks will be published on on the gci website, it won’t be so obvious which project that task is coming from. And most of the titles won’t attract students.

Also I didn’t like how had to navigate multiple links just to fully undeserved what a particular task is about. My advice is, create a base task with all the information needed to complete it. Then make the rest of your task dependent on the base task. That way students will only attempt the other tasks if they have completed the base task hence they already have all the information they need.

Very unlikely. We need to assume that students come in with very little background in Software development. A huge chunk of our winners in the past years have come in absolutely clueless and nonetheless learnt and succeeded.

They’d need to know what an API is, the know what Swagger’s purpose is, then understand what validation is and if they’ve come this far, then try fixing issues.

Nonetheless, this could come under advanced tasks. @gayanw could you created tickets for these tasks at

1 Like

@ivange94 and @bholagabbar am creating a number of coding tasks. But before i go far, can you take a look at this and tell me if i have done it as per your expectation?

Another example:


Thanks @dkayiwa. That looks great. I love how you took your time write out that much detail. It shows your objective is to get students to learn instead of just completing a task.

1 Like

@dkayiwa can we have a few non beginner coding tasks? Each student can complete a max of 2 beginner tasks after which beginner tasks will disappear from their dashboard. This means if a student has already complete 2 non coding beginner tasks they may never have the chance to work any of your coding tasks as they’ll disappear from their dashboard.

@shivtej Can you do something about this? :slight_smile:

And this too :slight_smile:

@ivange94, sorry for the delayed response. I have updated the title of the tasks and regarding base task and all, we have organized these tasks like that only.

AC-332 is parent task where all the information is written and in subtasks, specific information is written. Any student will first go to any subtask and then get more information from the parent task. And there is no actual work in the parent task so can’t use it as base task. Let me know if still we want to follow another structure.

Ok. That will do for now. I’ll go ahead and add your tasks if you haven’t done so already.

@ivange94 what labels should i put for such tasks?

@dkayiwa just coding will do

@ivange94 are we set for tomorrow? Or do you have any blockers?

1 Like

@dkayiwa yes we are set. I was supposed to give updates today in PM call but I got stuck in traffic.

Thanks @ivange94 for the update. Do we already have the 75 tasks uploaded for the initial launch?

1 Like