_____ _ __ __ | ___| __ __ _ _ __ | | __ \ \ / / _ | |_ | '__/ _` | '_ \| |/ / \ \ /\ / / | | | | _|| | | (_| | | | | < \ V V /| |_| | |_| |_| \__,_|_| |_|_|\_\ \_/\_/ \__,_|
my receipt printer:
how it works!
┌──────────────────────────────────────────────┐ │ Client Device │ │ │ │ Browser / Mobile Device │ │ User submits: │ │ • Text │ │ • Images │ └──────────────────────┬───────────────────────┘ │ ▼ ┌──────────────────────────────────────────────┐ │ GitHub Pages Web UI │ │ │ │ Static Frontend │ │ • HTML │ │ • JavaScript │ │ │ │ Frontend Logic │ │ • Image upload handling │ │ • Text submission │ │ • Fetch API requests │ └──────────────────────┬───────────────────────┘ │ ▼ ┌──────────────────────────────────────────────┐ │ Tailscale Network │ │ │ │ • Tailscale Funnel │ │ • TCP Proxy │ │ • Encrypted secure tunnel │ └──────────────────────┬───────────────────────┘ │ ▼ ┌──────────────────────────────────────────────┐ │ Self-Hosted Python FastAPI API │ │ │ │ REST API │ │ /print │ │ │ │ Backend Controls │ │ • CORS handling │ │ • Rate limiting │ │ • Idempotency protection │ │ • Request validation │ └──────────────────────┬───────────────────────┘ │ ▼ ┌──────────────────────────────────────────────┐ │ Print Queue Layer │ │ │ │ • Queue │ │ • Sequential processing │ └──────────────────────┬───────────────────────┘ │ ▼ ┌──────────────────────────────────────────────┐ │ Thermal Receipt Printer │ │ │ │ Physical thermal paper output │ └──────────────────────────────────────────────┘