.project codename (Moth Summit)
A Online Scientific Olympiad web platform—designed to complement and eventually replace ONHB 2.0. This monorepo brings together all of:
- Documentation & ADRs (
docs/) - Shared libraries (
packages/common/) - Frontend (Nuxt 3 in
apps/nuxt-app/) - Backend & workers (NestJS + CQRS in
apps/backend/) - Infrastructure & tooling (Devenv.sh, CI config, etc.)
Our existing platform has served us well—supporting high exam-submission throughput, solid end user ux, and a secure although cumbersome admin dashboard—but:
- Onboarding friction: new devs struggle to ramp up.
- Manual processes: many operational tasks still require hand-work.
- Limited analytics: reporting and automation need modern tooling.
- Bad UX on the admin side: management tools must be more user-friendly and more resilient.
Goal: Leverage 17 years of lessons to build a more maintainable, automated, and extensible system—incrementally.
We’ll follow a two-phase rollout:
-
Coexistence (Phase 1)
- Run new (v3) services alongside legacy (v2), sharing data via database.
- Implement new features on the modern stack only—no dual-writes.
-
Migration & Cut-Over (Phase 2)
- Gradually move each feature’s write-path to new tech stack; deprecate the old service.
- Once legacy components are retired, remove compatibilty layers and refactor freely.
- Developer Experience (DX)
- Reproducible Dev & Prod Environments
- Open Source from Day 1 (License and development process)
- Documented Tech Choices
- Modular Architecture & Clear Boundaries
- Groundwork laid off to empower future UX redesigns