How ultimatejimmy/storefront.koplugin works
Storefront is a KOReader plugin for browsing and managing community plugins, patches, fonts, and screensavers. The user workflow runs from the in-device browser through catalog and detail views to installation, with caching and update tracking supporting ongoing use. Separate branches cover screensaver customization, shared blueprints, and ratings. The README documents the major user capabilities; sampled backend excerpts support the blueprint and ratings service links, while many plugin modules were not sampled, so uncertain internal call wiring is omitted.
Main entry points: main.lua Plugin entry · storefront_browser_ui.lua Unified browser · storefront_installer.lua Installer · storefront_screensavers_ui.lua Screensaver browser
Components 23
Device experience
- Plugin entry
storefront.koplugin/main.lua - Unified browser
storefront.koplugin/storefront_browser_ui.lua - Item details
storefront.koplugin/storefront_details_dialog.lua - Filters and search
storefront.koplugin/storefront_filter_dialog.lua - Localization
storefront.koplugin/localization_storefront.lua
Content management
- Installer
storefront.koplugin/storefront_installer.lua - Font manager
storefront.koplugin/storefront_font_mgr.lua - Patch manager
storefront.koplugin/storefront_patch_mgr.lua - Update tracking
storefront.koplugin/storefront_updates_mgr.lua - Screensaver browser
storefront.koplugin/storefront_screensavers_ui.lua - Screensaver settings
storefront.koplugin/storefront_screensaver_config.lua
Sharing and ratings
- Blueprint sharing
storefront.koplugin/storefront_blueprint_ui.lua - Blueprint client
storefront.koplugin/storefront_blueprint_cloud.lua - Blueprint service
tools/blueprint-worker.js - Ratings client
storefront.koplugin/storefront_ratings.lua - Vote service
tools/vote-proxy-worker.js - Cloudflare D1
Catalog and state
- Catalog data
storefront.koplugin/catalog.json - Catalog and GitHub
storefront.koplugin/storefront_net_catalog.lua - Offline cache
storefront.koplugin/storefront_cache.lua
Other components
- KOReader user
- GitHub
- KOReader files
Connections 27
- KOReader user → Plugin entry: opens
- Plugin entry → Unified browser: shows
- Unified browser → Catalog data: reads
- Unified browser → Catalog and GitHub: fetches
- Catalog and GitHub → GitHub: requests
- Unified browser → Offline cache: reads and writes
- Unified browser → Filters and search: filters
- Unified browser → Item details: opens
- Item details → GitHub: fetches README
- Item details → Installer: installs
- Installer → KOReader files: writes files
- Installer → Font manager: installs fonts
- Installer → Patch manager: installs patches
- Update tracking → GitHub: checks versions
- Update tracking → KOReader files: reads installed items
- Plugin entry → Screensaver browser: opens
- Screensaver browser → Screensaver settings: customizes
- Screensaver browser → GitHub: downloads
- Screensaver browser → KOReader files: saves images
- Plugin entry → Blueprint sharing: opens
- Blueprint sharing → Blueprint client: shares
- Blueprint client → Blueprint service: requests
- Blueprint service → Cloudflare D1: reads and writes
- Plugin entry → Ratings client: shows ratings
- Ratings client → Vote service: submits votes
- Vote service → Cloudflare D1: stores votes
- Plugin entry → Localization: loads strings