協作專案 - Simple Twitter

Avatar of 陳資運.
Avatar of 陳資運.

協作專案 - Simple Twitter

Backend Engineer
Taipei, Taiwan

Simple Twitter

專案資訊

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 事件邏輯設計

專案畫面

前台

登入畫面 / 推文首頁

 

個人資訊頁 / 公開聊天室

 

後台

推文清單 / 使用者清單

 
模仿知名平台 Twitter 打造的簡易社群網站,使用者可以進行推文、回覆,也能夠追蹤其他使用者,另外設有公開聊天室,讓加入的使用者可以進行即時聊天。 此專案採用前後端分離模式開發,為 4 人小組的協作專案。
Avatar of the user.
Please login to comment.

Published: Nov 5th 2021
37
3
0

Tools

vuejs
Vue.js
heroku
Heroku
mysql
MySQL
express
Express
nodejs
Node.js

Socket.IO
前後分離
Swagger API
RESTful API
JWT Authentication
Passport.js
Heroku
MySQL
Express.js
Node.js

Share