← 一覧へ戻る 日記
電子書籍閲覧アプリを作る理由と設計方針
電子書籍を閲覧できるアプリを作ります
電子書籍(PDF / EPUB)をブラウザ上で閲覧できるアプリを新しく作ることにしました。
今回のターゲットは「自分」です。 あえてユーザーを自分に限定することで、実際の使用を前提にした設計・改善を繰り返すことを目的としています。
なぜこのアプリを作るのか
これまでに以下のようなアプリを作ってきました。
- 運転日報の記録アプリ
- 学習メモアプリ
ただ、どちらも「作ること」が目的になっており、
- 誰が使うのか
- どう運用されるのか
- 使い続けられるのか
といった観点がほぼ抜けていました。
結果として、「動くもの」はできても「使われるもの」にはなっていませんでした。
今回のアプリでは、以下を重視します。
- 自分が日常的に使うこと
- 不便に感じた点を即改善すること
- 継続的に運用すること
作るもの(現時点の構想)
シンプルな電子書籍ビューアをベースに、以下の機能を想定しています。
- PDF / EPUB の閲覧
- 書籍一覧の管理
- 読了 / 未読の管理
- 表示設定(フォントサイズ・テーマなど)
ここまでは一般的な機能です。
差別化としては、以下を考えています。
- ディレクトリ内のファイルを自動検出
- 初回アクセス時にメタ情報をDBに登録
- ユーザーごとの閲覧状態を保持
実際の運用を前提にした設計にすることで、単なるサンプルではなく「使えるアプリ」にすることを目指します。
技術選定
今回は以下の構成で開発します。
- フロントエンド:React
- バックエンド:Hono
一人開発のため、JavaScriptでフロント・バックエンドを統一します。
また、自分の課題としてバックエンド領域(特にDB設計やAPI設計)に弱さを感じているため、
- API設計
- データモデリング
- 認証・状態管理
を重点的に学習しながら進めていきます。
開発スケジュール
段階的に開発します。
- 1ヶ月:最低限動作するプロトタイプ
- 3ヶ月:実用レベルまで改善
最初から作り込むのではなく、「使いながら改善する」方針で進めます。
今後
まずは要件定義からスタートします。
これまでの反省として、設計が曖昧なまま開発を進めると、結果的に中途半端なアプリになりやすいと感じています。
今回は要件定義と設計をしっかり行い、「継続して使えるアプリ」を目指して開発していきます。