Our great sponsors
-
SurveyJS
Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
E.g. metadata for books is handled in the bookshelf plugin (C#). You could look at already existing implementations (e.g. ComicBookInfo or the Epub provider for some easy things) and then implement your own. There are some open issues about missing book providers, but I would start with a file based provider first as look easier than online metadata providers.
If you are more the JavaScript person, here you can find the Web-UI and behavior like saving reading progress. All I can say about that stuff is: Every book player (bookPlayer for epubs, comicsPlayer for cbz, pdfPlayer for pdf files) has to implement audio stuff because of audio books. If you see a line like Events.trigger(this, 'pause');, that's stuff that sends updates to the server (as far as my limited understanding goes). All those implementations use some standard JavaScript libraries of which all of them provide examples and documentation (some is better than other xD):