Skip to content

oharato/e-book-list

Repository files navigation

概要

DMMブックスやKindleの「購入済み商品」ページから自身の書籍リストを取得し、CSVファイルとして出力・検索するツールです。

注意: out/ ディレクトリは本番用の出力ファイル専用です。テスト中に生成される一時ファイルは、プロジェクトルートの .tmp ディレクトリ内に作成され、out/ には書き込まれません。

このプロジェクトは pnpm のワークスペース機能を利用したマルチパッケージ構成(モノレpo)になっています。

  • packages/dmm: DMMブックス用のスクレイパー
  • packages/kindle: Kindle用のパーサー
  • packages/csv-search-app: CSV検索用のWebアプリケーション
  • packages/common: 共通の型定義や設定

技術スタック

  • Node.js: 実行環境
  • TypeScript: プロジェクト全体の言語
  • pnpm: パッケージマネージャー(ワークスペース機能を利用)
  • Puppeteer: ブラウザ自動操作ライブラリ
  • Hono: Webアプリケーションのバックエンドフレームワーク
  • Vue 3: フロントエンドフレームワーク
  • Vite: フロントエンドのビルドツール
  • Rolldown: Viteで使用する高速なRust製バンドラ
  • Vitest: テストフレームワーク
  • Docker / Dev Containers: 開発環境のコンテナ化

セットアップ手順

  1. リポジトリのクローン:

    git clone <repository_url>
    cd e-book-list
  2. .env ファイルの作成: プロジェクトのルートディレクトリに .env という名前のファイルを作成し、必要な情報を記述します。

    # .env ファイルの内容
    
    # --- DMM Scraper用 ---
    DMM_EMAIL=[email protected]
    DMM_PASSWORD=your_password
    
    # --- Kindle Parser用 ---
    KINDLE_XML_PATH=./kindle-cache.xml
  3. 開発環境の構築:

    • VS Codeでこのプロジェクトフォルダを開きます。
    • 「Reopen in Container」を選択するか、コマンドパレット (Ctrl+Shift+P) から「Dev Containers: Rebuild and Reopen in Container」を実行します。
    • 初回起動時に、Dockerイメージのビルドと pnpm による依存パッケージのインストールが自動的に行われます。

実行方法

Dev Container内のターミナルで、実行したいパッケージを指定してコマンドを実行します。

データ取得

# DMMブックスのライブラリを取得
pnpm --filter dmm-scraper start

# Kindleのライブラリを取得
pnpm --filter kindle-scraper start

データは out/ ディレクトリにCSVファイルとして出力されます。

Webアプリケーションの実行

取得したCSVデータを検索・閲覧するためのWebアプリケーションを起動します。

開発モード:

# バックエンドとフロントエンドを同時に開発モードで起動
pnpm dev:web

開発用Webアプリケーションは http://localhost:5173 で利用可能になります。Vite開発サーバーがAPIリクエストをバックエンドHonoサーバー (http://localhost:3000) にプロキシします。

本番モード:

# アプリケーションをビルド
pnpm build

# ビルドされたアプリケーションを起動
pnpm start:web

Webアプリケーションは http://localhost:3000 で利用可能になります。

テストの実行

プロジェクトには単体テストが含まれています。以下のコマンドでテストスイートを実行できます。

pnpm test

より詳細な情報については、各パッケージのドキュメントを参照してください。

About

kindle, dmm books

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published