How hdb-studio/qshopwebui works
QshopWebUI is a Minecraft shop browsing and administration panel. A browser user searches and filters shops, views item and shop details, and receives results through the frontend API client and Express server, which queries PostgreSQL. Admins additionally manage shop data, accounts, settings, announcements, and backups. The README documents polling and webhook synchronization with QSFilterPlugin. The sampled code is partial, so feature coverage follows the README where implementation details were not available; arrows are limited to documented or sampled interactions.
Main entry points: server.js Express API · app.js Shop UI · index.html Web interface · db.js API client
Components 17
Browser experience
- Web interface
index.html - Shop UI
js/app.js - API client
js/db.js
Shop service
- Express API
server.js - Shop discovery
server.js - Shop management
server.js - Stats and activity
server.js
Persistent data
- PostgreSQL
- Backup files
Administration
- Admin authentication
server.js - Configuration
server.js - Announcements
server.js - Backup and restore
server.js
Plugin sync
- QSFilterPlugin
- Plugin sync status
server.js
Other components
- Browser user
- Administrator
Connections 23
- Browser user → Web interface: opens
- Web interface → Shop UI: loads
- Shop UI → API client: requests data
- API client → Express API: calls REST API
- Express API → Shop discovery: dispatches queries
- Shop discovery → PostgreSQL: reads shops
- Express API → Shop management: dispatches changes
- Shop management → PostgreSQL: writes shop data
- Express API → Stats and activity: dispatches stats
- Stats and activity → PostgreSQL: reads and records
- Administrator → Web interface: uses admin panel
- Shop UI → Admin authentication: requests login
- Admin authentication → PostgreSQL: stores sessions
- Shop UI → Configuration: edits configuration
- Configuration → Express API: updates environment
- Shop UI → Announcements: manages notices
- Announcements → PostgreSQL: stores notices
- Shop UI → Backup and restore: requests backup actions
- Backup and restore → PostgreSQL: backs up and restores
- Backup and restore → Backup files: writes and reads
- Express API → Plugin sync status: maintains sync
- Plugin sync status → QSFilterPlugin: polls and syncs
- QSFilterPlugin → Express API: sends webhooks