Note
Sorry, the Google map API used in this project has been closed, so the scheduling function is temporarily unavailable.
# Download Library
npm install
# in ./Travel-Schedule
npm start
本專案旨在為台灣的旅遊愛好者提供一個便捷的平台,讓使用者能夠輕鬆地瀏覽、計畫並分享旅遊行程。平台還會根據使用者的個人偏好和需求,推薦獨特的景點和行程。
- 協助使用者規劃旅遊行程。
- 提供分享和瀏覽行程文章的功能。
- 支援會員帳號功能,包括註冊、登入、密碼重設等。
- 最新消息:顯示服務的最新更新與通知。
- 會員登入/註冊:提供會員登入與註冊的功能介面。
- 行程規劃:使用者可以規劃起點、終點及中途景點的行程。
- 行程文章:使用者可以瀏覽與分享旅遊行程,並針對行程進行喜好與留言操作。
- 前端框架:React.js
- 後端伺服器:Node.js
- 套件管理:npm
- UI 框架:Material UI
- 資料庫:Firebase Firestore
- 地圖服務:Google Maps API
- 版本控制:Git
- MVC 架構:採用 MVC 設計模式,將應用程式劃分為 Model、View 和 Controller 三個主要部分,並使用單向數據流進行數據管理。
- 資料層 (Data Layer):負責處理與 Firebase Firestore 的資料交互。
- 邏輯層 (Business Logic Layer):負責核心業務邏輯與數據處理。
- 登入功能:使用者可透過電子郵件與密碼或 Google 帳號登入。
- 行程規劃功能:使用者可以根據 Google Maps API 規劃行程,選擇起點、終點及節點數量,並調整行程順序。
- 行程文章管理:使用者可分享並瀏覽行程文章,對文章進行喜好及留言。
採用「灰箱測試」方法,針對核心功能進行單元測試,包括會員註冊、忘記密碼、登入、行程規劃等功能模組。主要測試項目包括:
- 會員註冊測試:測試使用者註冊功能是否正常運作。
- 忘記密碼測試:測試是否可以成功發送重設密碼的信件。
- 登入功能測試:測試會員的登入流程與正確性。
- 行程規劃測試:測試節點安排、起點終點輸入與節點調整功能。
進行整合測試,確保各功能模組之間的協同運作。測試項目包括:
- 非會員測試:測試未註冊使用者的操作限制。
- 會員功能測試:測試會員註冊、登入、忘記密碼及登出功能的整合性。
- 行程分享與留言測試:測試行程分享與留言功能。
- 會員註冊測試結果:所有測試案例通過,會員可以正確註冊並收到確認信件。
- 行程規劃測試結果:測試結果顯示使用者可以順利安排節點並生成行程。
- 行程文章測試結果:使用者能夠正常發表、刪除文章,並對文章點讚。
本專案透過整合最新的前後端技術,為使用者提供一個友善且功能豐富的台灣旅遊規劃平台,並確保系統的安全性、穩定性及使用者體驗。單元與整合測試結果顯示系統各項功能運作正常,能夠滿足使用者需求。


