# FINDCONNECTOR專案 :::success 網站連結: http://3.104.45.136:3000/ GITHUB LINK: https://github.com/jason407891/findconnector ::: ## 網站功能介紹: :::info ### 帳號功能 1. 註冊/登入 a. 使用JWT驗證方式,前端將token存在localstorage,每次load不同頁面時會check login status,後端在上傳資料等操作時會跟header拿Authorization,將使用者資料一併存到資料庫 ![image](https://hackmd.io/_uploads/r1XqVXrgxl.png) b. 連接MYSQL資料庫,新增/搜尋/驗證登入狀態功能 ![image](https://hackmd.io/_uploads/B1NyI7Segx.png) c. 前端會取得localstorage的token驗證,登入登出會切換ICON狀態,登入狀態才能進入上傳產品頁面 ![image](https://hackmd.io/_uploads/rykcHXrexe.png) ### 產品功能 2. 搜尋產品 a.使用者輸入關鍵字搜尋後,會將網頁導入到/search/<productid>的路由,load後會自動執行search product的函式並渲染到前端 ![image](https://hackmd.io/_uploads/S1ZMLXSllg.png) 3. 上傳庫存 a.用form表單讀取欄位,讀取登入者資料,檢查必填欄位後上傳至MYSQL products資料表 ![image](https://hackmd.io/_uploads/H1-VLQSleg.png) 4. 批量上傳檔案 a.用form表單讀取檔案,讀取登入者資料,將資料存入陣列再一次上傳到MYSQL products資料表 ![image](https://hackmd.io/_uploads/H1crL7Blge.png) 5. 查看上傳紀錄 a.取得登入者的token後到mysql去搜尋product資料表上傳的產品紀錄 ![image](https://hackmd.io/_uploads/B1eqIXSgge.png) 6. 聯繫我們 a.傳送訊息到discord平台 ![image](https://hackmd.io/_uploads/HyScqQBglg.png) 7. 刪除上傳紀錄 8. 編輯上傳紀錄 a.可以改庫存數量跟價格 9. 獲取製造商資料(後端已完成) ::: ## 補充: :::info ## 1. 資料來源為第三方API,目前資料庫有約19萬筆資料 流程: 呼叫獲得資料的API匯成excel檔案>整理過後>插入資料庫 ![image](https://hackmd.io/_uploads/ryJOuXrgel.png) ## 2. 使用AWS s3儲存圖片,RDS儲存資料,EC2作為網站部署的地方 ![image](https://hackmd.io/_uploads/rkbhtQBxel.png) ## 3. 使用POSTMAN測試後端已完成的功能 ![image](https://hackmd.io/_uploads/rkJ5Xorelg.png) ::: ## 網站部署流程: :::info 1. 本機將網站程式碼推到github ``` git add . git commit -m "msg" git push -u origin main ``` 2. EC2 PULL github資料 ``` #先進入資料夾後PULL cd findconnector git pull origin main ``` 3. 在EC2上面跑 ``` nohup python3 app.py & #執行不間斷 ps -ef | grep python #查看執行中的程式 kill PID #砍掉ProcessID ``` ![image](https://hackmd.io/_uploads/BkkjzmBllg.png) ::: ## 測試資料使用 :::info 1. 查詢產品編號 可以用PAP-2V-S,123,或是一般電子零件編號(MOLEX、JST、TE等品牌為主) 2. 帳號測試 帳號: 123 密碼: 123 ::: to-do list