教育Webシステム

eラーニング統合プラットフォームへの「オフライン学習機能」短期間実装
プロジェクト概要
教育サービス企業が提供するeラーニング統合プラットフォームにおいて、通信環境が不安定な場所でも学習を継続できる「オフライン学習機能」の追加実装を短期間で依頼された。約1.5ヶ月・7名体制での集中開発となった。
VIETISはService WorkerとIndexedDBを活用したPWAベースのオフライン対応を実装。動画・テキスト・クイズコンテンツのローカルキャッシュ管理と同期ロジックを構築し、ユーザーがオンライン/オフラインを意識せずに学習できる体験を実現した。
課題と解決策
CHALLENGE
既存システムへの大きな改修なしに、短期間でオフライン機能を追加する必要があった。動画コンテンツのキャッシュサイズ管理と、オフライン中の学習進捗をオンライン復帰時に正確に同期するロジックが技術的難所だった。
SOLUTION
Service WorkerによるキャッシュファーストアーキテクチャとIndexedDBによる進捗データのローカル保存を組み合わせ、既存APIへの変更を最小限に抑えながらオフライン機能を実現。キャッシュ容量の上限管理も実装した。
成果
- 約1.5ヶ月という短期間でオフライン学習機能のリリースを実現。
- 通信が不安定な環境でも学習継続できるようになり、ユーザーの学習完了率が向上。
- オフライン中の進捗データがオンライン復帰時に正確に同期され、データ不整合ゼロを達成。
- 既存システムへの影響を最小化しつつ機能追加でき、本番トラブルなく導入完了。
進め方
01
既存システム調査・実装方針の確定
既存のAPI設計とフロントエンド構造を調査し、変更影響を最小化するオフライン実装方針を策定した。
02
Service Worker・IndexedDB実装
キャッシュ戦略の設計から実装まで担当。コンテンツ種別ごとのキャッシュポリシーと容量管理ロジックを構築した。
03
オフライン進捗同期ロジック開発
学習進捗をIndexedDBに保存し、オンライン復帰時にサーバーへ差分同期するロジックを実装。競合解決の仕組みも整備した。
04
端末・ブラウザ横断テスト・リリース
iOS/Android/PC各ブラウザでの動作を網羅的にテスト。問題を修正したうえで本番リリースを完了した。