このプロジェクトについて

Jolitoは、メキシコ口語スペイン語の学習者を対象としたオープンソースのフラッシュカードアプリです。間隔反復(spaced-repetition)による復習ループに、音声への没入感とキーボード駆動の練習フローを組み合わせており、インストール可能なオフライン対応ウェブアプリ(PWA)またはネイティブiOSパッケージとして動作します。 READMEに記載されている主な特徴は以下の通りです: - キーボード優先の復習:Enterで正解を表示し、1〜4のキーで評価、スペースキーで音声を再生します。入力欄に自動的にフォーカスされるため、手をキーボードから離さずに操作可能です。 - 耳から学ぶオーディオ:問題と回答の両方に、メキシコ口語スペイン語の音声が添付されています。 - 能動的なタイピング想起:単に認識するだけでなく、回答をタイピングして学習します。即座に視覚的な差分(diff)が表示されて綴りの違いを強調しますが、評価は自己申告制です。 - デュアルカードワークベンチ:スペイン語と英語の相互的なカードを同時に作成でき、サイドバイサイドのプレビューと一括作成が可能です。 - オフライン語彙アシスタント:翻訳、見出し語、動詞の活用ヒントを提供するためのメキシコスペイン語辞書が同梱されています。 - 重複検知:カード作成、デッキ管理、編集時に重複を検知します。 - Ankiインポート:.apkgパッケージまたはテキストエクスポートを通じて既存のデッキを取り込むことができ、学習履歴と復習スケジュールも保持されます。 - CapacitorによるネイティブiOSビルド:正解表示や評価時に触覚フィードバック(haptic feedback)を提供します。 - オフラインファーストのストレージ:ローカル永続化とサービスワーカーによるキャッシュを備え、PWAとしてインストール可能です。 - パーソナルデッキ:パスワードレスのメールサインインと、Supabaseによるマルチデバイス同期に対応しています。 本プロジェクトは、手動でのカード作成(音声切り出し、画像、テンプレート設定など)が必要な汎用的な間隔反復ツールと、固定カリキュラムを持つゲーム化された学習アプリという、2つの極端なアプローチの中間に位置しています。Jolitoの目標は、学習者が現実世界で使われるフレーズを自由に選択し、摩擦ゼロでカードを作成できるようにすることです。 ローカルで実行するには、Node.js >= 24とnpmが必要です。クローン後、`npm ci`で依存関係をインストールし、`npm run dev`で開発サーバーを http://localhost:5173 で起動します。インストール可能なプロダクションビルドを確認するには、`npm run build && npm run preview`を実行して http://localhost:4173 で提供します。オンライン状態で一度読み込むことで、オフラインでのリロード動作をテストできます。リモート開発については、Mosh単体ではTCPポートを転送できないため、ポートフォワード設定を伴うSSHでの手順がドキュメント化されています。 リポジトリ内のその他のドキュメントでは、製品ビジョン、設計原則、ロードマップ、ローカルファーストストレージを用いたヘキサゴナルドメイン構造のリファレンスを含むアーキテクチャ説明、テストピラミッドを記述した品質ガイド、アクセシビリティの不変条件とCI契約、そしてSupabase同期設定およびCloudflare Workersへのデプロイに関する開発ガイドがカバーされています。本プロジェクトはApache License 2.0の下でライセンスされています。