| |
| |
| |
| |
| |
| |
| import { PrismaClient } from '@prisma/client'; |
| const prisma = new PrismaClient(); |
|
|
| async function main() { |
| console.log('🌱 Seeding database...'); |
|
|
| |
| const track = await prisma.track.upsert({ |
| where: { id: 'seed-module-1-ecomoto' }, |
| update: {}, |
| create: { |
| id: 'seed-module-1-ecomoto', |
| title: 'Lancer son Business – Module 1', |
| description: 'Formation de 3 jours pour structurer son idée de business et rédiger son pitch.', |
| duration: 3, |
| language: 'FR', |
| isPremium: false, |
| } |
| }); |
|
|
| console.log(`✅ Track: ${track.title}`); |
|
|
| const days = [ |
| { |
| dayNumber: 1, |
| title: 'Jour 1 – Ton idée business', |
| lessonText: `Bienvenue dans ta formation ! 🎉 |
| |
| Aujourd'hui, on parle de TON idée. |
| |
| Une bonne idée business répond à un problème réel que les gens autour de toi ont vraiment. |
| |
| 👉 EXEMPLE : La réparation de motos à domicile. Le problème ? Les gens perdent du temps à aller chez le mécanicien. La solution ? Le mécanicien vient à eux. |
| |
| Pour TON business, réponds à ces 3 questions : |
| 1️⃣ Quel problème tu résous ? |
| 2️⃣ Pour qui ? (femmes, jeunes, commerçants...) |
| 3️⃣ Pourquoi toi et pas un autre ?`, |
| exerciseType: 'TEXT' as const, |
| exercisePrompt: '📝 Décris ton idée business en 2-3 phrases. Quel problème tu résous ? Pour qui ?', |
| validationKeyword: null, |
| }, |
| { |
| dayNumber: 2, |
| title: 'Jour 2 – Tes clients cibles', |
| lessonText: `Félicitations pour hier ! 🌟 |
| |
| Aujourd'hui : TES CLIENTS. |
| |
| Beaucoup d'entrepreneurs échouent parce qu'ils veulent vendre à "tout le monde". ❌ |
| |
| La règle d'or : commence par un groupe précis. |
| |
| 👤 EXEMPLE Eco-Moto : |
| • Qui ? Artisans et commerçants de Dakar |
| • Âge ? 25-45 ans |
| • Problème spécifique ? Leur moto tombe en panne et ils perdent des clients |
| |
| Plus tu connais ton client, plus tu peux lui parler directement.`, |
| exerciseType: 'TEXT' as const, |
| exercisePrompt: '📝 Décris ton client cible idéal : Qui est-il ? Quel âge ? Où vit-il ? Quel est son problème principal ?', |
| validationKeyword: null, |
| }, |
| { |
| dayNumber: 3, |
| title: 'Jour 3 – Ton pitch en 1 minute', |
| lessonText: `Tu es presque un entrepreneur ! 🚀 |
| |
| Aujourd'hui : TON PITCH. |
| |
| Un pitch c'est une présentation rapide de ton business. En 60 secondes, tu dois convaincre quelqu'un d'investir ou d'acheter. |
| |
| 📣 STRUCTURE : |
| 1. Le problème (10 sec) |
| 2. Ta solution (10 sec) |
| 3. Tes clients (10 sec) |
| 4. Pourquoi toi (10 sec) |
| 5. Ce que tu demandes (20 sec) |
| |
| EXEMPLE : |
| "En Afrique, 60% des motos tombent en panne sans accès rapide à un mécanicien. Eco-Moto envoie un mécanicien qualifié chez vous en moins de 30 minutes. On cible les artisans et commerçants de Dakar qui dépendent de leur moto. On a déjà 50 clients satisfaits. On cherche 500 000 XOF pour acheter nos premiers équipements."`, |
| exerciseType: 'TEXT' as const, |
| exercisePrompt: '🎤 Écris ton pitch en utilisant la structure ci-dessus. Sois précis et concis !', |
| validationKeyword: null, |
| } |
| ]; |
|
|
| for (const day of days) { |
| const existing = await prisma.trackDay.findFirst({ |
| where: { trackId: track.id, dayNumber: day.dayNumber } |
| }); |
| if (existing) { |
| await prisma.trackDay.update({ where: { id: existing.id }, data: day }); |
| console.log(`✅ Updated Day ${day.dayNumber}: ${day.title}`); |
| } else { |
| await prisma.trackDay.create({ data: { ...day, trackId: track.id } }); |
| console.log(`✅ Created Day ${day.dayNumber}: ${day.title}`); |
| } |
| } |
|
|
| console.log('\n🎉 Seed complete! Track ID:', track.id); |
| console.log('Send INSCRIPTION + FORMATION on WhatsApp to test.'); |
| } |
|
|
| main() |
| .catch(console.error) |
| .finally(() => prisma.$disconnect()); |
|
|