Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Publish extensions as a library on maven central #39

Open
13 tasks
karntrehan opened this issue Mar 21, 2023 · 6 comments
Open
13 tasks

Publish extensions as a library on maven central #39

karntrehan opened this issue Mar 21, 2023 · 6 comments
Assignees
Labels

Comments

@karntrehan
Copy link

karntrehan commented Mar 21, 2023

Project Details

ODK Collect is an open source Android app that replaces paper forms used in survey-based data gathering. It supports a wide range of question and answer types, and is designed to work well without network connectivity.

ODK Collect Extension is a suite of tools built on top of ODK Collect that enable developers to seamlessly integrate ODK Collect into their own Android applications. With this module, developers can take advantage of all the powerful features of ODK Collect, while also customizing the app's functionality to meet their specific needs.

We at Samagra have been leveraging ODK to create forms and collect information in various mobile applications since the last few years. Our apps with ODK integrations have allowed thousands of teachers to undertake spot assessments of their students, helped regulators rate and monitor medical institute effectiveness & assist farmers secure a better income for their produce amongst other high impact social initiatives.

Features to be implemented

Expose Extensions as a library on maven central

By exposing Extensions as a library would enable developers to seamlessly integrate ODK Collect into their own Android applications as a single gradle dependency. With this module, developers can take advantage of all the powerful features of ODK Collect, while also customizing the app's functionality to meet their specific needs.

Upload to Maven central as soon as code is merged in main branch

Creating github action to upload the library as soon as code is merged to main would allow us to seamlessly update the version of the app without needed to do a lot of leg work.

What exists

  1. ODK Collect is wrapped by an extension module and exists in the odk/collect directory.
  2. Basic library uploading code exists.
  3. Basic github action integration also exists.

What needs to be build

  • Create fat aar of the library to upload to maven
  • Create github action to create version and upload to maven central

Learning Path

Complexity

Medium

Skills Required

Java, Kotlin, Gradle & Yaml scripting.

Name of Mentors:

@charanpreet-samagra

Project size

8 Weeks

Product Set Up

As any other Android app. Use the sample app.

Acceptance Criteria

  • Extension is uploaded to mavenCentral() and integratable as single library in existing Android apps.
  • Every merge to main branch uploads a new version of the library to mavenCentral.

Out of Scope

  1. Optimising code of the extensions

Milestones

  • Understanding the requirements
  • Understanding ODK Collect
  • Understanding Extensions
  • Setting up the app
  • Making Extensions a Fat AAR
  • Integrating Fat Extensions into sample
  • Uploading Fat Extensions on mavenCentral
  • Integrate Fat Extension into an existing Android app
  • Create Github action to automate release on merge to main
@Tejas-67
Copy link

Hello sir, i would like to contribute to this project!

@Kus-hal
Copy link

Kus-hal commented May 24, 2023

Hello sir, I am really interested to be an contributor for this Project. How can I connect with you.?

@chinmoy12c
Copy link
Member

Hey, @Tejas-67 @Kus-hal we can connect over mail. Here is my mail id: chinmoy12c@gmail.com

@Yash-2728
Copy link

Hello sir , I am really interested to be a contributor for this project. How can I connect with you?

@saiguptha2003
Copy link

Sir iam interested to contribute to this project because of this project my skills may develop.

@shreeja5060
Copy link

When developers use Maven as their build tool, they can easily declare dependencies on your extensions by specifying the coordinates.I really want to work on this in order to develop my skills

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

7 participants