Internship Project: Improve the ODK-X Suitcase Application

Welcome prospective Google Summer of Code participants! Check out our DIAL Sub-Org page and our main thread. Please discuss your ideas for the Improve the ODK-X Suitcase Application project here or in the project slack channel.

ODK-X Suitcase is a cross-platform application that allows users to download and update data from an ODK-X Cloud Endpoint on a personal computer. This gives our users quick access to their data in CSVs that they can open in spreadsheet software. They have convenient granular control over their aggregated data from any laptop, in the field or back at the office. Suitcase also enables upload of configuration files to create an ODK-X Tables or ODK-X Survey application.

This year we would like to expand Suitcase’s functionality and make it more useful and usable for our users. Examples of Suitcase improvements:

  • Currently, users must know the exact name of the table they want to download. Suitcase could be expanded to query the list of tables currently available on an ODK-X Cloud Endpoint. The list of current tables should be presented to the user so they can choose an action to perform on the table (instead of having to type in the table name).
  • Add functionality to enable a user to select one or more database tables to download from the ODK-X Cloud Endpoint at once. Currently, a user downloads a table’s information one at a time.
  • Improve error handling so the error messages contained in the HTML response are propagated to the user-interface.
  • Save user credentials
  • Have a confirmation dialog before “resetting” a ODK-X Cloud Endpoint as the process erases all data.

Suitcase is written in Java with a Swing GUI. It uses the Sync Client library to communicate with the ODK REST interface. This project may include changes to both Suitcase and Sync Client. It should not require any changes to the ODK-X Cloud Endpoint server.

Github: Suitcase Project and Issue Queue
Skills: Java and Java Swing GUI
Difficulty: Easy to Medium
Mentors: @Vyankatesh, @dexter21, @W_Brunette


I don’t know if this is the correct place tó comment some improvement for Sync-Endpoint, I apologize for the inconveniences, but I profite tó explain that an util feature tó be adressed for this Server is the possibility tó have more than one aplicaron: actually, only one is possible; if more than one were possible, we’ll gain efficiency, and we’ll optimize computational ressourxes, so ODK-X will be more useful.
Also the feature is interesting to make possible have an application for testing purposes, while you have other jet tested aplicación un production

@aortegon, it is fine to suggest Suitcase UI improvements on this thread.

Sync-endpoint also has a possible internship project to improve the UI of Sync-Endpoint and add additional export functionality.

Moving away from a docker micro-service architecture is out of scope for an internship project.

Ah!! Ok @W_Brunette , I have wrong about the cirrect internsheep project, excuse-me!

Thanks for the explanation!
Althought it’s out of scope, there os not a correct place tó suggest It, ir, perhaps, is not interesting for some reason?

1 Like

Starting a new thread is a fine place to suggest it. A discussion on that belongs in either the Features or Development categories.


A post was merged into an existing topic: Hosting multiple apps on the Sync Endpoint Server

Hey, I am Harshita, and I am looking forward to contributing to this project under Outreachy. Any insights on how to get started?


Hi @Harshita_Srinivas! The Outreachy contribution period has not started yet, but you are welcome to check out the similar “Getting started” instructions for GSoc: Welcome GSoC applicants! about how to get started!

1 Like

Hi @Jeff_Beorse I had some query regarding this point .
Does this mean that the user should be allowed to select multiple tables at once to download?
As the user also has to select the download path and check other options like "download attachments " as well . Should the user be provided the download options for every table selected?

Thanks in advance.

1 Like

Hi @shubham_raj! Yes, you have the right idea that the user should be allowed to select multiple tables at once to download!
Great question on the attachments – that would be something to discuss/develop some options to consider. For example, download all attachments vs. select tables to download attachments. I do think some users will want to customize what they download by table, but others will want the efficiency of making this decision in one go for all the tables.


Thanks a lot @elmps2018 , I got it . There are multiple ways to do it.
I will try to include some good ideas in the proposal .


Hello everyone, Nice to meet you all. I am an outreachy applicant and I look forward to contributing to the ODK-X Suitcase Application.

1 Like