Flaskをベースに構築された軽量な管理ツールで、CSVデータをもとに定期的なHTMLレポートを出力するシステムです。
在庫・売上・顧客などのCSVファイルをアップロードするだけで、HTML形式のレポートを自動生成します。
- 📑 CSVデータ(売上・在庫・顧客)からHTML形式のレポートを出力
- 📆 週次・月次などに応じた定期レポート出力(ロジックにより実行制御)
- 🌐 Web UI上から手動出力も可能
- 📁 出力ファイルは
output/reports/に保存 - 💻 Jinja2テンプレートで見やすいHTML構造に整形
| 項目 | 内容 |
|---|---|
| バックエンド | Flask |
| テンプレート | Jinja2 |
| スタイル | HTML / CSS(Bootstrap補完+自作CSS) |
| データ元 | CSVファイル(DB非使用) |
| 出力フォーマット | HTMLレポートファイル |
report_generator/
├── app/
│ ├── static/
│ │ └── style.cssx # スタイルシート
│ ├── templates/
│ │ ├── index.htmlx # トップページ(フォーム選択)
│ │ └── report_template.htmlx # レポート出力用テンプレート
│ ├── constants_pf.py # 定数管理
│ ├── report_generator_pf.py # レポート出力処理
│ ├── schedule_manager_pf.py # スケジュール管理ロジック
│ └── routes_pf.py # Flaskルーティング
│
├── data/
│ ├── customers.csv # 顧客データ
│ ├── sales.csv # 売上データ
│ └── stock.csv # 在庫データ
│
├── output/
│ └── reports/ # 出力されたHTMLレポート群
│
├── run.py # アプリ起動スクリプト
├── requirements.txt # 必要ライブラリ一覧
└── PJ_RULES.md # 開発ルール(実習用)
# 仮想環境の作成と有効化(初回のみ)
python -m venv myenv
source myvenv/bin/activate # Windowsの場合: venv\Scripts\activate
# ライブラリのインストール
pip install -r requirements.txt
# アプリ起動
python run.pyアクセス:http://localhost:5000/ にアクセスしてレポート出力を実行できます。
- データベース(PostgreSQL等)は使用していません。
- CSVファイルのカラム構成はサンプルと一致する必要があります。
- 出力形式はHTMLのみです(PDFやExcel等には未対応)。
data/ フォルダにある sales.csv、stock.csv、customers.csv はすべてテスト用データです。内容を編集してレポート表示を確認できます。
- 📄 PDF形式でのレポート出力
- 📨 出力ファイルのメール送信機能
- 🧩 CSVカラム自動マッピング機能の追加
- 🗓 UI上で定期出力スケジュールを設定可能に





