This is a Turborepo-based monorepo containing a full-stack quiz application with a Next.js frontend and NestJS backend.
This monorepo includes the following packages and applications:
frontend
: A Next.js application providing the user interface for:- Taking quizzes
- Managing quiz categories
- Creating/editing questions
- Viewing quiz results
backend
: A NestJS application providing:- REST API endpoints for quiz functionality
- Question and category management
- Quiz scoring and results
- PostgreSQL database integration via Prisma
@repo/eslint-config
: Shared ESLint configurations@repo/typescript-config
: Shared TypeScript configurations@repo/shared
: Shared types and utilities
Each package/app is 100% TypeScript.
- Quiz taking with timed questions
- Category-based question organization
- Question management interface
- Quiz results tracking
- Modern UI with Tailwind CSS
- Full TypeScript support
- Prisma ORM for database access
- API-first backend design
- Add Toast notifications
- Add User System & Authentication
- Add Enhanced Quiz Features
- Add Performance optimization
- Add Dark/light mode
- Redesign
- Node.js 16+
- PNPM package manager
- PostgreSQL database
- Install dependencies:
pnpm install
- Set up your database:
cd apps/backend
pnpm prisma migrate dev
- Start development servers:
pnpm dev
This will start both frontend and backend in development mode.
To build all apps and packages:
pnpm build
This repo supports Turborepo's Remote Caching feature. To enable it:
- Create a Vercel account
- Link your repo:
npx turbo login
npx turbo link