React 18とTypeScript、Atomic Designパターンで構築されたRSSリーダーアプリケーションです。
https://yunbow.github.io/react-app-rss-reader/demo/
- 全フィードの最新記事を統合表示
- 記事の時系列ソート(新しい順)
- 記事のタイトル・説明・公開日時表示
- 外部リンクへの遷移
- React 18 - UIライブラリ
- TypeScript - プログラミング言語
- Storybook 7 - コンポーネント開発・ドキュメント
- CSS Modules - スタイリング
- Vite - ビルドツール
src/
├── components/
│ ├── atoms/ # 基本コンポーネント
│ │ ├── Button/ # ボタンコンポーネント
│ │ ├── Input/ # 入力フィールド
│ │ └── Text/ # テキスト表示
│ ├── molecules/ # 機能単位コンポーネント
│ │ ├── AddFeedForm/ # フィード追加フォーム
│ │ ├── ArticleItem/ # 記事項目
│ │ └── FeedItem/ # フィード項目
│ └── organisms/ # 画面領域コンポーネント
│ └── RSSReader/ # RSSリーダー全体
├── stories/ # Storybook用ストーリー
├── types/ # TypeScript型定義
├── hooks/ # カスタムフック
├── utils/ # 共通処理
├── Config.ts # 設定値
├── App.tsx # メインアプリ
└── main.tsx # エントリーポイント
Button- 操作ボタン(追加・削除)Input- URL入力フィールドText- テキスト表示(タイトル・説明・エラーなど)
AddFeedForm- フィード追加フォームFeedItem- 個別フィード項目ArticleItem- 個別記事項目
RSSReader- アプリケーション全体
# セットアップ
npm install
# 開発サーバー起動
npm run dev
# ビルド
npm run build
# プレビュー
npm run preview
# Storybook起動
npm run storybook
# Storybook ビルド
npm run build-storybook- RSS フィードのURLを入力フィールドに入力
- 「追加」ボタンをクリックしてフィードを登録
- 登録されたフィードから自動的に記事を取得・表示
- 不要なフィードは「削除」ボタンで削除可能
- RSS 2.0
- Atom 1.0
- CORS制限により、プロキシサービス(AllOrigins)を使用してフィードを取得
- フィード情報はブラウザのlocalStorageに保存
- インターネット接続が必要
MIT License