Python Django 全端應用系統 案例實作 ~ Exbooks 共享書籍
概念發想
原始構想
近幾年共享經濟(sharing economy)火紅,已廣泛應用在各個領域,包含環保、公益、或商業等應用領域。
擬規劃推行一套公益性質的「共享書籍」計劃,鼓勵民眾加入本社群平臺,並拿出自有的藏書與其他人交換閱讀。
當然,搭配並設計一套雲端應用系統做為訊息交換平臺是絕對必要的。但在此之前,必要先提出整體運作模式,以確保所訂定的業務流程及規則能合理且平順的運作。
專案計劃書
🔸 計劃主旨
- 透過社群成員自主分享書籍,建立一個去中心化的共享圖書平臺,讓書籍能夠自由流通,並促進社群成員之間的交流與知識共享。
🔸 書籍共享規則
- 書籍由平臺用戶自行保管,而非集中於某一實體圖書館中。
- 平臺用戶可將自己願意分享的書籍上架至系統平臺,並且定義該冊書藉的「可傳遞性」為:「開放流通」或「閱畢即還」。
- 針對「開放流通」的書籍,貢獻者有權請求持有者歸還該書籍,持有者不得拒絕,但若有衍生的運費,原則上由書籍貢獻者負擔。
- 借入書籍者必須依照借出書籍者所指定或相互約定的時間地點取書。
- 系統尚無金流與物流功能規劃,書籍的借出與借入一律採「面交」方式認定。
- 系統將自動記錄每位用戶的書籍共享與借閱數據公開,供社群成員查閱,以鼓勵用戶積極參與共享,並建立評價制度做為信用參考依據。
- 某些書籍為套書,適合全套借閱,貢獻者可事先將全套書籍綁定為套書,系統將限制以套書方式借出,以免日後可能過於分散,貢獻者難以追回。
🔸 平臺運作模式
- 使用者角色與權限
- 一般用戶
- 註冊後可上架書籍、申請借閱、評價交易對象、拍攝書籍現況照片等。
- 從書籍觀點,可再細分為:
- 貢獻者 ~ 分享自有的書籍,並上架至系統平臺供其他用戶借閱
- 持有者 ~ 該書籍正在手中,但本人非書籍貢獻者
- 管理員
- 負責維護平臺運作、制定相關使用規則、審核異常交易等。
- 系統將書籍「流通狀態」分為 7 種:
- 保留中(限貢獻者可設定)、
- 可借閱、
- 借閱中、
- 延長借閱中、
- 逾期未還中(針對「閱畢即還」書籍)、
- 請求歸還中(針對「開放流通」書籍,限貢獻者可設定)、
- 及遺失中。
- 書籍共享與借閱流程
- 使用者註冊:
- 用戶 Email 帳號驗證
- 編輯「用戶資料」:含用戶暱稱、預設書籍可傳遞性、預設取書地點、及預設可約取書的空檔時間(以 Weekday 來定義)
- 書籍上架:
- 新增「官方書籍」資料:含書名、作者、ISBN、出版社 等欄位。
以 ISBN 為 KEY,若該書籍資料已存在,則免新增,直接選取即可。 - 新增「分享書籍」資料:含書況描述、及書況照片、可傳遞性、建議借閱週數、建議可延長借閱週數等。
- 借閱申請與媒合:
- 用戶可在系統內瀏覽閱書籍,並申請借閱。
- 書籍「持有者」可選擇是否接受借閱申請,並與「借閱者」約定取書時間、或另訂其它地點。
- 面交取書:
- 借入者需依約定時間地點取書,並在面交時確認書況。
- 面交成功後,雙方可在系統內互相評價,評價結果公開於社群供參考。
- 書況確認與上傳:
- 借入者須於取書成功後拍攝書籍現況照片並上傳至系統,以便後續借閱者了解書籍狀況。
- 書籍歸還與循環:
- 借閱期限內(如 14 或 30 天),借入者應準時歸還書籍。
- 書籍持有者確認歸還後,可再次上架書籍,供其他用戶借閱。
🔸 書籍流通與信用機制
- 書籍流通紀錄
- 上架日期
- 流通狀態
- 借閱次數
- 用戶活動紀錄
- 貢獻書籍總數
- 拒絕「借出」次數
- 成功「借出」次數
- 成功「借入」次數
- 貢獻書籍流通狀態統計數
- 持有書籍流通狀態統計數
- 累計「逾期未還書籍」次數 (僅限於「閱畢即還」的書籍,在「借閱期限」到期前未向貢獻者提出「還書申請」者,即視為「逾期未還」。一冊記一次!)
- 信用與評價制度
- 交易評價:
- 每筆面交取書交易結束後,雙方可互評(如:誠信、準時、書況描述準確度)。
- 評價結果將影響用戶的信用等級。
- 信用積分機制:
- 貢獻書籍、準時歸還書籍等,可提升信用分數。
- 違規行為(如未履行借閱約定、未按時歸還、書籍損壞)將降低信用分數,甚至影響借閱權限。
🔸 技術實現與系統功能
- 系統架構
- 後端:Django + DRF
- 資料庫:MariaDB
- 身份驗證: Diango Auth / OAuth / JWT
- 雲端存儲:?? Cloud Platform (存放書籍資料、現況照片、與交易記錄) / Firebase
- 核心功能
- 書籍管理:用戶可新增、修改、刪除自己的書籍。
- 交易媒合:提供借閱申請、通知與約定時間功能。
- 信用與評價系統:用戶可查看交易評價,提升交易透明度。
- 書況追蹤:借入者上傳書籍照片,建立書籍狀況紀錄。
🔸 法律與風險管理
- 使用者協議
- 使用者需同意服務條款,理解借閱責任與義務。
- 書籍損壞或遺失的處理機制須明確規定。
- 隱私與安全
- 用戶聯繫方式不公開,僅透過系統內部訊息聯繫。
- 交易評價公開,但不顯示個資。
🔸 預期效益
- 促進社群互動,建立共享文化。
- 減少書籍閒置,提升閱讀資源利用率。
- 提高書籍流通率,促進環保與永續發展。
🔸 總結
- 本計劃透過雲端平臺與分散式管理機制,讓書籍在社群中自由流動,並建立誠信共享機制,確保整體運作順暢。