Zorro: a Zotero client for Android
Project status: initial development.
The Zorro application and its logo are Copyright © Tomas Fiers, 2019-2020.
Its source code is made available under the AGPLv3 license.
Contributions are welcome. Follow the recommendations in this classic blogpost to make sure your pull request gets merged, quickly.
Does the code seem too daunting to start hacking on it? No Android development experience? See the next section.
The code is based on the recommended Jetpack architecture and uses most Android Architecture Components (view binding, ViewModels and data binding, observable LiveData, a local database with Room, task scheduling with WorkManager, data abstraction through a Repository, navigation with NavController and SafeArgs, and Kotlin niceness such as coroutines, extension functions, and delegated properties).
It also uses Timber for logging; Retrofit as HTTP client; Moshi as JSON parser; and ConstraintLayout, RecyclerView, and Material Design for its UI.
💡 If you don't have experience with these tools (or with Android development in general), I heartily recommend the "Android Kotlin Fundamentals" course, which teaches all of them.
Additionally, the following dependencies are used (these are not taught in the mentioned course):
- OkHttp (on which Retrofit is built), to insert headers in all HTTP requests.
- ThreeTenABP, a backport of Java's new
util.time.*, to be able to use this great package on older Android versions.
