Skip to main content

Review of bamboofox platform

· 2 min read

記錄一下寫 bamboofox 平台的心得

其實當初這個平台是為了 migrate 以前的課程所建置的

當初的課程平台只能容納一個課程

所以主要的設計是要能容納多個課程為主

為了註冊方便就寫了 OAuth 登入

大部分的時間都是在 survey OAuth 是個怎麼樣的東西

還有網站要怎麼架起來之類的

比較麻煩的點是想要一個帳號能夠 link 多個 OAuth provider

像是原本用 facebook 註冊登入後

又想要 link 別的 social media (ex: github, google)

主要是參考這篇文章 https://sourcey.com/rails-4-omniauth-using-devise-with-twitter-facebook-and-linkedin/

把和 OAuth 有關的欄位移出 User table 建立一個新的 table Identity

每個 user has_many identities

主要的邏輯是使用者登入可以 link 其他 OAuth

如果登入 OAuth 成功就新增 identity 給那個 user

下次登入的時候就會靠 identity 來找到同一個 user 了

主要架設平台的搭配是 nginx + passenger + rvm

migrate 的方式我是直接先架一個 phpmyadmin 起來

先新增新網站的 schema

然後慢慢把舊網站的資料改成新網站的形式

最後再直接 import 到新網站的資料庫