紀錄屬於自己的餐廳清單,可以瀏覽餐廳、查看詳細資訊、甚至連結到地圖。
- 查看所有餐廳
- 瀏覽餐廳的詳細資訊
- 連結餐廳的地址到 Google 地圖
- 搜尋特定餐廳
- 新增餐廳
- 編輯餐廳
- 刪除餐廳
- 註冊帳號、登入、登出
- 第三方登入 Facebook login
- 註冊及登入由header的登入/註冊modal完成
- 新增會員後台(在登入後的頭像下拉選單裡)
- 新增餐廳由下拉選單(撰寫)前往
- 編輯/刪除功能要在會員後台的餐廳列表前往
- 搜尋及分頁連動, 查詢結果如有第二頁以上, 分頁連結不會取消關鍵字
- 餐廳detail增添previous跟next箭頭, 可以直接導向下一篇餐廳detail
- 餐廳detail的返回鍵非強制回到首頁第1頁, 而是回到進入detail前的頁面
-
請先確認有安裝 node.js, npm
-
將專案 clone 到本地
-
在本地開啟之後,透過終端機進入資料夾,輸入:
npm install
-
可以擇一以下方式確認環境變數NODE_ENV=development:
Power Shell
$env:NODE_ENV = "development" echo $env:NODE_ENV
CMD
set NODE_ENV=development echo %NODE_ENV%
Git Bash
export NODE_ENV=development echo $NODE_ENV
-
在root資料夾創立包含以下資訊的.env檔:
SESSION_SECRET=XXXXXX FACEBOOK_CLIENT_ID=XXXXXXXXXXXXXXX FACEBOOK_CLIENT_SECRET=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX FACEBOOK_CALLBACK_URL=http://localhost:3000/auth/redirect/facebook
-
請在./config/config.json設置MySQL的帳號及密碼,再依序輸入:
如Mysql已存在名為restaurants的db,無須執行
npm run dbnpm run db npm run seed npm run start
-
若看見此行訊息則代表順利運行,打開瀏覽器進入到以下網址:
http://localhost:3000/restaurants
-
若欲暫停使用:
ctrl + c
-
預設帳號資訊:
-
名稱: null
密碼: 12345678
餐廳: 1, 2, 3
-
名稱: null
密碼: 12345678
餐廳: 4, 5, 6
-
名稱: alex
信箱: alex@gmail.com
密碼: alex5678
餐廳: 7, 8
-
- Node.js 20.11.0
- Express 4.19.2
- Express-Handlebars 7.1.2
- Font-Awesome 6.5.2
- MySQL2 3.9.7
- Bcrypt 5.1.1
- Connect-Flash 0.1.1
- Dotenv 16.4.5
- Express-Session 1.18.0
- Method-Override 3.0.0
- Passport 0.7.0
- Passport-Facebook 3.0.0
- Passport-Local 1.0.0
- Sequelize 6.37.3
- Sequelize-Cli 6.6.2
