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.
# 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
Frontend: http://localhost:5173
API: http://localhost:4000/swagger
KeyCloak: http://localhost:8080
cert-quiz/
โโโ apps/
โ โโโ web/ # SvelteKit frontend
โ โโโ api/ # Hono backend API
โโโ packages/
โ โโโ shared/ # Shared types & utilities
โ โโโ typespec/ # API specifications
โโโ docker/ # Docker configurations
โโโ k8s/ # Kubernetes manifests
โโโ docs/ # Documentation
Mandatory - Write tests first, then code:
bun run test --watch # Run tests in watch mode
bun run test --coverage # Check coverage (min 80%)
Define schemas โ Generate types โ Implement:
bun run typespec:compile # Generate from TypeSpec
bun run db:generate # Generate migrations
# Development
bun run dev # Start all services
bun run typecheck # TypeScript checking
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
[License type] - See LICENSE file for details
Built with โค๏ธ using modern TypeScript tooling