尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證正在載入完整 README。 以下為已儲存的摘錄。
AI-powered macro tracking and meal planning app built with Next.js 16, React 19, and Supabase.
• ✅ 6-step onboarding flow with personalized macro calculation
• ✅ Google OAuth & Email/Password authentication
• ✅ Smart dietary preferences & allergy tracking
• ✅ Experience-based UI personalization
• ✅ Secure data persistence with Row Level Security
• 🚧 Dashboard (in progress)
• 🚧 Meal planning (coming soon)
• 🚧 Food logging (coming soon)檢視完整 README ↗AI-powered macro tracking and meal planning app built with Next.js 16, React 19, and Supabase.
any types# Clone repository
git clone <repo-url>
cd maco-plan
# Install dependencies
npm install
# Set up environment variables
cp .env.example .env.local
# Add your Supabase credentials to .env.local
Create a .env.local file with:
NEXT_PUBLIC_SUPABASE_URL=https://your-project.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=your-anon-key-here
Get these from: Supabase Dashboard → Project Settings → API
supabase/migrations/001_create_user_profiles.sqlnpm run dev
Open http://localhost:3000 - you'll be redirected to onboarding.
app/
├── (auth)/
│ └── onboarding/ # 6-step onboarding flow
│ ├── 1/ # Goal selection
│ ├── 2/ # Personal stats
│ ├── 3/ # Activity level
│ ├── 4/ # Dietary preferences
│ ├── 5/ # Experience level
│ ├── 6/ # Results & macro targets
│ └── complete/ # Post-auth data migration
├── auth/callback/ # OAuth callback handler
├── dashboard/ # Main app (in progress)
└── actions/ # Server actions (DB operations)
components/
├── auth/ # AuthModal component
├── onboarding/ # StepContainer, ProgressIndicator
└── ui/ # shadcn/ui components
lib/
├── calculations/ # BMR, TDEE, macro distribution
├── migration/ # localStorage → Supabase sync
├── supabase/ # Supabase client utilities
└── types/ # TypeScript types
stores/
└── onboarding-store.ts # Zustand state management
supabase/
└── migrations/ # SQL migrations
Macro Plan guides users through a 6-step onboarding process:
After viewing results, users can:
Macro Plan uses scientifically-validated formulas:
BMR (Basal Metabolic Rate):
BMR = 10W + 6.25H - 5A + STDEE (Total Daily Energy Expenditure):
TDEE = BMR × Activity MultiplierMacro Distribution:
See supabase/migrations/001_create_user_profiles.sql for complete schema.
Key Tables:
user_profiles - User data, onboarding responses, calculated macrosSecurity:
auth.uid()npm run build
npm run build
npm start
npm run lint
npx tsc --noEmit
# Unit tests
npm run test
# E2E tests (Playwright)
npm run test:e2e
# Test coverage
npm run test:coverage
Macro Plan follows security best practices:
any typesSecurity Rating: 9/10 (see CRITICAL_REVIEW.md for full audit)
Completed:
In Progress:
Planned:
mainnpm run security:scanany types allowedhttp://localhost:3000/auth/callbackhttps://your-domain.com/auth/callbacksupabase/migrations/# Start dev server
npm run dev
# In another terminal, run type checking
npx tsc --noEmit --watch
# Optional: Run tests in watch mode
npm run test:watch
mainAdd these in Vercel Dashboard → Settings → Environment Variables:
NEXT_PUBLIC_SUPABASE_URL
NEXT_PUBLIC_SUPABASE_ANON_KEY
TypeScript errors:
npx tsc --noEmit
# Fix all errors before building
Missing environment variables:
# Ensure .env.local exists with Supabase credentials
cat .env.local
Google OAuth not working:
Email signup not working:
RLS policy errors:
supabase.auth.getUser()auth.uid() matches user_idData not saving:
{ success: true }Current Metrics:
Optimization TODO:
MIT License - See LICENSE file for details
For issues or questions:
/docsBuilt with ❤️ using Next.js 16, React 19, and Supabase
Last Updated: January 8, 2025