GTK app?

Hello everyone !

I've been thinking about making a GTK4 app that acts as some kind of wrapper/front-end for Joplin. But, to be perfectly honest, I've no idea where I can start when it comes to the back-end. It seems that Joplin in itself doesn't have an API usable outside of the app itself, or even available when the app isn't installed.

Does anyone have any leads ? Thanks in advance !

Nerd

I don't know of any front end desktop apps but there is a prior example of a frontend mobile app using the Joplin backend (Ruslin | F-Droid - Free and Open Source Android App Repository) which seems to support self hosted Joplin Server backends only.

As I'm alluding to the problem is you have a whole bunch of different sync targets that would have to be accounted for so without a Joplin install you would need to account for (if you were going for near-total Joplin parity):

  • Joplin Server
  • NextCloud
  • WebDAV
  • Amazon S3
  • One Drive
  • Dropbox
  • File system

You can find various technical specs in the docs but I don't think there is anything that explicitly outlines exactly how to use the various sync targets outside of the actual source code - for example various sync target implementations can be found in packages/lib as well as the generic file-api.

Ok I see... So the main work would reside into reading the files and organizing them... Sonds good, thanks for your reply !

Indeed but remember the "physical" files would only exist for the local file system target - all the others use various flavours of APIs for each of the platforms. For example with Dropbox Joplin doesn't read the files in the local dropbox folder - it directly communicates via Dropbox's API.

I recommend using the joplin cli, so that you can leverage the existing web clipper api without having to deal with the sync stuff yourself. The joplin plugin I created for vscode is essentially a "front end".

1 Like

And if that can help we publish these libraries under @joplin/lib, which can then be integrated to any JS/TS project

2 Likes