Application SaaS pour restaurateurs permettant de calculer le coût des recettes et optimiser les prix de vente.
"Sache exactement combien te coûte chaque plat et à quel prix le vendre pour être rentable - en 5 minutes."
- Calcul des coûts - Calcule automatiquement le coût de chaque recette en fonction des ingrédients
- Prix intelligents - Suggestions de prix de vente basées sur ton food cost cible
- Alertes marges - Notifications quand une recette dépasse le seuil de rentabilité
- Gestion ingrédients - Suivi des prix d'achat avec historique des changements
- Dashboard - Vue d'ensemble de la rentabilité de ton établissement
| Composant | Technologie |
|---|---|
| Frontend | Next.js 16 (App Router) |
| UI | Tailwind CSS + shadcn/ui |
| Backend | Supabase (PostgreSQL + Auth) |
| Paiements | Stripe |
| Hosting | Vercel |
- Node.js 18+
- Compte Supabase
- Compte Stripe
- Compte Upstash (pour rate limiting)
- Clone le repo:
git clone https://github.com/[ton-username]/menu-optimizer.git
cd menu-optimizer- Installe les dépendances:
npm install- Copie le fichier d'environnement:
cp .env.example .env.local- Configure les variables dans
.env.local:
NEXT_PUBLIC_SUPABASE_URL=https://xxx.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=eyJ...
UPSTASH_REDIS_REST_URL=https://xxx.upstash.io
UPSTASH_REDIS_REST_TOKEN=xxx
STRIPE_SECRET_KEY=sk_test_xxx
STRIPE_WEBHOOK_SECRET=whsec_xxx
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=pk_test_xxx
STRIPE_PRICE_MONTHLY=price_xxx
STRIPE_PRICE_YEARLY=price_xxx
NEXT_PUBLIC_APP_URL=http://localhost:3000-
Exécute les migrations Supabase:
- Va dans Supabase Dashboard → SQL Editor
- Exécute les fichiers dans
supabase/migrations/dans l'ordre
-
Lance le serveur de développement:
npm run dev- Ouvre http://localhost:3000
├── src/
│ ├── app/ # Next.js App Router
│ │ ├── (auth)/ # Pages authentification
│ │ ├── (dashboard)/ # Pages dashboard
│ │ ├── (marketing)/ # Pages marketing
│ │ └── api/ # API routes (webhooks)
│ ├── components/
│ │ ├── ui/ # Composants shadcn/ui
│ │ ├── dashboard/ # Composants dashboard
│ │ ├── marketing/ # Composants landing page
│ │ └── layout/ # Layout components
│ └── lib/
│ ├── actions/ # Server Actions
│ ├── calculations/ # Logique de calcul
│ ├── supabase/ # Clients Supabase
│ └── security/ # Sécurité (HIBP check)
├── supabase/
│ └── migrations/ # Migrations SQL
└── public/ # Assets statiques
- Importe le repo dans Vercel
- Ajoute les variables d'environnement de production
- Déploie
Après déploiement, crée un webhook Stripe:
- URL:
https://menu-optimizer.com/api/webhooks/stripe - Events:
checkout.session.completedinvoice.paidinvoice.payment_failedcustomer.subscription.updatedcustomer.subscription.deleted
- RLS (Row Level Security) sur toutes les tables Supabase
- Rate limiting sur les endpoints d'authentification
- HaveIBeenPwned vérification des mots de passe compromis
- HTTPS obligatoire en production
Propriétaire - Tous droits réservés © 2026 Menu Optimizer
- Email: support@menu-optimizer.com
- Site: https://menu-optimizer.com