private-bookshelf Svelte Themes

Private Bookshelf

蔵書閲覧アプリケーション

📚 蔵書閲覧アプリケーション

概要

これは蔵書を検索・閲覧するだけのSvelteで構築されたWebアプリケーションです。日本十進分類法(NDC)によるカテゴリ分類や検索機能を備え、書籍をタイル表示または表形式で閲覧できます。NDCを含む書誌情報や書影はNDLサーチ等から取得しておく必要があります。

機能

  • 書籍の一覧表示
    • タイル表示(書影を表示)
    • 表形式表示(詳細情報を表示)
  • 検索・フィルタリング
    • タイトル・著者名による検索
    • NDC分類によるフィルタリング(階層的なカテゴリ選択)

技術スタック

  • フレームワーク: Svelte/SvelteKit
  • 言語: TypeScript
  • スタイリング: CSS
  • データ管理: Svelte ストア
  • データソース: JSONファイル(/books.json

プロジェクト構造

  • +page.svelte: メインの書籍一覧ページ
  • $lib/bookStore.js: 書籍データを管理するSvelteストア
  • $lib/ndcOptions.js: NDC分類のオプションデータ
  • /books.json: 書籍データを含むJSONファイル
  • /images/{isbn}.jpg: 書影画像ファイル

データモデル

書籍データは以下のフィールドを持つオブジェクトの配列です:

interface Book {
  isbn: string;         // ISBN(書籍IDとして使用)
  title: string;        // タイトル
  subTitle?: string;    // サブタイトル(省略可)
  author: string;       // 著者
  publisherName?: string; // 出版社名(省略可)
  seriesName?: string;  // シリーズ名(省略可)
  releaseDate: string;  // 発売日
  ndc: string;          // NDC分類コード
}

使用方法

  1. アプリケーションを起動すると、蔵書一覧が表示されます
  2. 上部の検索ボックスでタイトルや著者名による検索が可能
  3. NDC分類セレクトボックスで特定のカテゴリでフィルタリング
  4. 表示形式を「タイル表示」または「表形式」に切り替え可能

インストールと実行

# 依存関係のインストール
npm install

# 開発サーバーの起動
npm run dev

# ビルド
npm run build

# ビルドされたアプリケーションの実行
npm run start

拡張方法

  • 書籍データの追加: /books.json ファイルに新しい書籍データを追加
  • 書影の追加: /images/{isbn}.jpg に対応する画像ファイルを配置
  • NDC分類の拡張: $lib/ndcOptions.js ファイルを編集してカテゴリを追加

未対応

  • adapter-static 使用時の個別ページ表示

Top categories

Loading Svelte Themes