Solo mahjong puzzle game. Draw and discard tiles to complete a winning hand.
- Frontend: React Router v7 (SSR), TailwindCSS + DaisyUI
- Backend: Cloudflare Workers, Hono + Zod
- Database: Cloudflare D1 (SQLite), Drizzle ORM
- Auth: Better-Auth (anonymous login)
npm install
npm run dev# Generate migration from schema changes
npx drizzle-kit generate --name <migration_name>
# Apply migration to local D1
npx drizzle-kit migrate# Generate auth schema to match DB schema location
npx auth generate --output ./app/lib/db/auth-schema.ts --adapter drizzle --dialect sqlite# Apply migration to remote D1
npx wrangler d1 migrations apply hitori-mahjong-db --remoteThis reads the generated SQL files from drizzle/ and applies them to the remote D1 database.
npm run dev- Start development servernpm run build- Build for productionnpm run deploy- Build and deploy to Cloudflarenpm run typecheck- Type checkingnpm run format- Format code with Biome