How debanjan110d/wallpaper-sync-app works
Wallpaper Sync is a Windows tray app for managing a local wallpaper collection, rotating wallpapers on a schedule, and optionally syncing from a server. Its principal workflow is adding or syncing images, managing and viewing the local catalog, then applying wallpapers automatically. The optional web app provides an admin dashboard and APIs for wallpaper uploads, metadata, collections, and tags; the separate launching site presents downloads, updates, and reviews. README documentation supports the product-level desktop workflow, while sampled route and UI excerpts confirm only some internal wiring, so uncertain connections are omitted.
Main entry points: server.ts Supabase data and storage · app.js UI coordinator · page.tsx Admin dashboard · main.js Electron main
Components 33
Desktop app
- Electron main
main.js - Preload bridge
preload.js - UI coordinator
ui/app.js - UI state
ui/store.js - Catalog and viewer
ui/modules/gallery.js - Image viewer
ui/modules/player.js - Wallpaper rotation
wallpaperManager.js - App settings
settings.js - Remote sync
downloader.js - Metadata cache
metadataCache.js - Local wallpaper files
Web admin and API
- Admin dashboard
web/app/page.tsx - Admin login
web/app/api/login/route.ts - Image upload
web/app/api/upload/route.ts - Wallpaper sync API
web/app/api/wallpapers/route.ts - Catalog APIs
web/app/api/collections/route.ts - Tag API
web/app/api/tags/route.ts - Bulk catalog edits
web/app/api/wallpapers/bulk-update/route.ts - Reviews API
web/app/api/reviews/route.ts - Supabase data and storage
web/utils/supabase/server.ts
Metadata services
- Batch indexing
web/app/api/wallpapers/batch-index/route.ts - Metadata migration
web/app/api/wallpapers/migrate/route.ts - Collection discovery
web/app/api/collections/discover/route.ts - AI metadata processing
web/utils/aiProcessor.ts
Launch site
- Download and feature pages
launching_page/app/page.tsx - GitHub releases
launching_page/app/_lib/githubReleases.ts - Reviews page
launching_page/app/reviews/page.tsx - Analytics endpoint
launching_page/app/api/analytics/route.ts - Analytics store
launching_page/app/_lib/analyticsStore.ts
Other components
- Desktop user
- AI provider
- Site visitor
- Web admin
Connections 41
- Desktop user → UI coordinator: manages catalog
- UI coordinator → UI state: updates state
- UI coordinator → Catalog and viewer: renders catalog
- UI coordinator → Image viewer: opens viewer
- Desktop user → Electron main: sets preferences
- Electron main → App settings: reads settings
- Desktop user → Local wallpaper files: adds images
- UI coordinator → Preload bridge: invokes desktop actions
- Preload bridge → Electron main: bridges requests
- Electron main → Wallpaper rotation: controls rotation
- Wallpaper rotation → Local wallpaper files: applies images
- Electron main → Remote sync: requests sync
- Remote sync → Wallpaper sync API: fetches wallpapers
- Remote sync → Local wallpaper files: syncs images
- UI coordinator → Metadata cache: refreshes metadata
- Web admin → Admin login: authenticates
- Web admin → Admin dashboard: manages library
- Admin dashboard → Image upload: submits images
- Image upload → Supabase data and storage: stores image and row
- Admin dashboard → Catalog APIs: manages collections
- Admin dashboard → Tag API: manages tags
- Admin dashboard → Bulk catalog edits: edits catalog
- Wallpaper sync API → Supabase data and storage: reads and deletes
- Catalog APIs → Supabase data and storage: reads and writes
- Tag API → Supabase data and storage: reads and writes
- Bulk catalog edits → Supabase data and storage: updates assignments
- Batch indexing → Supabase data and storage: reads wallpaper rows
- Batch indexing → AI metadata processing: processes images
- Metadata migration → Supabase data and storage: reads wallpaper rows
- Metadata migration → AI metadata processing: processes images
- AI metadata processing → AI provider: requests analysis
- Collection discovery → AI provider: requests suggestions
- Collection discovery → Supabase data and storage: saves collections
- Collection discovery → AI metadata processing: assigns collections
- Site visitor → Download and feature pages: views download info
- Download and feature pages → GitHub releases: loads release data
- Site visitor → Reviews page: views reviews
- Reviews page → Reviews API: loads reviews
- Reviews API → Supabase data and storage: reads and stores reviews
- Site visitor → Analytics endpoint: records activity
- Analytics endpoint → Analytics store: stores events