1.6 KiB
1.6 KiB
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
# 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