How debguin452/yourserver works
yourserver is a configurable Cloudflare Workers server kit. Requests enter the Worker fetch handler, pass through a small router and configured middleware, then reach independently mounted feature routes. Those features cover health and a live landing page, API and WebSocket examples, authentication, key-value and SQL data, files, webhooks, URL shortening, QR codes, and optional Firestore-backed notes. Route-to-helper links follow source-index references; storage capabilities and bindings are documented in the README. Some route implementations and D1 helper details were not excerpted, so those links are documented rather than inferred from unseen calls.
Main entry points: index.js Worker entry · kv.js KV helpers · notes.js SQL notes · firebase-notes.js Firestore notes
Components 26
Request runtime
- Worker entry
src/index.js - Router
src/lib/router.js - Request middleware
src/lib/middleware.js - Feature config
src/config.js
Web features
- Landing page
src/routes/page.js - Health check
src/routes/health.js - Example API
src/routes/api.js - WebSocket echo
src/routes/ws.js - QR generator
src/routes/qr.js
Data features
- Login sessions
src/routes/auth.js - Key-value store
src/routes/kv-store.js - SQL notes
src/routes/notes.js - URL shortener
src/routes/shorten.js - Webhook log
src/routes/webhook.js - Firestore notes
src/routes/firebase-notes.js - File transfer
src/routes/files.js
Storage and services
- KV helpers
src/lib/kv.js - D1 helper
src/lib/db.js - R2 helpers
src/lib/storage.js - Firestore client
src/lib/firebase.js - Workers KV
- Cloudflare D1
- Cloudflare R2
- Firebase Firestore
- Google OAuth
Other components
- HTTP clients
Connections 32
- HTTP clients → Worker entry: sends requests
README.md - Worker entry → Router: handles requests
src/index.js - Worker entry → Request middleware: registers middleware
src/index.js - Worker entry → Feature config: reads settings
src/index.js - Worker entry → Landing page: mounts routes
src/index.js - Worker entry → Health check: mounts routes
src/index.js - Worker entry → Example API: mounts routes
src/index.js - Worker entry → WebSocket echo: mounts routes
src/index.js - Worker entry → QR generator: mounts routes
src/index.js - Worker entry → Login sessions: mounts routes
src/index.js - Worker entry → Key-value store: mounts routes
src/index.js - Worker entry → SQL notes: mounts routes
src/index.js - Worker entry → URL shortener: mounts routes
src/index.js - Worker entry → Webhook log: mounts routes
src/index.js - Worker entry → Firestore notes: mounts routes
src/index.js - Worker entry → File transfer: mounts routes
src/index.js - Router → Request middleware: runs chain
src/lib/router.js - Request middleware → Workers KV: reads and writes limits
src/lib/middleware.js - Login sessions → KV helpers: uses
src/routes/auth.js - Key-value store → KV helpers: uses
src/routes/kv-store.js - Example API → KV helpers: uses
src/routes/api.js - URL shortener → KV helpers: uses
src/routes/shorten.js - Webhook log → KV helpers: uses
src/routes/webhook.js - KV helpers → Workers KV: reads and writes
src/lib/kv.js - SQL notes → D1 helper: uses
src/routes/notes.js - SQL notes → Cloudflare D1: persists notes
README.md - File transfer → R2 helpers: uses
src/routes/files.js - File transfer → Cloudflare R2: stores files
README.md - Firestore notes → Firestore client: uses
src/routes/firebase-notes.js - Firestore notes → Firebase Firestore: reads and writes notes
README.md - Firestore client → Google OAuth: exchanges JWT
src/lib/firebase.js - Firestore client → Firebase Firestore: calls REST API
src/lib/firebase.js