TutorLoom
The learning platform for companies, colleges and training institutes. Free and open source, with an Enterprise edition.
翻譯準備中
尚未收集儲存庫資訊。
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗Simulador acadêmico com créditos fictícios, feito em Next.js. Um único projeto contém a interface e o backend:
app/: páginas (Início, Rodada "Bioma da Sorte", Modelo e matemática, Experimentos 1–5);app/api/: o backend (Route Handlers). As regras, o sorteio e os experimentos rodam aqui, no servidor;core/: regras da máquina, sorteio com semente (pure-rand 8.4.2, xoroshiro128plus), teoria em frações exatas e os cinco experimentos;scripts/results/: gerador dos resultados oficiais;results/: resultados oficiais (CSV, gráficos SVG e manifest.json).node -v.corepack enable. Se der erro de permissão, use sudo corepack enable ou npm install -g [email protected].pnpm install
pnpm dev
Depois, abra http://localhost:3000. A API responde no mesmo endereço, em /api (por exemplo, http://localhost:3000/api/meta).
| Comando | O que faz |
|---|---|
pnpm results | Gera os resultados oficiais dos cinco experimentos em results/ |
pnpm test | Roda os testes automatizados (regras, sementes, totais e API) |
pnpm build e pnpm start | Compila e inicia em modo de produção |
pnpm sounds | Gera de novo os efeitos sonoros do jogo |
results/ tem as tabelas em CSV, os gráficos em SVG e o manifest.json, com as sementes, os parâmetros, o gerador e as versões usadas. Rodar pnpm results de novo gera exatamente os mesmos arquivos; só muda a data no manifesto.
O servidor não guarda sessões em memória. O estado de cada sessão (gerador, saldo e totais) viaja num token assinado com HMAC-SHA256: o navegador guarda e reenvia o token, mas não consegue alterá-lo, e o sorteio continua no servidor. Limitação conhecida: reenviar um token antigo "desfaz" rodadas, o que é aceitável com créditos fictícios.
SESSION_SECRET com uma sequência aleatória longa (por exemplo, a saída de openssl rand -hex 32). Sem ela, a Rodada não funciona em produção.