Project title:
Connect Scribe End Applications to Data Server
Description of project:
The Scribe community makes Wikidata based applications like the language learning keyboard applications Scribe-iOS and soon to be released Scribe-Android as well as Wikidata language data services including the Python CLI Scribe-Data. This Outreachy Round 30 project is the culmination of years of work for the Scribe community - allowing users to download new data to the end applications via the Scribe-Server Toolforge API. Until now new data for applications would need to be bundled with the application updates, but the goal is that new features will be released in app updates and new data will be offered to users via regular Scribe-Data/Scribe-Server data pack updates.
Expected outcomes:
At the end of this project both Scribe-Android and hopefully Scribe-iOS will be able to call the Scribe-Server data API to get regular data updates. Work may be needed to run Scribe-Data on Scribe-Server. These processes will be extensively tested and new releases of all applications will be made.
All goals for the project will be defined with the accepted intern including confirmed and aspirational goals. Work will generally begin with the data download interfaces for any apps that the intern will be working on (Scribe-Android, Scribe-iOS, and maybe Conjugate-Android or Conjugate-iOS). From there any remaining work for the Scribe-Server project that is needed for API requests will be done with support from mentors. Once all parts of the data download process are finished, work will begin connecting the Scribe-Server API to the end applications. Further tasks will include testing and other work to ensure that the process robust and user friendly.
Required and/or preferred skills:
- Skills in Kotlin for Android development and Swift for iOS development
- Each of the above is preferred, but skills in one will likely be needed
- Ideally the applicant would be able to develop on both Android and iOS, but the latter is not a requirement (iOS development happens only on macOS)
- We'd ask for experience with Android development using Android Studio, with iOS development using Xcode being a plus
- Being able to run a fairly up to date version of Android Studio would thus be a requirement
Learning outcomes:
- The intern will have a better understanding mobile development for Android and/or iOS
- The intern will develop skills in API requests for mobile applications
- The intern will learn about professional development via support from their mentors
Possible mentor(s):
Microtasks:
All good first issue and help wanted issues and Scribe community projects are available for Outreachy applicants.
Please read through the project README.md and CONTRIBUTING.md files for each project for all steps needed to get started with contributing! Other helpful documents are the Scribe Wikidata Guide, architecture diagram and data contracts documentation.
The following are the links to good first issue and help wanted issues for all Scribe projects:
- Scribe-iOS: good first issue / help wanted
- Scribe-Android: good first issue / help wanted
- Scribe-Server: good first issue / help wanted
- Scribe-Data: good first issue / help wanted
- Scribe-i18n: issues (localization)
Any other additional information that the interns should know about: