← 一覧へ戻る 日記

電子書籍閲覧アプリを作る理由と設計方針

電子書籍を閲覧できるアプリを作ります

電子書籍(PDF / EPUB)をブラウザ上で閲覧できるアプリを新しく作ることにしました。

今回のターゲットは「自分」です。 あえてユーザーを自分に限定することで、実際の使用を前提にした設計・改善を繰り返すことを目的としています。

なぜこのアプリを作るのか

これまでに以下のようなアプリを作ってきました。

  • 運転日報の記録アプリ
  • 学習メモアプリ

ただ、どちらも「作ること」が目的になっており、

  • 誰が使うのか
  • どう運用されるのか
  • 使い続けられるのか

といった観点がほぼ抜けていました。

結果として、「動くもの」はできても「使われるもの」にはなっていませんでした。

今回のアプリでは、以下を重視します。

  • 自分が日常的に使うこと
  • 不便に感じた点を即改善すること
  • 継続的に運用すること

作るもの(現時点の構想)

シンプルな電子書籍ビューアをベースに、以下の機能を想定しています。

  • PDF / EPUB の閲覧
  • 書籍一覧の管理
  • 読了 / 未読の管理
  • 表示設定(フォントサイズ・テーマなど)

ここまでは一般的な機能です。

差別化としては、以下を考えています。

  • ディレクトリ内のファイルを自動検出
  • 初回アクセス時にメタ情報をDBに登録
  • ユーザーごとの閲覧状態を保持

実際の運用を前提にした設計にすることで、単なるサンプルではなく「使えるアプリ」にすることを目指します。

技術選定

今回は以下の構成で開発します。

  • フロントエンド:React
  • バックエンド:Hono

一人開発のため、JavaScriptでフロント・バックエンドを統一します。

また、自分の課題としてバックエンド領域(特にDB設計やAPI設計)に弱さを感じているため、

  • API設計
  • データモデリング
  • 認証・状態管理

を重点的に学習しながら進めていきます。

開発スケジュール

段階的に開発します。

  • 1ヶ月:最低限動作するプロトタイプ
  • 3ヶ月:実用レベルまで改善

最初から作り込むのではなく、「使いながら改善する」方針で進めます。

今後

まずは要件定義からスタートします。

これまでの反省として、設計が曖昧なまま開発を進めると、結果的に中途半端なアプリになりやすいと感じています。

今回は要件定義と設計をしっかり行い、「継続して使えるアプリ」を目指して開発していきます。