oboku
Githuboboku.me
  • Welcome
  • Contacts
  • Support & Troubleshoot
  • Platform & Tech
  • Cloud
    • Installation & usage
    • Privacy Policy
  • Self Hosting
    • Installation
  • Configuration
    • Enable features
  • Guides
    • App & Data Privacy
    • Reader
    • Collections
    • Devices & features compatibility
    • Supported books & documents
    • Adding / Synchronize contents
    • Downloading a book
    • Tags
    • Protected contents
    • Data sources
    • Directives
  • Secrets
  • Sync Providers
    • WebDAV
    • Google Drive
  • Dropbox
  • Synology
  • Development
    • Local Profile
    • Local Database
    • Covers Cache
Powered by GitBook
On this page
  • Technologies
  • Backend API
  • Web Client (PWA)
  • Remote Database user (couchdb)
  • Remote Database system (postgres)
  • Local database (indexedDB)

Platform & Tech

Ever wondered what runs oboku ?

PreviousSupport & TroubleshootNextInstallation & usage

Last updated 1 month ago

Technologies

Backend API

The main API is written with NestJS.

Web Client (PWA)

The web client app is a PWA running on ReactJS and Material UI. It uses for reading system. It rely heavily on service worker to allow offline uses.

Remote Database user (couchdb)

The database is . This database mainly allows replication & conflict resolution.

The remote database is replicated with the device local database. Your device holds the "same" data as the one on the remote database. This allow full offline use and synchronization between devices.

Remote Database system (postgres)

Used for system purposes rather than user (who have their own db). It is not directly accessible publicly and is driven by the backend API.

Local database (indexedDB)

The device database is with as "ORM" layer. The local database synchronize and replicate the remote database when online. When you are offline, all the changes happens in indexedDB and will wait until online to replicate to the remote database.

https://prose-reader.com/
https://couchdb.apache.org/
https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API
https://rxdb.info/