Skip to content

ElvisLo030/EatNow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EatNow 一款解決選擇障礙的App

EatNow 是一款解決「吃什麼」選擇障礙的 iOS 應用程式,透過隨機推薦功能幫助使用者快速決定用餐選擇,同時提供店家管理和統計功能。

技術架構

  • 程式語言:Swift 5
  • 框架:SwiftUI
  • 資料儲存:JSON 檔案儲存 (FileManager)
  • 最低支援系統:iOS 15.0+

專案架構

EatNow/
├── Core/ - 核心模型和工具
│   ├── Models/ - 數據模型定義
│   │   └── Models.swift - 包含所有應用程式使用的數據模型
│   └── Utilities/ - 工具類和擴展
│       ├── DataStore.swift - 資料儲存和管理 (Model層)
│       ├── Extensions.swift - Swift 擴展
│       └── CSVHandler.swift - CSV 檔案處理
│
├── Features/ - 功能模組 (採用MVVM架構)
│   ├── Home/ - 主畫面和隨機推薦
│   │   ├── HomeView.swift - 主頁面UI (View層)
│   │   ├── HomeViewModel.swift - 業務邏輯和狀態管理 (ViewModel層)
│   │   └── HomeEffects.swift - 視覺特效控制器
│   ├── Shop/ - 店家管理
│   │   ├── ShopViews.swift - 店家列表和菜單管理UI
│   │   └── CSVImportView.swift - CSV 匯入功能
│   ├── Stats/ - 數據統計和成就系統
│   │   ├── StatsView.swift - 使用統計分析UI
│   │   └── AchievementView.swift - 成就系統UI
│   └── Settings/ - 設定和資料管理
│       ├── SettingsView.swift - 使用者設定頁面
│       ├── LicenseView.swift - License查看介面
│       ├── CSVExportView.swift - CSV 匯出功能
│       └── GitHubService.swift - GitHub API 服務
│
├── Resources/ - 資源文件
│   ├── ExampleCSV.txt - CSV 範例檔案
│   └── DataStructureAnalysis.md - 資料結構分析文件
│
├── ContentView.swift - 主要內容視圖
├── Item.swift - 項目模型
└── EatNowApp.swift - 應用程式入口點

主要功能

1. 個人和團體隨機推薦

  • 食物模式:從所有店家中隨機選擇一道菜品
  • 店家模式:隨機選擇一家餐廳,方便團體決策
  • 決策記錄:記錄使用者的決策行為,提供統計資訊

2. 店家和菜單管理

  • 店家管理:新增、編輯和刪除店家
  • 菜單管理:為每家店家添加、編輯和刪除菜單項目
  • 價格標記:記錄每個菜單項目的價格

3. 資料匯入匯出

  • CSV 匯入:支援透過 CSV 檔案批量匯入店家和菜單
  • CSV 匯出:匯出所有店家和菜單資料為 CSV 檔案
  • 示範資料:內建示範資料,方便新使用者快速上手

4. 統計分析

  • 使用統計:記錄使用者的使用習慣和決策模式
  • 食物偏好:分析使用者最常選擇的食物類型
  • 店家偏好:統計最常光顧的店家

5. 成就系統

  • 解鎖成就:透過使用應用程式達成特定目標解鎖成就
  • 里程碑記錄:記錄使用者的使用歷程和成長
  • 成就徽章:收集獨特的成就徽章展示在個人檔案

如何使用

🍔 解決選擇障礙 (首頁)

食物模式

  1. 在首頁選擇「食物」模式
  2. 點擊「戳下去 推薦食物給你!」按鈕
  3. 查看隨機推薦的食物和價格
  4. 滿意選擇後點擊「吃!」按鈕記錄決策

店家模式

  1. 在首頁切換至「店家」模式
  2. 點擊「戳下去!」隨機選擇一家店
  3. 確認推薦店家後點「吃!」完成決策
  4. 系統會記錄您的選擇用於統計分析

🏪 店家與菜單管理

管理店家

  • 切換到「店家」標籤頁瀏覽所有店家
  • 點擊右上角「+」按鈕手動添加店家
  • 點擊「匯入」按鈕批量導入店家資料
  • 向左滑動店家項目可刪除或編輯

管理菜單

  • 點擊任一店家進入該店菜單管理頁面
  • 點擊「+」添加新菜品及價格
  • 向左滑動菜單項目可刪除或修改
  • 菜單內容會自動保存並用於隨機推薦

📊 查看使用統計

  • 切換到「統計」標籤頁查看數據分析
  • 「總覽」部分顯示使用頻率和決策數據
  • 「排行榜」查看您最常選擇的店家和食物
  • 統計數據會隨著使用自動更新

⚙️ 設定與資料管理

  • 在「設定」頁可修改個人化偏好
  • 點擊「匯出店家資料」分享給朋友
  • 支援CSV格式匯入/匯出店家與菜單
  • 使用「重設資料」可清除現有資料並重新開始

未來功能規劃

  • 添加位置標記,記錄店家位置
  • 支援導出為更多格式,如 Excel 或 PDF
  • 整合社群分享功能,分享推薦結果
  • 增加團體點餐系統,可統整多人點餐後的結果

開發者資訊

About

一款解決選擇障礙的 iOS App

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages