A secure backend system for iOS share sheet shortcuts with WebAuthn authentication and content management.
├── backend/
│ ├── database/
│ │ ├── migrations.ts # Database schema
│ │ └── queries.ts # Database operations
│ ├── routes/
│ │ ├── auth.ts # WebAuthn authentication
│ │ ├── content.ts # Content management
│ │ ├── admin.ts # Admin operations
│ │ └── static.ts # Static file serving
│ └── index.ts # Main entry point
├── frontend/
│ ├── components/
│ │ ├── App.tsx # Main application
│ │ ├── Auth.tsx # Authentication UI
│ │ ├── Dashboard.tsx # User dashboard
│ │ ├── Admin.tsx # Admin interface
│ │ └── Setup.tsx # Shortcut setup guide
│ ├── index.html # Main HTML template
│ └── index.tsx # Frontend entry point
├── shared/
│ └── types.ts # Shared TypeScript types
└── README.md
POST /api/auth/register-start - Start WebAuthn registrationPOST /api/auth/register-finish - Complete WebAuthn registrationPOST /api/auth/login-start - Start WebAuthn loginPOST /api/auth/login-finish - Complete WebAuthn loginPOST /api/auth/token - Generate bearer token for shortcutsPOST /api/content - Add content via shortcut (requires bearer token)GET /api/content - Get user's content (requires authentication)DELETE /api/content/:id - Delete content itemGET /api/admin/users - List all usersGET /api/admin/content - List all contentPOST /api/admin/users/:id/admin - Grant admin privilegesADMIN_EMAIL - Email address for the initial admin user