# pp-mono Minimal fullstack boilerplate: **Hono + React + Auth.js + PostgreSQL + Tailwind CSS**. ## Stack | Layer | Tech | |-------|------| | Backend | Hono · Auth.js v5 · pg-adapter · Pino · TypeScript ESM | | Frontend | Vite · React 19 · Tailwind CSS v4 | | Database | PostgreSQL (Supabase-ready) | | Tests | Vitest · Playwright | ## Quick Start ```bash # 1. Install pnpm install # 2. Set up env cp apps/server/.env.example apps/server/.env # Edit .env with your DATABASE_URL and OAuth credentials # 3. Create database tables psql $DATABASE_URL -f apps/server/schema.sql # 4. Run dev servers (backend :3000, frontend :5173) pnpm dev # 5. Open http://localhost:5173 ``` ## Scripts | Command | Description | |---------|-------------| | `pnpm dev` | Start backend + frontend in dev mode | | `pnpm build` | Build all packages | | `pnpm test` | Run Vitest unit tests | | `pnpm test:e2e` | Run Playwright E2E tests | ## Structure ``` pp-mono/ ├── apps/ │ ├── server/ # Hono API + Auth.js │ │ ├── src/ │ │ │ ├── index.ts # App entry, routes │ │ │ ├── auth.ts # Auth.js config (GitHub + Google) │ │ │ ├── db.ts # PostgreSQL pool │ │ │ └── logger.ts# Pino logger │ │ └── schema.sql # Auth.js DB tables │ └── web/ # React SPA │ └── src/ │ ├── App.tsx │ └── pages/ ├── packages/shared/ # Shared types (Hono RPC AppType) └── e2e/ # Playwright E2E tests ```