BrainMeal is an intelligent nutrition planning web application that uses AI to create personalized meal plans based on user parameters, goals, and dietary preferences.
- Frontend: React 18 + Vite
- UI Framework: Material-UI (MUI)
- Database: Firebase Firestore
- Authentication: Firebase Auth
- Storage: Firebase Storage
- Payments: Stripe
- AI: Google Gemini AI
- Charts: Recharts
- Animations: Framer Motion
- 🎯 Personalized Meal Planning - AI-generated meal plans based on user goals
- 📊 Nutrition Analytics - Detailed tracking of calories, proteins, fats, and carbs
- 🏆 Achievement System - Gamified experience with progress tracking
- 💳 Subscription Management - Stripe-powered premium features
- 🌍 Multi-language Support - English and Russian languages
- 📱 Responsive Design - Mobile-first approach with bottom navigation
- 🤖 AI-Powered Recommendations - Smart meal suggestions
- 📈 Progress Tracking - Visual analytics and trends
- 🎨 Beautiful UI/UX - Dark theme with smooth animations
- 🔐 Secure Authentication - Firebase-based user management
- ☁️ Cloud Storage - Real-time data synchronization
- Node.js 18+
- npm or yarn
- Firebase account
- Stripe account (for payments)
- Google AI API key (for Gemini)
git clone https://github.com/your-repo/BrainMeal.git
cd BrainMealnpm installcp .env.example .envFill in your environment variables in .env:
- Firebase configuration
- Stripe keys
- Google Gemini AI API key
npm run devnpm run buildnpm run preview- Connect your GitHub repository to Vercel
- Set environment variables in Vercel dashboard
- Deploy automatically on push to main branch
- Build the project:
npm run build - Upload
distfolder to Netlify - Configure environment variables
- Install Firebase CLI:
npm install -g firebase-tools - Login:
firebase login - Initialize:
firebase init hosting - Deploy:
firebase deploy
src/
├── components/ # Reusable UI components
│ ├── auth/ # Authentication components
│ ├── common/ # Common components
│ └── layout/ # Layout components
├── context/ # React Context providers
├── pages/ # Page components
├── services/ # API and business logic
├── styles/ # Global styles
└── utils/ # Utility functions
Required environment variables (see .env.example):
# Firebase
VITE_FIREBASE_API_KEY=
VITE_FIREBASE_AUTH_DOMAIN=
VITE_FIREBASE_PROJECT_ID=
VITE_FIREBASE_STORAGE_BUCKET=
VITE_FIREBASE_MESSAGING_SENDER_ID=
VITE_FIREBASE_APP_ID=
# Stripe
VITE_STRIPE_PUBLISHABLE_KEY=
# AI
VITE_GEMINI_API_KEY=This project is licensed under the MIT License.
Developed by: [Hleb Ukhovskyi] (https://github.com/SCMARS)