此專案為 程式導師實驗計畫第五期 的 Final project - DAYEAYEAYEA 購物網站的後端專案,團隊使用 React / Express & Sequelize 進行前後端分離開發。
專案 DAYEAYEAYEA 是一個居家選物品牌的電商購物網站,從後疫情時代的生活需求為發想,提供質感用品給對居家品質和休閒生活有其藍圖的顧客,透過我們簡潔而順暢的網站頁面讓顧客能按照主題快速找到並購買自己喜歡的商品。網站提供給使用者的功能有使用者註冊、會員登入、查看商品、加入購物車及結帳。
在網站管理後台上,我們開發了「會員管理」、「商品管理」及「訂單管理」三大介面,並按照管理員權限等級開放不同程度的功能,完整功能包括管理員登入、會員資料檢視與會員等級調整、訂單進度控制與封存、商品新增刪除與編輯管理。
-
用於處理密碼雜湊。
-
設定與存取環境變數。
-
實作資料庫的 ORM 操作。
-
簽署 token 實作使用者身分驗證。
-
用於創建 http error code 。
-
使用 mysql2 連線資料庫。
-
解決跨來源資源共用。
-
HTTP request logger 存取連線紀錄。
-
自動化重啟 Node.js application。
-
自動化生成 API 文件工具。
-
自動化生成 API 文件工具。
-
用以讀取 yaml 檔案。
npm install
{
"development": {
"username": "",
"password": "",
"database": "",
"host": "localhost",
"dialect": "mysql"
},
"test": {
"username": "",
"password": "",
"database": "",
"host": "127.0.0.1",
"dialect": "mysql"
},
"production": {
"username": "",
"password": "",
"database": "",
"host": "127.0.0.1",
"dialect": "mysql"
}
}
SESSION_SECRET=''
在 MySQL 資料庫中建立 database 及 table
npm run migrate
在 MySQL 資料庫中建立初始 demo 資料
npm run get-test-data
npm run start
使用 PM2 部屬於 Linode 伺服器。
├── app.js
├── config
| └── config.json // sequelize 設定檔
├── controller // 處理 API 邏輯
| ├── admins.js
| ├── articles.js
| ├── faq.js
| ├── members.js
| ├── orders.js
| └── products.js
├── middlewares // 自訂 middlewares
| ├── authHandler.js
| ├── corsHandler.js
| ├── errorHandler.js
| └── logger.js
├── migrations // Sequelize migrations
├── models // 透過 Sequelize 和資料庫溝通
| ├── admin.js
| ├── article.js
| ├── faq.js
| ├── index.js
| ├── member.js
| ├── message.js
| ├── order.js
| ├── order_item.js
| ├── product.js
| └── product_img.js
├── node_modules
├── package-lock.json
├── package.json
├── README.md
├── routes // 區分不同功能的 API 路由
| ├── admin.js
| ├── articles.js
| ├── members.js
| ├── orders.js
| └── products.js
├── seeders // Sequelize seeders
└── utils
├── auth.js
└── helper.js
本網站僅作為個人練習,註冊時請勿使用真實資料。另本網站包含之圖片與內容僅作練習使用,不作任何商業用途。