GSoC: Migrate the Database and Integrate ODK-X Push Notifications into ODK-X Tool Suite
The ODK-X Push Notifications project consists of two applications currently code-named "Skunkworks Parrot" and "Skunkworks Bat" that were originally written during Google Summer of Code 2018. Their purpose is to support sending short messages from a desktop computer out to all phones running the ODK-X apps. They let administrators send instructions to field workers without using a third-party application or SMS. This is especially important for bigger organizations that might have a large and changing group of workers where the logistics of SMS might be difficult. You would be working directly with these organizations to ensure that these tools provide real value and are suitable for use in the field.
“Parrot” is the desktop application, written in Java, that provides a user interface for writing messages, creating user groups to receive them, and sending those messages via the Firebase Cloud Messaging. “Bat” is the Android application that receives these messages via Firebase, checks the user credentials to see if the user is in the group that should receive this message, and displays the message to the user.
In this project, you would be more closely integrating these tools into the ODK-X tool suite and making them easier to manage. This would involve:
- Migrating the database from Firebase to ODK-X Sync Endpoint and ODK-X Services
- Improving the user experience for configuring the app with Firebase.
- Fixing existing bugs and improving the user experience.
- Creating documentation for using the tools
We are planning to use QR code for configuring the app with Firebase for now, but we are open to other ideas. You are free to suggest any other improvements, which we can discuss in Slack.
Note that this project is part of the ODK-X Tool Suite. This project is not compatible with ODK Collect; it is compatible with ODK-X Services, ODK-X Tables, ODK-X Survey, and the rest of the ODK-X tool suite. You can read more about both suites here: https://opendatakit.org/software/