Skip to content

CSVデータをもとに定期的なHTMLレポートを出力するFlaskアプリケーション(在庫・売上・顧客対応)

Notifications You must be signed in to change notification settings

abej7/flask-scheduled-report-generator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

UI Image

🗂️ 定期レポート出力管理システム(Flaskアプリ)

Flaskをベースに構築された軽量な管理ツールで、CSVデータをもとに定期的なHTMLレポートを出力するシステムです。
在庫・売上・顧客などのCSVファイルをアップロードするだけで、HTML形式のレポートを自動生成します。


🚀 特徴

  • 📑 CSVデータ(売上・在庫・顧客)からHTML形式のレポートを出力
  • 📆 週次・月次などに応じた定期レポート出力(ロジックにより実行制御)
  • 🌐 Web UI上から手動出力も可能
  • 📁 出力ファイルは output/reports/ に保存
  • 💻 Jinja2テンプレートで見やすいHTML構造に整形

🖥 画面イメージ

1. 初期画面

UI Image

2. 帳票選択(プルダウンメニュー)

UI Image

3. スケジュール設定後

UI Image

4. レポート出力イメージ(売上レポート)

UI Image

5. レポート出力イメージ(在庫レポート)

UI Image

6. レポート出力イメージ(顧客レポート)

UI Image


🛠 使用技術

項目 内容
バックエンド 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                      # 開発ルール(実習用)

▶️ 起動方法(CSVデータあり前提)

# 仮想環境の作成と有効化(初回のみ)
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等には未対応)。

🧪 テスト用CSVについて

data/ フォルダにある sales.csvstock.csvcustomers.csv はすべてテスト用データです。内容を編集してレポート表示を確認できます。


🧭 今後の拡張案

  • 📄 PDF形式でのレポート出力
  • 📨 出力ファイルのメール送信機能
  • 🧩 CSVカラム自動マッピング機能の追加
  • 🗓 UI上で定期出力スケジュールを設定可能に

About

CSVデータをもとに定期的なHTMLレポートを出力するFlaskアプリケーション(在庫・売上・顧客対応)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published