Skip to content

CINEV/cinamon-guide

Repository files navigation

Cinamon Guide

Lesson-first quiz learning game for PC browsers.

Development

npm install
npm run dev

Tests

npm run test
npm run test:e2e
npm run test:rust

Build

npm run build

The production build runs wasm-pack for the Rust/WASM learning engine and then builds the Vite app. Local machines need Rust cargo and wasm-pack on PATH; without them, use npm run build:app to verify the TypeScript/Vite app against the checked-in public/wasm package and document the missing WASM toolchain blocker.

Container

docker build -t cinamon-guide .
docker run --rm -p 8080:80 cinamon-guide

The container serves the static Vite output with Nginx, SPA fallback, and /healthz for basic runtime checks. Docker or another Docker-compatible runtime such as Podman is required for local image verification. Kubernetes manifests, Helm charts, Ingress definitions, and cluster deployment scripts are intentionally out of scope.

WASM Scope

The teaching loop works with a TypeScript fallback engine while the Rust/WASM package remains a pure deterministic rules engine. Rust/WASM owns:

  • seeded quiz ordering, answer judgment, scoring, unlock checks, and review target extraction
  • learner diagnosis, concept mastery scoring, next-lesson recommendation, and review scheduling
  • small deterministic network-flow, Git-graph, path, address-classification, and security-risk puzzle results

React/TypeScript still owns rendering, Korean copy, lesson content, diagrams, routing, Zustand state, localStorage, and asset loading.

Validation

npm run test
npm run test:rust
npm run build
npm run test:e2e
npm run validate

If cargo, wasm-pack, or a running Podman/Docker machine is unavailable, record that as an environment blocker. Podman smoke uses:

podman build -t cinamon-guide .
podman run --rm -p 8080:80 cinamon-guide

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors