certquiz Svelte Themes

Certquiz

Certification quiz SaaS template: SvelteKit UI, Hono edge API, Neon. Offers progress analytics, streaks, badges & rich explanations

CertQuiz

A modern web application for technical certification exam preparation, built with TypeScript and emphasizing test-driven development. Supports various technical certifications including networking, security, and cloud computing exams.

๐Ÿš€ Quick Start

# Prerequisites: Bun 1.0+, Docker, Git

# Clone and install
git clone <repository-url>
cd certquiz
bun install

# Start services
bun run docker:up      # PostgreSQL + KeyCloak
bun run db:migrate     # Run migrations
bun run dev           # Start dev servers

API: http://localhost:4000/swagger
KeyCloak: http://localhost:8080

๐Ÿ› ๏ธ Tech Stack

  • Runtime: Bun - Fast all-in-one JavaScript runtime
  • Backend: Hono + Drizzle ORM
  • Database: PostgreSQL 16
  • Auth: KeyCloak
  • Testing: Vitest

๐Ÿ“ Project Structure

cert-quiz/
โ”œโ”€โ”€ apps/
โ”‚   โ””โ”€โ”€ api/          # Hono backend API (VSA + DDD + Repository Pattern)
โ”œโ”€โ”€ packages/
โ”‚   โ””โ”€โ”€ shared/       # Essential constants & utilities (QUIZ_SIZES, CONFIG)
โ”œโ”€โ”€ docker/           # Docker configurations
โ””โ”€โ”€ docs/            # Documentation

๐Ÿงช Development Principles

Test-Driven Development (TDD)

Mandatory - Write tests first, then code:

bun run test --watch      # Run tests in watch mode
bun run test --coverage   # Check coverage (min 80%)

Schema-Driven Development

Database schemas drive development:

bun run db:generate       # Generate migrations from schema changes

๐Ÿ“š Documentation

๐Ÿ”ง Common Commands

# Development
bun run dev              # Start all services
bun run check            # All quality checks (TypeScript + Biome + knip) with auto-fix
bun run ci               # All quality checks (TypeScript + Biome + knip) without auto-fix
bun run typecheck        # TypeScript checking only
bun run lint            # Biome linter
bun run format          # Biome formatter

# Database
bun run db:generate      # Generate migrations
bun run db:migrate       # Apply migrations
bun run db:studio        # Drizzle Studio GUI
bun run db:test:migration # Test migrations locally (CI-like)

# Testing
bun run test                # Run all tests
bun run test:unit           # Unit tests only
bun run test:integration    # Integration tests

# Docker
bun run docker:up        # Start services
bun run docker:down      # Stop services

# Code Quality
bun run knip             # Check for unused exports
bun run knip:fix         # Auto-fix some unused exports

๐Ÿ—๏ธ Architecture

  • Vertical Slice Architecture: Features organized by use case, not layers
  • Domain-Driven Design: Rich domain models with business logic
  • Repository Pattern: Clean separation between domain and data access
  • Type Safety: Comprehensive TypeScript coverage with explicit types
  • Performance: Quiz response time < 200ms target

๐Ÿ“ License

[License type] - See LICENSE file for details


Built with โค๏ธ using modern TypeScript tooling

Top categories

Loading Svelte Themes