GSoC - Project Creation Guidelines

GSoC Project Types

Types of projects to consider for this year's’s Google Summer of Code:

  1. Module development / Core development (Java, REST)

  2. O3 Modules (React)

  3. Mobile development (Android, iOS)

  4. Machine Learning initiatives (Python, R, Tensorflow)

  5. OpenMRS Infrastructure and Community Support (Node)

A great GSoC project has these attributes:

  • Someone who wants it done. Whether it’s a module, a new feature in the platform, or an improvement to our infrastructure, having a product owner or implementation eager to use the use the project’s output helps with focus and prioritization.

  • Clear deliverable(s) that can be reasonably completed in 2 months.  While students get about 3 months to work, we’ve learned to err on finishing early. Why? Projects producing a minimal viable product by or shortly after mid-term are guaranteed to succeed and be useful, while projects that get 99.9% done by summer’s end frequently fail to get completed or used. It is far better to get an initial deliverable completed and deployed and spend the final weeks refining, documenting, and improving.

  • A great project description. We want to attract the best students both to join our community and to make the summer worth your while. Projects with descriptions that are fun to read and easy to understand always get the majority of applications.

Project Creation Guidelines

  1. Browse to unassigned projects  on the wiki or prepare your own idea for the project.

  2. If there is already a wiki page for your project or very similar project, update that page instead of creating a duplicate. If you need to create a new project page, please choose the “Project Page” template (* - Mandatory fields).

    • Project name*: Foo Bar Project← by convention, end your page title with " Project"

    • Primary mentor*: Your OpenMRS ID / TBD

    • Backup mentor*: TBD

    • Assigned to*: TBD

    • Abstract*: 4-5 paragraph(s) describing the background, purpose, and motivation of the project. Make it exciting! The more interesting your project sounds, the better the applicants you will get.

    • Sample use cases*: Provide 2 - 5 sample use cases that need to be developed. It should be simple and could able to understood by a person who doesn’t have any experience with OpenMRS.

    • First Task: If you have any simple task(which can be completed within 3 - 5 days) related to your project, mention that here. It can be a JIRA issue or any PoC. You can use to evaluate the capability of the student for that project (Optional - But good to have)

    • Project champions: name one or more product owners (who will use the output?)

    • Required Skills*: list the skills required to apply (e.g., Java, React, Angular, REST, HTML/CSS, basic SQL, etc.)

    • Objectives*: A short list of what should be accomplished during the summer

    • Extra credit: list any nice-to-have features or approaches

    • Dev Tracks* : Include GitHub URL and JIRA URL of the project

    • Resources*: include links to any wiki pages, Talk discussions, websites with related/helpful info

  3. Add page label: gsoc2024

New Project Ideas

If you have any new ideas that are supposed to be initiated through GSo, please go ahead and arrange a Design forum for it (You can contact any of the OpenMRS community leaders/Devs) - Better to prepare documentation about your ideas, requirements, and needs before moving to Design forum (https://talk.openmrs.org/t/gsoc-2024-project-brainstorming/41421 ).

How we can help:

  • We’ll write it for you! Got an idea but no time to write it up? Let us know. We can schedule a call to talk about the project and build a project page for you.

  • No time to own it? Let us know. We’ll help find someone to make it happen.

  • Short on ideas but eager to help? Let us know. We’ll work to find ways for you to help.

GSoC Past Projects