這是一個簡易版的推特(Twitter)專案,主要功能分別提供:
- 前台使用者 1.發佈、瀏覽、回覆、喜歡推文(Tweet) 2.追蹤其他使用者 3.編輯個人資料
- 後台使用者 1.看見所有使用者清單 2.看見所有推文 3.刪除使用者推文
本專案主要技術包含:Node.js, Express, bcryptjs, passport, Sequelize, JWT,相關資訊請見以下:
git clone https://github.com/lcy101u/twitter-api-2020
cd twitter-api-2020
npm install
依照 .env.example 中資訊範例新增一個名稱為 .env 的檔案
JWT_SECRET=
IMGUR_CLIENT_ID=
PORT=3000
如何取得 IMGUR_CLIENT_ID
- 前往 imgur - Register an Application 填寫資訊
- 於
Authorization type:
請選擇OAuth 2 authorization without a callback URL
- 點選
submit
便可取得Client ID
與Client Secret
※ 一旦關閉便無法再次檢視資訊,請務必紀錄後再關閉頁面
- 設定 MySQL 連線資訊: 在 ./config/config.json,請確保MySQL Server帳號密碼與username、password一致
"development": {
"username": "root",
"password": "password",
"database": "ac_twitter_workspace",
"host": "127.0.0.1",
"dialect": "mysql"
},
"test": {
"username": "root",
"password": "password",
"database": "ac_twitter_workspace_test",
"host": "127.0.0.1",
"dialect": "mysql",
"logging": false
}
- 登入MySQL Workbench後,在SQL File輸入並執行
create database ac_twitter_workspace
create database ac_twitter_workspace_test
- 建立資料庫table,在終端機輸入
npx sequelize db:migrate
- 建立種子資料
npx sequelize db:seed:all
需先安裝 nodemon
npm run dev
Example app listening on port <PORT>
* 後台 admin
account: root
password: 12345678
* 一般使用者
account: user1
password: 12345678
- Node.js(v16.14.0)
- Express
- MySQL
- MySQL Workbench (v8.0.27)
- sequelize
- sequelize-cli
- .env