(使用 MQTT, Redis, MySQL, MongoDB, Node.js, Python, Docker Compose)的技術規劃方向:
AIOT_Server 的規劃建議
1. 完善 Node.js 後端服務(gg1_node
)
您已經處理了 Node.js 版本和 PM2 的問題,下一步應該專注於核心服務邏輯:
實作 Email 註冊與驗證:根據您文件中的流程(使用 MySQL 存使用者資料,Redis 存驗證 Token/時效性資料),需要選定並實作郵件服務(例如:使用 NodeMailer 搭配 SendGrid 或 Mailgun)。
使用者資料模型(MySQL):定義
users
表格,包含email
(PK),password_hash
,is_verified
(Boolean),created_at
等欄位。Token 處理(Redis):使用 Redis 的 SETEX 或 EXPIRE 功能來儲存
<Token>:<User Email>
鍵值對,並設定 24 小時的有效期限,確保安全性。
2. 規劃 Docker Compose 服務堆疊
為了實現您快速部署的目標,您需要開始撰寫 docker-compose.yml
檔案,定義所有服務:
3. IOT 核心資料結構與權限規劃
根據您定義的 IOT 階層與權限:
資料結構(MySQL/MongoDB):
IOT_Project:專案名稱、擁有者 (
Lev1_User_ID
)。IOT_sys:系統名稱、所屬專案 (
Project_ID
)。IOT_dev:設備名稱、所屬系統 (
Sys_ID
)。IOT_feature:數據點/功能名稱、所屬設備 (
Dev_ID
)。
憑證與授權機制:
建立
permissions
或authorizations
表格,用於儲存 Lev2 (管理權) 和 Lev3 (監看權) 的授權資訊:User_ID
,Resource_Type
(Project/Sys/Dev),Resource_ID
,Permission_Level
(2 or 3),Start_Time
,End_Time
。這將是您 API 路由和 MQTT 主題訂閱授權時的核心依據。
沒有留言:
張貼留言