基於Flask架構的基礎ERP系統
Go to file
2024-11-06 03:14:37 +08:00
app 更改字型成Google Fonts:Noto Sans TC 2024-11-06 02:55:13 +08:00
migrations first commit 2024-11-06 02:39:48 +08:00
.gitignore first commit 2024-11-06 02:39:48 +08:00
config.py first commit 2024-11-06 02:39:48 +08:00
README.md first commit 2024-11-06 02:39:48 +08:00
requirements.txt 修正requirements.txt中的部件版本 2024-11-06 03:14:37 +08:00
run.py first commit 2024-11-06 02:39:48 +08:00

Flask 進銷存系統

這是一個使用 Flask 建立的進銷存管理系統,提供基本的商品管理、庫存追蹤和報表功能。

功能特點

商品管理

  • 自動生成商品代碼格式P + 年月日 + 4位序號
  • 商品基本信息管理(名稱、價格、庫存)
  • 最低庫存預警功能

庫存管理

  • 入庫/出庫操作
  • 庫存變動歷史記錄
  • 即時庫存監控

報表功能

  • 庫存狀態報表
  • 交易歷史報表
  • Excel格式匯出

技術架構

  • 後端框架Flask
  • 數據庫SQLite
  • ORMSQLAlchemy
  • 前端框架Bootstrap 5
  • 表單處理WTForms

安裝說明

  1. 創建虛擬環境:
python -m venv .venv
  1. 啟動虛擬環境:
# Windows
.venv\Scripts\activate

# Linux/Mac
source .venv/bin/activate
  1. 安裝依賴:
pip install -r requirements.txt
  1. 初始化數據庫:
flask db init
flask db migrate -m "Initial migration"
flask db upgrade
  1. 運行應用:
flask run

系統要求

  • Python 3.8+
  • pip 包管理器

目錄結構

Flask_IMS/
│
├── app/
│   ├── models/          # 數據模型
│   ├── services/        # 業務邏輯
│   ├── web/            # Web相關視圖、表單
│   └── templates/      # HTML模板
│
├── migrations/         # 數據庫遷移文件
├── instance/          # 數據庫文件
├── config.py          # 配置文件
├── run.py            # 啟動文件
└── requirements.txt   # 依賴清單

配置說明

主要配置項config.py

class Config:
    SECRET_KEY = 'your-secret-key'
    SQLALCHEMY_DATABASE_URI = 'sqlite:///inventory.db'
    SQLALCHEMY_TRACK_MODIFICATIONS = False

開發說明

添加新功能

  1. 在 models/ 添加新的數據模型
  2. 在 services/ 實現相關業務邏輯
  3. 在 web/views/ 添加路由處理
  4. 在 templates/ 創建相應的模板

數據庫變更

flask db migrate -m "變更說明"
flask db upgrade

注意事項

  • 這是一個開發版本,不建議直接用於生產環境
  • 使用前請務必修改 SECRET_KEY
  • 建議定期備份數據庫文件

環境變量

創建 .env 文件並設置:

FLASK_APP=run.py
FLASK_ENV=development
FLASK_DEBUG=0

依賴套件

主要依賴包括:

  • Flask==3.0.0
  • Flask-SQLAlchemy==3.1.1
  • Flask-Migrate==4.0.5
  • Flask-WTF==1.2.1
  • pandas==2.1.3
  • openpyxl==3.1.2
  • python-dotenv==1.0.0

授權說明

此專案採用 MIT 授權。