Try   HackMD

OPass 運作原理及流程導讀

前言

OPass 是為了台灣開源資訊社群研討會所開發的報到 App,自 2016 年開始開發,在 SITCON 學生計算機年會及 COSCUP 開源人年會已多次使用,為了各活動的使用需求便啟動了整合計畫成為了 OPass 來繼續提供給大家最好的報到體驗,並提供第一手的年會資訊。

有人對於 OPass 的使用權限有所疑慮,所以乾脆來寫一篇文讓大家了解一下 OPass 的運作流程,反正都 2019 了,人人都應該要會讀 json 發 request 打 API。

曾經使用 OPass 的研討會

  • SITCON 學生計算機年會
  • COSCUP 開源人年會
  • PyConTW
  • g0v summit 零時政府高峰會
  • HITCON 台灣駭客年會

原始碼及隱私條款

OPass 專案底下的所有原始碼都在,json 的含意及內容你可以看 code 知道
https://github.com/CCIP-App/

隱私條款可以在
https://opass.app/privacy-policy.html

OPass App 運作流程

可用活動以及活動詳細設定

活動列表在以下 API 可以取得
https://portal.opass.app/events/

活動詳細設定在
https://portal.opass.app/events/{event_id}

東西都只是放在 gh-pages,原始碼可以從這邊取得
https://github.com/CCIP-App/Portal

如果你是活動主辦單位,你可以透過在這邊填寫好你的活動設定,發個 PR 過來就可以在你的活動使用 OPass 了
https://portal.opass.app

CCIP 身份認證伺服器,server_base_url

從活動設定取得的 server_base_url 就是認證活動 token 、大會公告、大地遊戲等的伺服器,這些功能都直接與 server 溝通,而各活動主辦單位可以自行架設管理,他的 source code 都在 https://github.com/CCIP-App/CCIP-Server ,設定對了 docker run 就會跑了很簡單。

快速通關功能

你打 API 不能用,大會方不會信任你,亂打反而會喪失你的權利,不想裝 App 請出示 QR Code 在現場使用

大會議程, schedule_url

在 portal 的 schedule_url 就是大會議程,json 都是透過這個專案產生,如果你只是要拿 OPass 當大會議程 App 也可以,只要填 Google Spreadsheet 再透過這個專案產生 json,OPass 就可以順利讀取了,詳細請見專案 README

https://github.com/CCIP-App/schedule-json-generator

大會公告

endpoint 是 /announcement 內容很單純

大地遊戲

大地遊戲的網頁目前都是各年會 fork 這個 repo 放在 gh-pages,如果你對前端也信任不來,也歡迎自己打 API

https://github.com/CCIP-App/CCIP-Puzzle-Bueno

相關的 endpoint 都在 /events 底下,可以自己看 code 了解邏輯
https://github.com/CCIP-App/CCIP-Server/blob/master/app/ccip.py#L199

各大會的大地遊戲可能是集點或是賓果,如果是賓果請參考前端 repo 的邏輯自己確認有沒有完成連線

就這樣,OPass 的東西真的很單純,哪邊有缺陷有遺漏,歡迎開 issue 發 PR