Live Demo:https://fogjogger1992.github.io/simple-twitter/
GitHub (Backend):https://github.com/bradychen2/twitter-api-2020
GitHub (Frontend):https://github.com/fogjogger1992/simple-twitter
前台 (User):
帳號 - [email protected]
密碼 - 12345678
後台 (Admin):
帳號 - root@example.com
密碼 - 12345678
使用者 (User)
1. 可以註冊帳戶進行登入,並編輯個人資訊跟帳戶資訊
2. 可以新增推文、對他人推文進行留言
3. 可以對他人推文按喜歡、追蹤使用者
4. 可以瀏覽他人的公開個人資訊,包括推文、回覆、喜歡的推文,跟隨中的人與跟隨者
5. 可以進入公開聊天室與他人進行即時聊天,並可以查看歷史訊息
管理者 (Admin)
1. 可以瀏覽所有使用者推文的清單並能夠刪除貼文
2. 可以瀏覽所有使用者的清單
開發模式:
採用前後端分離開發,前端使用 Vue.js 框架,
後端利用 Node.js 搭配 Express 框架進行 API Server 開發,並採用 MySQL 作為資料庫
小組使用 Slack 進行溝通,並利用 Notion 共同筆記內建的 Kanban 系統進行任務管理,
筆記頁用來存放開發文件,
程式碼協作使用 Git + GitHub 進行版本控制,並採用 Git Flow 協作流程
資料庫相關:
使用 Sequelize(與 Node.js 對應的 ORM)來連線並直接操作 MySQL 資料庫
登入驗證:
使用 Passport.js 套件實作登入驗證邏輯, 並採用 JWT 驗證機制
API 相關:
以 RESTful 風格設計 API endpoint,並使用 Swagger 工具來撰寫 API 文件
雲端部屬:
前端 Server 部署於 GitHub Page
後端 API Server 部署於 Heroku,並採用 ClearDB 作為遠端資料庫
即時通訊:
使用 Socket.IO 套件實作即時聊天室
1. 根據 ERD 建立資料庫 Model Schema,設定 Model 之間的關聯、並用 Faker 套件產生種子資料
2. 使用 Passport.js 實作登入邏輯及 JWT 驗證
3. 撰寫註冊、前後台登入、回覆推文及部分使用者相關的 API 功能
4. 撰寫 Swagger API 文件
5. 聊天室 Socket 事件邏輯設計