這是Alpha Camp的團體專案:Simple Twitter,模擬Twitter的簡化版Twitter。
是存放作為前端串接資料、進行database操作的路由的repository。
Simple Twitter連結:https://sh330035.github.io/twitter-frontend/
- 管理者方面
- 登入
- 瀏覽使用者清單
- 刪除使用者推文
- 使用者方面
- 註冊與登入
- 瀏覽使用者資訊 (1) 瀏覽目前使用者的資訊 (2) 瀏覽其他使用者的推文、回覆、喜歡與追蹤等清單 (3) 瀏覽前十名最多人追蹤的清單
- 使者者互動 (1) 編輯目前使用者的資訊 (2) 對推文進行發布、回覆與喜歡的動作 (3) 對其他使用者進行追蹤與小鈴鐺的開啟和取消的行為
- 資料庫
- config/config.js:設定對應本機SQL的username, password與database名稱
- migrations:建立各個Model的Table時,預設之變數與資料型態
- models:各個Model的變數與資料型態,及其與其他Model的關聯性
- 路由
- config/passport.js:登入的驗證功能之設定
- controllers/api:回傳來自services送來的資料或狀態
- route/api.js:路由列表
- services:每條路由所對應之database的CRUD
- 套件與其他
- package.json:本repository所使用的套件和執行設定
- Node.js:讓JavaScript在伺服器端運行的執行環境
- Express.js:基於Node.js來開發Web App的框架
- Passport.js:採用JSON Web Token作為登入驗證的middleware套件
- MySQL:用來儲存資料的關聯式資料庫
- Heroku:部署Web App的雲端平台
- 下載repository
git clone -b master git@github.com:jadokao/twitter-api-2020.git
- 進入資料夾
cd twitter-api-2020
- 進行套件下載
npm install
- 建立檔案:.env,並參考檔案:.env.example,放入環境變數
- 至資料夾config裡的config.json,修改環境development內的username與password和本機的SQL資訊相符
- 到SQL Workbench,輸入指令來建立database
create database ac_twitter_workspace;
- 建立Model的Table至database
npx sequelize db:migrate
- 載入種子檔
npx sequelize db:seed:all
- 輸入指令,運行server
npm run dev
- 如果是使用windows系統,需要到檔案:package.json,找到scripts下的dev,把內容改成:
nodemon app.js
- 前台測試帳號
- account:user1
- email:user1@example.com
- password:12345678
- 後台測試帳號
- account:root
- email:root@example.com
- password:12345678
- 前端
- 後端