Compagnon d'apprentissage du chinois orienté voyage. Mobile-first, offline-friendly, immersif.
Sinora Learn est une application autonome de l'écosystème Sinora. Elle est pensée comme un compagnon : on apprend les phrases dont on aura vraiment besoin dans une rue de Pékin, une maison de thé de Shanghai ou un taxi de nuit à Chengdu.
- Next.js 15 (App Router) + React 19 + TypeScript strict
- Tailwind 4 pour le design system
- Framer Motion pour les transitions
- Zustand pour l'état client
- IndexedDB (avec fallback
localStorage) : aucune donnée n'est envoyée à un serveur - ts-fsrs pour le moteur de répétition espacée
- hanzi-writer pour le tracing des caractères
- pinyin-pro pour la conversion phonétique
- PWA installable
Monorepo pnpm.
apps/
web/ Next.js app
packages/
core/ moteurs (SRS, storage, profile, progression, audio, pinyin)
ui/ design system (tokens, primitives, mascotte)
content/ datasets (vocab, leçons, dialogues, culture)
Voir docs/ARCHITECTURE.md pour les détails et docs/ROADMAP.md pour le plan d'évolution.
Prérequis : Node 20+, pnpm 9+.
pnpm install
pnpm devPuis ouvrir http://localhost:3000.
- V1 = survie voyage. Pas de grammaire complexe, pas de HSK avancé. Les briques essentielles, très bien finies.
- Pas de compte, pas de backend. Toute la progression vit sur l'appareil. Export/import JSON pour migrer.
- Mobile-first. Tout est conçu pour un écran de téléphone. Le desktop est un cas dérivé.
- Immersif, pas froid. Mascotte, couleurs, animations, scénarios. L'inverse d'un dashboard SaaS.
Sinora Learn est indépendant mais compatible. Plus tard :
- Sinora peut ouvrir un module Sinora Learn contextuel à un itinéraire.
- Un mot appris dans Sinora Learn peut être proposé en exemple dans Sinora.
- Les codebases restent séparées.
Privé. Tous droits réservés.