Skip to content

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 dev

The 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 files

Key Commands

CommandDescription
pnpm devStart development server
pnpm buildProduction build
pnpm lintESLint check
pnpm exec tsc --noEmitType check
pnpm testRun all tests (Vitest)
pnpm build:workerBundle the background worker

TechTrans Lab