{"repo":"acoyfellow/UserDO","free":true,"listed":false,"github":"https://github.com/acoyfellow/UserDO","clone":"git clone https://github.com/acoyfellow/UserDO.git","description":"Authentication-enabled Durable Objects for Cloudflare Workers. Provides JWT auth, per-user SQLite tables with Zod schemas, KV storage, SSE real-time updates, and browser client. Extend one class to build user-centric apps.","language":"TypeScript","stars":137,"topics":["authentication","cloudflare","cloudflare-durable-objects","cloudflare-workers","user-data"],"license":"MIT","category":"auth-billing-email","readme_excerpt":"UserDO A Durable Object base class for building applications on Cloudflare Workers. What You Get - Authentication: Email based (JWT) auth with signup, login, password reset - Key-Value Storage: Per-user KV storage with automatic broadcasting - Database: Type-safe SQLite tables with Zod schemas and query builder - Web Server: Pre-built Hono server with all endpoints configured - Real-time: WebSocket connections with hibernation API support - Organizations: Multi-user teams with roles and member management Installation Quick Start 1. Create Your Durable Object (Your Database + Logic) A Durable Object is like a mini-server that lives on Cloudflare's edge. Each user gets their own instance with their own database. You extend UserDO to add your business logic: 2. Create Your Worker (Your HTTP Gateway) The Worker handles HTTP requests and routes them to the right user's Durable Object. It comes with built-in auth endpoints and you add your own: Built-in HTTP endpoints (no code needed): - POST /api/signup - Create account - POST /api/login - Sign in - GET /api/me - Get current user - GET /api/ws - WebSocket connection - See all endpoints 3. Configure wrangler.jsonc Important : The migrations section with new sqlite classes is required to enable SQL database functionality. Without it, you'll get errors about SQL not being enabled. 4. Build Your Frontend UserDO provides the backend API - you bring your own frontend (React, Vue, vanilla JS, etc.). Check out our examples for complete ap","default_branch":null,"files":null,"tree":[],"storefront":"/r/acoyfellow","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/acoyfellow/UserDO/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}