GSoC'20: Migrate the Database and Integrate ODK-X Push Notifications into ODK-X Tool Suite

Hi everyone,
I am pleased to inform you that, my proposal got selected for GSoC’20. I will be working on a project “Migrate the Database and Integrate ODK-X Push Notifications into ODK-X Tool Suite” during this GSoC period.

I will be using this topic to post updates on my project.

I will like to thank the entire Open Data Kit community, especially my mentors @Jeff_Beorse, @harsh615, and @dexter21 who helped me throughout the process.

I am really excited to work with the ODK community!! :smiley:


Welcome @Vyankatesh.

Thank you for taking on the database migration! If you get stuck and the mentors cannot help feel free to reach out.

Also please remember to document your work as we want to launch push notifications as part of full release and not an alpha. However, for us to do that we need documentation so that users know how to use it. Hopefully @harsh615 and @dexter21 can help with the documentation since they have experience.

Welcome to ODK-X and thanks for all your efforts!!

:sparkling_heart: :sparkles: :tada: :confetti_ball: :fireworks: :sparkler:


Hi @Vyankatesh,

Congratulations! It’s very exciting to see this progressing.

I don’t have a technical background, but if I can help with any part of the project, like documentation, let me know.

And it would be good to add the latest proposal to this thread to have as a reference – is this the correct link? GSoC-2020 Proposal


Thanks @bengreen!

Yes. The mentioned one is the latest proposal. I will keep updating the proposal as the project proceeds (if needed) with the help of mentors @harsh615 and @dexter21.

Here you can find my weekly work report.

I will keep posting major updates related to this project under this topic.

Thanks, @W_Brunette, @bengreen, and all ODK Community for support.


After a discussion with mentors, we decided that to account for my university exams, we should move up the timeline so that the project deadlines will not get affected. So I started working on a project a week earlier than decided.

So, this week I started working on a Desktop App(Skunkworks-Parrot).

For database migration in the Desktop App, I created the ServerDatabaseCommunicator class which will be used for communication with the server database. In that, I implemented the methods for initializing the SyncClient, Creating tables in the server database, and uploading notifications and groups.

Here you can find code for the same.
Please have a look at it and suggest any changes or improvements needed.