# Google Code-In Application Updates

**URL:** <https://talk.openmrs.org/t/google-code-in-application-updates/13863>\
**Category:** Community\
**Tags:** gci2017\
**Created:** [October 25, 2017, 8:36am UTC](https://talk.openmrs.org/t/google-code-in-application-updates/13863 "2017-10-25T08:36:38Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![ivange94](https://talk.openmrs.org/user_avatar/talk.openmrs.org/ivange94/32/12590_2.png) [@ivange94](https://talk.openmrs.org/u/ivange94)\
**Post date:** [October 25, 2017, 8:36am UTC](https://talk.openmrs.org/t/google-code-in-application-updates/13863/1 "2017-10-25T08:36:39Z")

</div>

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 [https://goo.gl/forms/AHtqYb9N5UrREd7K2](https://goo.gl/forms/AHtqYb9N5UrREd7K2)

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 [http://om.rs/gcisampletasks](http://om.rs/gcisampletasks).

The following tasks need more information cc @shivtej @ssmusoke

- [AC-409: Include requirements for OpenMRS Android Client](https://issues.openmrs.org/browse/AC-409)
- [AC-411: Explain login process (include screenshots)](https://issues.openmrs.org/browse/AC-411)
- [AC-416: Working offline feature](https://issues.openmrs.org/browse/AC-416)
- [AC-418: Settings](https://issues.openmrs.org/browse/AC-418)
- [DINT-74: Improve the workflow for running a single rule](https://issues.openmrs.org/browse/DINT-74)

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

- [Migrate/modify the OpenMR developers manual into gitbooks](https://issues.openmrs.org/browse/GCI-145)

- [Migrate/modify the OpenMR implementers manual into gitbooks](https://issues.openmrs.org/browse/GCI-146)

- [Create REST API documentation in GitBook](https://issues.openmrs.org/browse/GCI-162)

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

---

<div class="post-metadata">

**Author:** ![ssmusoke](https://talk.openmrs.org/user_avatar/talk.openmrs.org/ssmusoke/32/8020_2.png) [@ssmusoke](https://talk.openmrs.org/u/ssmusoke)\
**Post date:** [October 25, 2017, 11:15am UTC](https://talk.openmrs.org/t/google-code-in-application-updates/13863/2 "2017-10-25T11:15:34Z")

</div>

@ivange94 @shivtej I have removed [https://issues.openmrs.org/browse/DINT-74](https://issues.openmrs.org/browse/DINT-74) as its too much for this level

---

<div class="post-metadata">

**Author:** ![burke](https://talk.openmrs.org/user_avatar/talk.openmrs.org/burke/32/17_2.png) [@burke](https://talk.openmrs.org/u/burke)\
**Post date:** [October 25, 2017, 3:06pm UTC](https://talk.openmrs.org/t/google-code-in-application-updates/13863/3 "2017-10-25T15:06:26Z")

</div>

> [@ivange94](#):
>
> Do we still need the following done? cc @burke
> 
> [Migrate/modify the OpenMR developers manual into gitbooks (GCI-145)](https://issues.openmrs.org/browse/GCI-145)
> 
> [Migrate/modify the OpenMR implementers manual into gitbooks (GCI-146)](https://issues.openmrs.org/browse/GCI-146)
> 
> [Create REST API documentation in GitBook (GCI-162)](https://issues.openmrs.org/browse/GCI-162)

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

We definitely do not need [GCI-145](https://issues.openmrs.org/browse/GCI-145) or [GCI-146](https://issues.openmrs.org/browse/GCI-146), since these were done by students in GCI 2016 and resulted in our [OpenMRS Implementers Guide](http://om.rs/guide) and [OpenMRS Developer Manual](http://om.rs/devmanual), both of which are in [GitBook](https://www.gitbook.com/) 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 [rest.openmrs.org](http://rest.openmrs.org) 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](https://developer.github.com/v3/) than [this](http://devdocs.magento.com/swagger/)).

---

<div class="post-metadata">

**Author:** ![shivtej](https://talk.openmrs.org/user_avatar/talk.openmrs.org/shivtej/32/4909_2.png) [@shivtej](https://talk.openmrs.org/u/shivtej)\
**Post date:** [October 25, 2017, 3:10pm UTC](https://talk.openmrs.org/t/google-code-in-application-updates/13863/4 "2017-10-25T15:10:17Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![bholagabbar](https://talk.openmrs.org/user_avatar/talk.openmrs.org/bholagabbar/32/6079_2.png) [@bholagabbar](https://talk.openmrs.org/u/bholagabbar)\
**Post date:** [October 25, 2017, 7:34pm UTC](https://talk.openmrs.org/t/google-code-in-application-updates/13863/5 "2017-10-25T19:34:17Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![gayanw](https://talk.openmrs.org/letter_avatar/gayanw/32/5_5575768a8748004e209b776fc1b2916d.png) [@gayanw](https://talk.openmrs.org/u/gayanw)\
**Post date:** [October 26, 2017, 10:04am UTC](https://talk.openmrs.org/t/google-code-in-application-updates/13863/6 "2017-10-26T10:04:13Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![ivange94](https://talk.openmrs.org/user_avatar/talk.openmrs.org/ivange94/32/12590_2.png) [@ivange94](https://talk.openmrs.org/u/ivange94)\
**Post date:** [October 26, 2017, 6:30pm UTC](https://talk.openmrs.org/t/google-code-in-application-updates/13863/7 "2017-10-26T18:30:11Z")

</div>

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**.

---

<div class="post-metadata">

**Author:** ![ivange94](https://talk.openmrs.org/user_avatar/talk.openmrs.org/ivange94/32/12590_2.png) [@ivange94](https://talk.openmrs.org/u/ivange94)\
**Post date:** [October 26, 2017, 6:32pm UTC](https://talk.openmrs.org/t/google-code-in-application-updates/13863/8 "2017-10-26T18:32:32Z")

</div>

@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.

---

<div class="post-metadata">

**Author:** ![bholagabbar](https://talk.openmrs.org/user_avatar/talk.openmrs.org/bholagabbar/32/6079_2.png) [@bholagabbar](https://talk.openmrs.org/u/bholagabbar)\
**Post date:** [October 26, 2017, 8:15pm UTC](https://talk.openmrs.org/t/google-code-in-application-updates/13863/9 "2017-10-26T20:15:17Z")

</div>

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 [http://om.rs/gcisampletasks](http://om.rs/gcisampletasks)

---

<div class="post-metadata">

**Author:** ![dkayiwa](https://talk.openmrs.org/user_avatar/talk.openmrs.org/dkayiwa/32/179_2.png) [@dkayiwa](https://talk.openmrs.org/u/dkayiwa)\
**Post date:** [October 26, 2017, 8:18pm UTC](https://talk.openmrs.org/t/google-code-in-application-updates/13863/10 "2017-10-26T20:18:04Z")

</div>

@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? [https://issues.openmrs.org/browse/GCI-172](https://issues.openmrs.org/browse/GCI-172)

Another example: [https://issues.openmrs.org/browse/GCI-173](https://issues.openmrs.org/browse/GCI-173)

---

<div class="post-metadata">

**Author:** ![ivange94](https://talk.openmrs.org/user_avatar/talk.openmrs.org/ivange94/32/12590_2.png) [@ivange94](https://talk.openmrs.org/u/ivange94)\
**Post date:** [October 26, 2017, 8:47pm UTC](https://talk.openmrs.org/t/google-code-in-application-updates/13863/11 "2017-10-26T20:47:19Z")

</div>

> [@dkayiwa](#):
>
> @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? [[GCI-172] - OpenMRS Issues](https://issues.openmrs.org/browse/GCI-172)
> 
> Another example: [[GCI-173] - OpenMRS Issues](https://issues.openmrs.org/browse/GCI-173)

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.

---

<div class="post-metadata">

**Author:** ![ivange94](https://talk.openmrs.org/user_avatar/talk.openmrs.org/ivange94/32/12590_2.png) [@ivange94](https://talk.openmrs.org/u/ivange94)\
**Post date:** [November 17, 2017, 11:52am UTC](https://talk.openmrs.org/t/google-code-in-application-updates/13863/12 "2017-11-17T11:52:06Z")

</div>

> [@ivange94](#):
>
> 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.

@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.

---

<div class="post-metadata">

**Author:** ![ivange94](https://talk.openmrs.org/user_avatar/talk.openmrs.org/ivange94/32/12590_2.png) [@ivange94](https://talk.openmrs.org/u/ivange94)\
**Post date:** [November 17, 2017, 11:53am UTC](https://talk.openmrs.org/t/google-code-in-application-updates/13863/13 "2017-11-17T11:53:29Z")

</div>

@shivtej Can you do something about this? 🙂

> [@ivange94](#):
>
> 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.

And this too 🙂

> [@ivange94](#):
>
> 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.

---

<div class="post-metadata">

**Author:** ![shivtej](https://talk.openmrs.org/user_avatar/talk.openmrs.org/shivtej/32/4909_2.png) [@shivtej](https://talk.openmrs.org/u/shivtej)\
**Post date:** [November 17, 2017, 3:08pm UTC](https://talk.openmrs.org/t/google-code-in-application-updates/13863/14 "2017-11-17T15:08:17Z")

</div>

@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.

---

<div class="post-metadata">

**Author:** ![ivange94](https://talk.openmrs.org/user_avatar/talk.openmrs.org/ivange94/32/12590_2.png) [@ivange94](https://talk.openmrs.org/u/ivange94)\
**Post date:** [November 17, 2017, 3:33pm UTC](https://talk.openmrs.org/t/google-code-in-application-updates/13863/15 "2017-11-17T15:33:31Z")

</div>

> [@shivtej](#):
>
> 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.

---

<div class="post-metadata">

**Author:** ![dkayiwa](https://talk.openmrs.org/user_avatar/talk.openmrs.org/dkayiwa/32/179_2.png) [@dkayiwa](https://talk.openmrs.org/u/dkayiwa)\
**Post date:** [November 20, 2017, 2:55pm UTC](https://talk.openmrs.org/t/google-code-in-application-updates/13863/16 "2017-11-20T14:55:40Z")

</div>

@ivange94 what labels should i put for such tasks?

---

<div class="post-metadata">

**Author:** ![ivange94](https://talk.openmrs.org/user_avatar/talk.openmrs.org/ivange94/32/12590_2.png) [@ivange94](https://talk.openmrs.org/u/ivange94)\
**Post date:** [November 20, 2017, 6:15pm UTC](https://talk.openmrs.org/t/google-code-in-application-updates/13863/17 "2017-11-20T18:15:54Z")

</div>

@dkayiwa just **coding** will do

---

<div class="post-metadata">

**Author:** ![dkayiwa](https://talk.openmrs.org/user_avatar/talk.openmrs.org/dkayiwa/32/179_2.png) [@dkayiwa](https://talk.openmrs.org/u/dkayiwa)\
**Post date:** [November 27, 2017, 5:25pm UTC](https://talk.openmrs.org/t/google-code-in-application-updates/13863/18 "2017-11-27T17:25:29Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![ivange94](https://talk.openmrs.org/user_avatar/talk.openmrs.org/ivange94/32/12590_2.png) [@ivange94](https://talk.openmrs.org/u/ivange94)\
**Post date:** [November 27, 2017, 5:44pm UTC](https://talk.openmrs.org/t/google-code-in-application-updates/13863/19 "2017-11-27T17:44:40Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![dkayiwa](https://talk.openmrs.org/user_avatar/talk.openmrs.org/dkayiwa/32/179_2.png) [@dkayiwa](https://talk.openmrs.org/u/dkayiwa)\
**Post date:** [November 28, 2017, 10:31am UTC](https://talk.openmrs.org/t/google-code-in-application-updates/13863/20 "2017-11-28T10:31:14Z")

</div>

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

[Next page](https://talk.openmrs.org/t/google-code-in-application-updates/13863.md?page=2)
