With the conclusion of Google Summer of Code 2024, we’re thrilled to share that four of our sponsored projects achieved remarkable success!
Continuing our series of posts highlighting each project, today we’re featuring the work of @benjiman. With his project, the "Joplin Sync Library", he provides an API to read and write data to remote storage directly and keep them in sync, without having to rely on the Joplin application.
Contributor: @benjiman
For end users, Joplin application handles synchronization (file uploads/downloads... to remote storage) automatically.
To add the capability for programmers to do that in code, I created this project: Joplin Sync Library.
Joplin Sync Library provide an API to read and write data to remote storage directly and keep them in sync. This allows more control, customization, we can make plugins/scripts to aggregate data from remote storage for example.
The biggest challenge is to make the project depends as little as possible on the original codebase. I rewrote many parts, but some parts aren't rewriteable because it'll be hard to maintain (encryption modules for example). Also, some edge cases may happen while syncing (network failures during sync, invalid timestamp, sync logics bugs...).
Overall, basic (CRUD) operations are supported. Use cases are demonstrated in unit test, documentations and demos,...