FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

ExpTechTW/DPIP: Disaster Prevention Information Platform (防災資訊整合平台) · GitHub

/ DPIP Public

Latest commit

 

History

2,327 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

臺灣的防災資訊整合平台 —— 地震速報、即時震度、天氣與災害示警,都在同一個 App 裡。

官網更新日誌開發文件

DPIP 是什麼

DPIP(Disaster Prevention Information Platform)是臺灣本土團隊開發的行動應用程式,整合強震即時警報、地震資訊、天氣與各類災害示警。

地震發生時,地震波從震央傳到你所在的位置需要數秒到數十秒。強震即時警報就是在這段時間差裡送出通知 —— 讓你在搖晃抵達之前,還有時間趴下、掩護、穩住。

能做什麼

地震速報 地震發生時推播你所在地的預估震度,以及距離搖晃還有幾秒
即時震度 地圖上即時顯示 TREM-Net 各觀測站的實測震度
地震報告 查詢歷史地震的震度分布、規模與深度
天氣與雨量 你所在鄉鎮的天氣、雨量趨勢與雷達回波
颱風 路徑預報、暴風圈範圍與警戒資訊
災害示警 中央氣象署與國家災害防救科技中心的各類示警,疊在同一張地圖上
多語言 介面支援 10 種語言

Note

這個儲存庫正在進行架構重寫(feature-first 分層,見 ARCHITECTURE.md)。main 上的每一次提交都會發布一個快照版本,快照未經完整審查。想要穩定版本請從商店安裝。

資料來源

地震

資料 來源
強震即時警報 交通部中央氣象署(CWA)
緊急地震速報(可選) 日本氣象廳(JMA、気象庁)
地震報告 交通部中央氣象署
即時震度 TREM-Net

氣象

資料 來源
天氣、雨量、閃電 交通部中央氣象署
颱風路徑、暴風圈、警報 交通部中央氣象署
雷達回波 交通部中央氣象署
未來一小時降水(QPESUMS) 交通部中央氣象署
衛星雲圖 日本氣象廳向日葵 8/9 號(Himawari),16 個觀測波段

防災

資料 來源
各類災害示警 國家災害防救科技中心(NCDR)
避難收容處所、AED、公廁 政府開放資料

關於 TREM-Net

TREM-Net 由 ExpTech Studio 建置與維運,自 2022 年 6 月起在全臺部署,由兩個子系統組成:SE-Net(強震觀測網,加速度儀)與 MS-Net(微震觀測網,速度儀),共同記錄地震發生時的完整波形。

下載

從商店安裝(建議):

也可以從 Release 頁面取得 Android 安裝檔手動安裝。請注意 Release 頁面同時包含快照版本,那些未經完整審查。

想搶先體驗新功能?加入測試版

測試版可能包含尚未完整審查的功能,遇到問題歡迎到 Issues 回報。

翻譯

DPIP 介面目前有 10 種語言,翻譯在 Crowdin 上進行,挑一個你熟悉的語言就能開始。

清單裡沒有你的語言,就到 Issues 開一則,我們會加上去。

參與開發

工具鏈由 mise 釘選版本:

git clone https://github.com/ExpTechTW/DPIP.git
cd DPIP
mise install          # 安裝 mise.toml 釘選的 Flutter
tool/dev/deps.sh      # 取得套件

git hooks 由 tool/run.sh 第一次啟動時自動裝好,不用另外做。只想建置不想跑的話,tool/dev/setup.sh 可以單獨裝。

啟動:

系統 指令
macOS、Linux tool/run.sh -d <裝置>
Windows tool\run.ps1 -d <裝置>(或用 Git Bash/WSL 跑 bash tool/run.sh,日誌會上色)

一定要用這個腳本。 debug 版本偵測到不是這樣啟動會拒絕執行並印出正確指令 —— 直接跑起來的話,用到的是你 shell 快取的那個 Flutter 而不是 mise.toml 釘選的那個,而且當下不會有任何徵兆。

建置成安裝檔:

tool/dev/build.sh android    # APK
tool/dev/build.sh bundle     # AAB(Play 實際收的格式)
tool/dev/build.sh ios        # iOS(不含簽章)

其餘每件事也都有腳本,tool/ 底下分類放好:

要做什麼 指令
跑測試 tool/dev/test.sh
格式化 + 靜態分析 tool/dev/analyze.sh
只格式化 tool/dev/format.sh
重新產生 l10n tool/dev/l10n.sh
重新產生 codegen tool/dev/codegen.sh
砍掉重建 tool/dev/clean.sh
跑完 CI 會跑的每一道關卡 tool/check.sh

mise 是必要條件,不是建議。 沒有 mise 就不能建置這個專案 —— 腳本會直接拒絕執行並告訴你怎麼裝。

絕對不要自己打 flutter、dart 或 mise exec。 工具鏈只在 tool/dev/_lib.sh 一個地方指定。理由不是整潔:shell 的 PATH 只解析一次,mise activate 會把它快取起來,所以升級工具鏈之後舊的 SDK 還留在 PATH 上 —— 而用錯 SDK 一樣建得起來、跑得起來、測試也會過,差別要到幾天後變成一個沒人重現得出來的失敗才浮現。

三道防線:

擋什麼
tool/dev/_lib.sh 的 require_mise 沒裝 mise、沒有 mise.toml、或 flutter 解析到 mise 以外的路徑,一律拒絕執行
tool/check/tooling.sh 文件與 CI 裡出現裸指令;tool/ 裡任何腳本語法錯、沒有執行權限、或直接呼叫 flutter / dart / mise exec
tool/run.sh 啟動前把上面兩項都跑一次(0.34 秒)

Note

Android 需要 JDK 17 以上(Android Studio 內建的即可)。iOS 已改用 Swift Package Manager,不需要 CocoaPods。

其餘所有事情都寫在別的地方,這裡不重複 —— 重複的文件一定會走鐘:

想找
工具鏈、執行、推送前的驗證清單、版本規則 AGENTS.md
資料夾結構、分層規則、各子系統的契約 ARCHITECTURE.md
設計 token、顏色、間距、動態、圖示、多語言 DESIGN.md
API 端點與區域對照 api.md
Commit 格式(CI 會擋) commit.md

參與方式

  • 回報問題或提出建議:Issues
  • 提交程式碼:Fork 這個儲存庫,開新分支修改,然後送 Pull Request
  • 改進文件:上面那五份都歡迎

送 PR 之前請先讀 commit.md:commit 訊息會直接變成更新日誌,格式不合 CI 會擋下來。

感謝所有讓 DPIP 成為可能的貢獻者:

合作夥伴

巨科資訊有限公司 提供開發與測試所需的設備
台灣數位串流有限公司 提供雲端運算資源、網路頻寬與技術諮詢

授權

DPIP Public License這是 source-available 授權,不是開放原始碼授權 —— 原始碼公開可閱讀、可貢獻,但禁止商業使用,也禁止用來做出與 DPIP 競爭的產品。完整條款見 LICENSE

Star History

About

Disaster Prevention Information Platform (防災資訊整合平台)

Topics

Resources

Stars

266 stars

Watchers

4 watching

Forks

Releases

Sponsor this project

Used by

Contributors

Languages

Generated from ExpTechTW/Example

Back | FazBrowse Home | New Git URL