尚未检测到更新。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