提燈先生是一個結合紫微斗數命盤工具與電商平台的全端系統,讓使用者可以線上排盤、購買命理商品、預約命理師服務。
前端採用 Astro 5 + Vue 3 搭配 TailwindCSS 建構,後端 API 以 Laravel 11 開發,管理後台使用 Filament 3。系統整合藍新金流(Newebpay)線上付款、Google / Line / Facebook OAuth 第三方登入、AWS S3 檔案存儲。
專案涵蓋商品管理、訂單系統、點數機制、服務預約、社群功能等多模組架構,後端擁有 54+ Eloquent Models,搭配精細的角色權限控管與事件驅動架構。
輸入農曆/國曆出生資料,即時產生完整紫微斗數命盤,支援命宮、十二宮位、星曜排列與解讀
完整商品系統搭配藍新金流(Newebpay)線上付款,支援商品分類、購物車、訂單管理與金流回調
線上預約命理師服務,搭配點數儲值/消費機制,讓使用者可靈活購買命盤解讀或線下諮詢服務
支援 Google、Line、Facebook 三方 OAuth 登入,搭配 JWT Token 實現前後端分離的身份驗證機制
前端以 Astro 5 的 Server-Side Rendering 模式建構,搭配 Vue 3 處理互動元件。路由採用 Astro 的檔案式路由系統,靜態頁面與動態頁面混合渲染。狀態管理使用 Nanostores,購物車、對話框等全域狀態跨元件共享。
UI 以 TailwindCSS 4 搭配 Flowbite 元件庫快速開發,搭配 Unplugin Icons 實現 tree-shaking 圖示載入。富文本編輯器採用 Tiptap,拖放功能以 vuedraggable 實現。
後端以 Laravel 11 建構 RESTful API,涵蓋使用者認證、商品管理、訂單處理、命盤運算、點數系統等功能模組。認證採用 JWT(tymon/jwt-auth),搭配 Laravel Socialite 實現 Google、Line、Facebook 三方 OAuth 登入。
資料存取以 Spatie Permission 實現角色權限控管,搭配 Policy 細粒度授權。系統包含 54+ Eloquent Models,商業邏輯以 State Machine 管理訂單狀態流轉,Activity Log 記錄所有變更操作。
命盤引擎整合農曆轉換(overtrue/chinese-calendar),支援國曆/農曆出生資料輸入,自動計算天干地支、十二宮位、主星副星排列。每位使用者可建立多張命盤並分組管理,命盤資料以 UserChart / UserChartGroup 模型存儲。
命盤功能設定以 ChartFeatureSetting 控制,不同方案等級對應不同的功能解鎖範圍,搭配點數消費或訂閱付款解鎖進階解讀內容。
商城系統支援商品分類、屬性規格、圖片管理、庫存追蹤。購物車以 Nanostores 在前端持久化,結帳流程串接 藍新金流(Newebpay),支援信用卡、ATM 轉帳等付款方式。
金流回調以 Callback + Notify 雙通道確保付款結果正確回寫。訂單系統區分商品訂單、服務訂單、命盤訂單、點數訂單四種類型,各自擁有獨立的狀態機與處理流程。
管理後台以 Filament 3 建構,提供 40+ Resources 對應各業務模組的 CRUD 操作。搭配 Filament Shield 實現權限管理,Filament Turnstile 防護登入表單,QRCode 產生器與樹狀選擇器等客製化元件。
點數系統以 PointChangeRecord 追蹤所有點數異動(購買、消費、退款、贈送),使用者可透過點數購買命盤解讀或預約線下諮詢服務。服務預約系統支援服務分類、時段管理與訂單追蹤。