Flask + SQLAlchemy + PostgreSQL を用いた在庫管理アプリケーションです。
商品データの登録・検索・編集・削除が可能で、カスタムスタイルとBootstrapによるモダンなUIも備えています。
- 📋 商品のCRUD操作(Create / Read / Update / Delete)
- 🗂 SQLiteではなくPostgreSQLを使用(実運用を想定)
- 🎨 BootstrapとカスタムCSSで整ったUI
- 📄 CSV出力機能
- 🕓 操作履歴の表示(直近5件)
| 項目 | 内容 |
|---|---|
| バックエンド | Flask |
| データベース | PostgreSQL(SQLAlchemy ORM使用) |
| フロントエンド | HTML / CSS(Bootstrap補完) |
| その他 | Jinja2テンプレート / フォルダ構造分離設計 |
inventory_system/
├── app/
│ ├── __init__.py # Flaskアプリ生成とDB初期化
│ ├── models.py # 商品モデル定義(SQLAlchemy)
│ ├── routes.py # ルーティング処理(Blueprint登録)
│ ├── templates/
│ │ ├── index.html # メイン画面(商品一覧・追加・履歴)
│ │ └── edit.html # 編集画面
│ └── static/
│ └── style.css # カスタムCSS(Bootstrap補完)
├── instance/
│ └── inventory.db # (SQLite用。PostgreSQL使用時は不要)
├── create_tables.py # DB初期化スクリプト
├── run.py # 起動スクリプト(Flask本体)
├── requirements.txt # 必要パッケージ一覧
└── README.md # このファイル
app/__init__.py 内で以下のように設定:
app.config["SQLALCHEMY_DATABASE_URI"] = "postgresql://ユーザー名@localhost/データベース名"# 仮想環境有効化後
# テーブル作成(初回のみ)
python create_tables.py
# アプリ起動
python run.py- 本アプリはSQLiteではなく PostgreSQL用に構成 されています。
- DBが正しく起動していないと接続エラーになります。
- BootstrapボタンやレイアウトはカスタムCSSで微調整されています。



