Internship project: ODK 2 Services - Push notifications

Hi @Jeff_Beorse

I am interested in contributing to Open Data Kit under GSoC in this project.

I am familiar with Java and Android development as well as do have experience in using Firebase and I am interested in the project ODK 2 Services - Push Notifications. I have been following up on Slack and would love to work on some of the ongoing issues.

@Jeff_Beorse what i m thinking that instead of having a standalone java application for push notification we can integerate it with existing web server which feels more intuitive, like serverurl/messages will redirect user to notification interface. What do u think about this?

Hi @garglakshya18. Glad to hear it. This issue might be a good start: refactor: Replace anonymous classes with lambda expressions in Services · Issue #1389 · getodk/getodk · GitHub Let us know on Slack how it goes and please ask questions if you have trouble.

@SatyamBansal The reason I chose a desktop application was only to keep things simpler for the applicants. I guessed it would be easier to get a basic desktop application running than a web server, but this may be my own bias. Long term the plan is to use the work produced by this internship project and integrate this functionality with other ODK desktop applications and, yes, include it in the cloud as well. So, in the end we want both the server and the desktop to support pushing notifications, but I do not feel strongly about which is implemented first. If you (or anyone else) would like to propose a project where you implement a web server instead of a desktop application I encourage you to do so.

We have four repositories that host our Sync Endpoints:

Since we use a Docker Swarm architecture I would imagine your Firebase server would be its own microservice. My recommendation would be for your proposal to get a standalone push notification server working first, and then we can think about integrating it after that works (which is the same approach we have on the Desktop side).

If you do plan to propose a server based solution, I would recommend providing some documentation of your experience building web services. Unfortunately our Sync Endpoints are so new that I don’t think we have any documented issues yet. Maybe @linl33 or @W_Brunette are aware of something. I would encourage you to continue this discussion on the Slack #odk2-server-code channel.

EDIT: Actually I see you are already finding issues and submitting solutions. This is great! Thanks for your work so far!

@Jeff_Beorse I’ve completed my draft proposal. I request all community members to please give your suggestions.
https://docs.google.com/document/d/1I7VCN70CUg1FohncnGh64xAJ7QbykFbPKC_C2FMoVJY/edit?usp=sharing

Hi @dexter21. Thanks for posting this! I’ll start taking a look, but please also post it to the #odk2-misc channel on Slack. There we can start a thread and dig into some discussion.

Hi All,

I wanted to point you to a discussion on Slack we are having to clarify the core workflow that we see this proposal taking: Slack

I would really love to work for this project with knowledge on android and firebase ,as i previously worked on them in making an app.

Hi @Nihitha_Nina.

To try out this project, the first thing to do is look through the documentation here: ODK-X documentation — ODK-X Docs and try out the tutorials. You could also try out the community posted tutorials here: Community contributions to upcoming ODK 2.0 documentation refresh - #2 by elmps2018

After you can run the tools locally and have a decent understanding of how they work, you can clone the source code from github here:

After that you can grab an issue from the tracker and try it out: Issues · getodk/getodk · GitHub

Please note that the deadline for this project is approaching. We would like to see you work on an issue and contribute some code in addition to writing your proposal.

Hello and Namaste Everyone !

I am Shivesh . I am greatly interested in ODK 2 Services Open Source Project and would like to collaborate in the development of the project. I have quite an experience (4 Projects with FCM) with Google FCM both using Firebase Cloud Funtions triggering as well as PHP and equally developing Android apps for reception of these push notifications using Background services and Broadcast Receivers . Before starting making contributions to the repository , I would like to know about short goals/features i can work on before submitting my proposal for Internship .

Hi @Jeff_Beorse . I have just seen this project. I know I’m too late. I have worked on two previous projects using FCM and Push Notification and I can build the project. Can you explain what I should do in these two days to work on this project.

hi @Jeff_Beorse .I am keen in developing android applications.I recently developed application for my college fest in which i included FCM and push notification.Shall i post glimpse of my work?

If want to get any questions answered via a conference call about project before your submission feel free to join the ODK 2 Developer Call.