Getting Started
Quizzz is a multi-tenant SaaS platform where language teachers create AI-powered quizzes for Japanese (JLPT) and Traditional Chinese (TOCFL).
Prerequisites
- Node.js 24+
- pnpm 9+
- PostgreSQL (via PostgREST)
- Redis (for BullMQ worker queue)
Quick Start
bash
# Clone the repository
git clone [email protected]:wuchienhsun/jp-quiz.git
cd jp-quiz
# Install dependencies
pnpm install
# Start the development server
pnpm devThe app will be available at http://localhost:3000.
Project Structure
src/
app/ # Next.js App Router pages and API routes
components/
ui/ # Reusable atomic UI components
features/ # Domain-specific feature components
lib/
ai/ # AI provider abstraction (Gemini, OpenAI, Anthropic)
quiz-generation/ # Quiz generation, difficulty specs, vocab sampling
services/ # Business logic layer
repositories/ # PostgREST query wrappers
data-client.ts # PostgREST HTTP bridge
worker/ # BullMQ background worker
data/ # Official JLPT/TOCFL vocab and grammar JSON filesKey Commands
| Command | Description |
|---|---|
pnpm dev | Start development server |
pnpm build | Production build |
pnpm lint | ESLint check |
pnpm exec tsc --noEmit | Type check |
pnpm test | Run all tests (Vitest) |
pnpm build:worker | Bundle the background worker |