Skip to content
J0hnDoeMBPublic

About

Local math tutor: AI chat, GeoGebra and exact algebra (bring your own API key).

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

55 Commits

Folders and files

Repository files navigation

MathApp

tests portable

Tutor di matematica locale con chat AI, GeoGebra e calcolo esatto SymPy. La API key resta sul tuo PC.

Percorso guidato per il primo avvio: docs/USER-GUIDE.md.

Chat con GeoGebra in azione

Avvio rapido

Windows

Doppio click su setup.cmd, poi start-mathapp.ps1. Oppure:

powershell -ExecutionPolicy Bypass -File .\setup.ps1
.\start-mathapp.ps1

setup.ps1 scarica Node.js LTS portatile in .tools\ (nessun admin). Con -Math installa Python/SymPy/pypdf; con -Full anche faster-whisper.

macOS / Linux

Serve Node.js 18+ e, facoltativamente, Python 3:

python3 -m venv .venv
. .venv/bin/activate
python -m pip install -r requirements.txt   # SymPy + pypdf (opzionale)
npm start

Apri http://127.0.0.1:8790. setup.ps1/start-mathapp.ps1 sono solo Windows; su macOS/Linux il core è npm start. Per la dettatura: pip install -r requirements-whisper.txt. Dettagli: docs/SETUP-MACOS-LINUX.md.

Cosa include

  • Core: chat, sessioni/cronologia paginata, GeoGebra, SymPy, backup automatici configurabili, sicurezza.
  • Offline: dopo il primo caricamento il service worker conserva UI e asset CDN (GeoGebra/KaTeX); le API e i dati utente non vengono mai messi in cache.
  • Completa (opzionale): quiz, ripasso, appunti/KB, flashcard, TTS, dettatura, stile. Si attiva da Impostazioni → Modalità.
  • BYO key: OpenRouter o OpenCode Go, configurata in Impostazioni. Nessuna telemetria; la chiave non è nei backup.

Qualità

npm run lint      # ESLint (no-undef e regole di correttezza)
npm test          # 135 check Node
npm run test:ui   # 29 check browser (richiede Edge/Chrome + puppeteer-core)
npm run test:xss  # 14 check browser XSS (richiede Edge/Chrome + puppeteer-core)
npm run test:switch # 1 check cambio conversazione (richiede Edge/Chrome + puppeteer-core)
npm run test:geo  # 5 check GeoGebra (richiede CDN)
npm run eval      # 17 casi SymPy
npm run coverage  # copertura Node (soglia 65%)
npm run test:py   # 29 test Python (opzionale)
npm run eval:ai   # eval con provider reale, solo con chiave

Per una release: npm run package crea release/mathapp-v<versione>.zip (sorgente, richiede worktree pulito).

CI su Windows e Linux (Node 18/20/22) con branch protection. Diagnostica: GET /api/diagnostics (alias /api/health) o .\start-mathapp.ps1 -Check.

Documentazione

Struttura

server.mjs        guscio HTTP
routes/           API (core + plugin opzionali on-demand)
lib/              dominio, adapter, storage, sicurezza, diagnostica
public/           UI, state store, feature plugins lazy
test/             test Node/browser/Python
eval/             casi matematici deterministici
docs/             guide, contratti e decisioni

Licenza MIT.

About

Local math tutor: AI chat, GeoGebra and exact algebra (bring your own API key).

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages