這是 Give++ 二手交易平台的後端原始碼,採用 Express 和 Sequelize 開發。
-
執行
npm install
安裝此專案所需的第三方套件 -
新增 config/config.json,格式為:
{ "development": { "username": "test", "password": "test", "database": "test", "host": "localhost", "dialect": "mysql" }, "test": { "username": "test", "password": "test", "database": "test", "host": "localhost", "dialect": "mysql" }, "production": { "username": "test", "password": "test", "database": "test", "host": "localhost", "dialect": "mysql", } }
-
建立環境變數 .env,格式為:
SESSION_SECRET=''
-
輸入指令
npm run migrate
以執行 Sequelize migration,在 MySQL 資料庫中建立 database 及 table。 -
輸入指令
npm run get-test-data
以執行 Sequelize seeders 以在資料庫中建立初始 demo 資料。
npm run start
npm run build
| index.js // App 伺服器入口點
| package.json
| package-lock.json
| README.md
|
+---config
| config.json // Sequelize 設定檔
|
+---controllers // 處理 API 邏輯
| userController.js
| productController.js
| cartController.js
| orderController.js
| manageController.js
|
+---middlewares // 自訂 middlewares
| auth.js
|
+---models // 透過 Sequelize 和資料庫溝通
| index.js
| user.js
| product.js
| product_category.js
| cart.js
| cart_items.js
| order.js
| order_items.js
| faq.js
| faq_category.js
| mail.js
| rule.js
|
+---routes // 區分不同功能的 API 路由
| userRoutes.js
| productRoutes.js
| cartRoutes.js
| orderRoutes.js
| manageRoutes.js
|
+---node_modules
|
+---migrations // Sequelize migrations
|
\---seeders // Sequelize seeders
使用此套件將密碼加密後再存入資料庫
使用此套件解決跨來源資源共用
使用此套件設置環境變數
使用 JWT 來實作登入機制驗證
使用 mysql2 連線資料庫
使用 ORM 工具 Sequelize 來操作資料庫