---
# System prepended metadata

title: Team B 內部討論 會議紀錄 (20221202)
tags: [' template', meeting]

---

---
title: Team B 內部討論 會議紀錄 (20221202)
tags: meeting, template
description:
    1. title 請改為 [活動名稱] 會議紀錄 (yyyymmdd)
    2. tag 請刪去template，加上種類、活動名稱、時間 (格式：yyyymmdd)
        種類：成員會議(general)、核心會議(core)、活動會議(activity)、專案會議（project)
    3. 下方會議記錄請使用會議記錄範本
    4. 加上"{%hackmd BkVfcTxlQ %}"意為套用黑色模板
---
{%hackmd BkVfcTxlQ %}
# ***Team B 內部討論 會議紀錄 (20221202)***
:::info
活動企劃書： [OVCT 專案企劃書](https://hackmd.io/@4by55/HJS8y2eRi)
* 會議參與成員：
    [name=]宋安琪、王筱鈞、許雅喬
    共計 3 人
    [name=]會議紀錄：宋安琪

* 會議時間：
    [time=] Dec. 02, 2022 (Fri.) *21:00~22:00*

* 會議地點：
    Discord 頻道 - 草螟鬥雞公
    
:::

> [TOC]
> 

***
## **會議議程**
:::warning
* 針對 Project Abyss 公司的需求進行預估
* 捋順系統流程
* ...
:::
### 甲方給的參考程式碼
https://github.com/Project-Abyss/OVCT

### 針對 Project Abyss 公司的需求進行預估
1. 系統檔案架構更簡潔
2. 擴展性
3. initialization
4. update

### 初始化 vs 更新的意義
* initialization : 將所有清單 pull 下來，並將檔案載入csv
* update : 將現行網站清單與初始化清單進行比對，更新清單，更新/新增資料


# 流程
1. 啟動工具
2. 選擇初始化：
    * Case1: 只進行一次初始化
        * 選擇初始化：詢問是否進行初始化(Yes/No) - case1
            * Yes : 載入當前站點清單與所有站點檔案
            * No : 載入預設站點清單與站點檔案
        * 強制初始化（不需要預設清單）- case2
            * 不進行詢問，一啟動工具則同時進行初始化
    * Case2: 進行重複初始化
        * 紀錄啟動工具後第一次初始化的清單，每執行一次初始化則恢復第一次初始化的清單
        * 刪除原本的清單，並載入當前站點清單。
3. 更新：
    * 將現行網站清單與初始化清單進行比對，更新清單，更新/新增資料
        * Case1 : 僅新增清單站點而不刪除清單的站點，下載新增站點檔案
        * Case2 : 更新後刪除並新增清單站點

### *初步構想*
提出我們的能做到的功能與想法(初步構想)，待與甲方確認
Case 1 : 
```
Do you initialization ? (Yes/No)(啟動工具後僅問一次)
> Yes. File already loaded.
> No. Default file already loaded.
What will you do?
1. update
    > 將現行網站清單與初始化清單進行比對，並新增原本沒有的站點至清單中
2. connection
    > 驅動 openVPN 連線掛載
```
Reject : 初始化選項顯得很多此一舉

---
Case 2 : 
```
Initialize Finished.(啟動工具同時執行)
1. update
2. connection
```
Reject : 初始化沒有做選項

---
Case 3 : [Decide]
```
What will you do?
1. initialize(可重複選擇)
   > 刪除原有檔案，載入當前站點清單
2. update
   > 將現行網站清單與初始化清單進行比對，並新增原本沒有的站點至清單中
3. connection
   > 驅動 OpenVPN 連線掛載
```
---
架構圖：

![](https://i.imgur.com/sDbncNn.png)

### Initialize
* 若/ovpn內有資料則刪除所有檔案並清空station_list.csv
* 爬取reference並新增清單的站點儲存於 station_list.csv
* 依station_list 將所有 .ovpn 儲存於 /ovpn

### Update
* 爬取目前 vpn gate 的 station 清單
* 比對未在 station_list.csv 中出現的 station，新增 station 記錄至 station_list.csv
* 將新增 station 紀錄的 .opvn 存入/ovpn


---
## **臨時動議**
