---
# System prepended metadata

title: 樹莓派居家安全系統-02-系統架構
tags: [樹莓派, pyHomeSafe, raspberrypi]

---

# 樹莓派居家安全系統-02-系統架構
###### tags: `樹莓派` `raspberrypi` `pyHomeSafe`
>[name=shaoeChen] [time=Mon, Feb 3, 2020 8:11 AM]

系統架構的部份主要是採用[李輝(greyli)](http://greyli.com/tag/flask/)所建議的模式下去設置。greyli是flask的核心開發人員之一，也寫了不少方便的擴展，而且出版一本書『Flask web開發實戰』，是一本不可多得的好書，放手邊非常實用。

大致架構如下：
```json
pyHomeSafe\
    app\
        blueprints\
        static\
        templates\
        __init__.py
        extensions.py
        forms.py
        models.py
        utilitys.py
    .flaskenv
    .gitignore
    app_run.py
    changelog.md
    config.py
    README.md
    requirements.txt
```
說明如下：
* `blueprints`：所有的view function
* `extensions.py`：所有的擴展通通於此初始化
* `forms.py`：表單類
* `models.py`：資料庫
* `.flaskenv`：flask需求環境變數
* `config.py`：系統需求配置
* `app_run.py`：執行檔
* `utilitys.py`：工具
