---
# System prepended metadata

title: Term Project
tags: [跨領域]

---

###### tags: `跨領域`

# Term Project
ALSO: [here](https://hackmd.io/@txLtb1_dT1eziDq4utYbqA/rJSCsjLjd)
## 任務一: 看圖說話
1. 簡述圖表:
    一開始先用和使用者相同的角度去思考需求，讓所有人都能說出真實的需求。找到需求時，我們思考問題解決隱藏在一開始需求的問題(差異化...)，透過這些需求可以找出我們需要解決的問題，不只只透過提出專業需求的客戶， 開發者也可以共同提出創意點子，讓開發者不和需求脫節。最後製作原形並測試。

## 任務二
1. 準備工作
    - first stage
        - 完成的是: 密碼鎖連結手機程式
        - 目標客群: 學校(部分沒鎖卻有隱私需求的櫃子)
        - 使用者想像中的樣子
            - 透過 node mcu 加上繼電器的組合連結電鎖，提供 app 當作入口開啟密碼鎖
    - second stage
        - 設計訪談問題並進行訪談，並澄清問題
            1. Q: 成本問題: node mcu 一章板子 100 多，加上材料費划算嗎?
                A: 值得考慮的問題，但本身就是為了鎖有價值的物品，所以應該值得
            2. Q: 如果是透過 wifi 傳輸開啟或關閉資訊，產生兩種問題
                - 安全問題
                    - wifi 透過 http 可能會被同一區網下的人監聽
                    - 解決方法:
                        - 加密(HTTPS)
                        - 區網透過 tunnel + reverse proxy 簡單實踐出安全的網路
                - 易用性問題
                    - 如果不在現場，但卻想開啟電子鎖，會有開不起來的問題，透過密碼使用也怪怪的，多人共用密碼有點不安全
                    - 解決方法
                        - 加入帳號認證設定
                        - 區網 proxy 到外網，同上第二點
            3. 假設使用外網 ip + https 會有一些問題
                - host name?
                - virtual machine?
                    - gcp
                    - linode
                    - digital ocean
                - certificate
                    - free certificate
                        - let's encrept us
                        - certbot
            4. 資料存儲位置
                - firebase
                - s3 bucket
                - google cloud storage
                - cloud function + google sheet
    - third stage: 排定流程
        1. 主程式會動
        2. 用戶管理
        3. https
            - hostname 
            - certificate
        4. proxy
    - forth stage: proptotype or 圖
    ![](https://i.imgur.com/07qt8sp.jpg)
