Skip to content

bifrostio/bifrost

Repository files navigation

Bifrost

Hackpad: https://g0v.hackpad.com/Bifrost--C8AgQKHhreC

在台灣的災害物資運送通常都是透過媒體登高一呼,而物資捐贈常因為沒有適當的溝通管道,導致物資過多、捐贈不需要的物資甚至部分地區根本接收不到任何物資。

Bifrost 希望建立一個雙向的物資管理平台,讓受贈者與捐贈者可以在同一個平台上,知道目前捐贈的狀況以及哪邊需要什麼種類的物資。

現況

目前這個專案沒有太積極地開發,如果你仍對這個專案有興趣開發,請在 Facebook 或 Twitter 聯絡 @yurenju。

功能介紹

前台使用者介面

在前台部分主要有三個頁面:

  • 首頁:顯示專案簡介以及連結到地圖與物資站頁面
  • 地圖:在地圖上顯示所有的物資站
  • 物資站:單一物資站頁面,裡面包含了聯絡資訊以及所需物資

Map page screenshot Station page screenshot

在物資站的頁面瀏覽物資後,在畫面的最底端是捐贈按鈕,點擊後會來到捐贈物品的頁面。選擇捐贈數量、填寫完聯絡資訊送出後,則會出現寄送資訊,其中寄送資訊會提示在地址欄可以填寫編號,可以快速的讓收貨人員點收此筆物資是由哪位捐贈人所捐贈。

Donation 1 screenshot Donation 2 screenshot

後台管理介面

後台的管理者介面,預設的帳號密碼如下:

登入後可看到所有的物資需求,也可以在此編輯更改物資需求。

Admin 1 screenshot

點選 點收物資 則會出現目前已經捐贈的捐贈人以及進度,如果需要點收物資時則會在此介面點收。每個捐贈者都會有自己的編號,收貨人員可以依此快速找到捐贈者。

Admin 2 screenshot

開發

Bifrost 採用 Node.js 6.x 系列開發,前端採用 React,後端採用 Loopback (node.js),在非 production 環境時,資料僅會儲存在記憶體,所以開發時不需要安裝任何資料庫。

執行 bifrost 僅需兩個步驟:

$ npm install
$ npm start

第一行指令將會安裝所需相依套件,第二行指令則用於執行本地 web server,啟動後開啟瀏覽器至 http://0.0.0.0:3000/ 即可看到專案列表

設定檔

所有的伺服器設定都在 /server 目錄底下,其中結尾有 production 的設定檔案是在 NODE_ENV=production 時才會啟用,比如說資料庫的基礎設定在 datastores.json,其中是使用 memory database,伺服器停止或重開後後所有資料都會消失。但是在 datasources.production.js 則用 mongodb 資料庫,所有資料都會儲存在資料庫中。

另外在開發模式可以用 http://0.0.0.0:3000/explorer/ 進入 API explorer,可以直接用 API 呼叫 bifrost 所提供的所有功能,但此功能只有在開發模式才可以使用,production 模式並沒有開放 API explorer。

API explorer

資料庫表格

系統裡所有的資料庫表格都放在 /common/models/ 裡面的 JSON 檔案,簡介如下:

  • address: �內部用的地址表格
  • batch: 一個捐贈批次,其中可能包含多項物資以及捐贈者聯繫資訊
  • contact: 內部用的聯絡人表格
  • project: 專案,一個專案內會有許多個物資站。當初表格設計時是可以容納多個專案,但是目前通常都只有一個專案。
  • provision-activity: 物資動態,當每次有物資接收時,會產生一筆物資動態,紀錄本次物資接收時的物資數量
  • provision-requirement: 物資需求,開設一個物資站時會填寫有多少物資需求會登記在此表格
  • station: 物資站
  • user: 使用者

每個表格之間的關係,也都可以在這些 JSON 檔案裡面的 relations 欄位找到。權限控管也都在 JSON 當中。

預設資料

在開發模式啟動伺服器時,系統將會自動建立一組測試用的資料集,包含了一個展示用的物資站、所需物資、管理者帳號等等,所有展示用的資料都會在 /server/boot 裡面定義。

Contribution

若找到任何 bugs,請使用 github issue tracker 新增 issue,也歡迎直接送 pull request 協助解決問題!

LICENSE

本專案採用 MIT 授權,Landing Page 授權為 Apache 授權,部分圖片取自 Flickr,授權請見 圖片授權

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published