Synaplan
Open-source AI platform for companies: self-hosted AI agents, GDPR-compliant chatbot widget, RAG knowledge base, WhatsApp and Outlook AI, MCP, multi-model routing. Docker, Kubernetes or hosted in Germ
翻訳待ち
No updates detected yet. GitHub releases will appear here.
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗Next.js 16 (App Router) · TypeScript · Tailwind CSS 4 · MongoDB Atlas (Mongoose) · Zod · Claude (IA)
npm install
cp .env.example .env # puis renseigner MONGODB_URI (Atlas) et AUTH_SECRET
npm run db:seed # données de démo (mot de passe : Demo1234)
npm run dev
npm test # tests automatisés (Module 6)
Sans Atlas (hors ligne), une base MongoDB locale sans installation :
npm run db:local # dans un terminal séparé (laisser tourner)
puis MONGODB_URI="mongodb://127.0.0.1:27017" dans .env.
| Variable | Rôle |
|---|---|
MONGODB_URI | Atlas : mongodb+srv://… · local : mongodb://127.0.0.1:27017 |
MONGODB_DB | nom de la base (salonia, ou une base par membre : salonia_malek…) |
AUTH_SECRET | clé de signature des sessions NextAuth (npx auth secret) ; SESSION_SECRET reste accepté |
DEMO_MODE | "true" : comptes de démo sur /login et lien de réinitialisation affiché |
GEMINI_API_KEY | IA de l'équipe (performance, suggestion de praticien, prévision de charge) et autres IA. Vide : calcul sans IA |
ANTHROPIC_API_KEY | IA (assistant de configuration, chatbot). Vide : modes hors ligne |
CRON_SECRET | protège /api/cron/reminders (rappels automatiques) |
| Rôle | Identifiant |
|---|---|
| Propriétaire (3 centres) | [email protected] |
| Gérant (Sousse) | [email protected] |
| Staff (Tunis) | [email protected] ou 22 345 678 |
| Client | [email protected] |
| Super admin | [email protected] |
Page de réservation publique : /reserver/salon-yasmine
| Exigence | Où |
|---|---|
| F2.1 Gestion des services (catégories, durée, tarif de base, description, photos) | /dashboard/catalogue (onglet Services) |
| F2.2 Options de services (variantes avec suppléments de prix et de durée) | Dans le formulaire de service (ServiceModal) |
| F2.3 Tarification différenciée par centre | Surcharge de prix par centre dans ServiceModal et PackModal |
| F2.4 Forfaits & Packs multi-services avec calcul automatique des économies | /dashboard/catalogue (onglet Packs) |
| F2.5 Compétences requises et matériels nécessaires par prestation | ServiceModal (liaison Staff & Équipements) |
| F2.6 Importation automatique du catalogue initial généré par IA | Bannière interactive sur /dashboard/catalogue |
| F2.7 Offres promotionnelles & Codes promo (pourcentages, montants fixes, validité, plafonds) | /dashboard/catalogue (onglet Promotions) |
| F2.8 Galerie photos et compression WebP côté client | ImageUploader intégré dans chaque modal |
| F2.9 Application dynamique dans le parcours de réservation client | /reserver/[slug] (BookingWizard) |
IA du module 2 (cahier des charges §6) :
✨ Générer avec l'IA dans ServiceModal (lib/ai/catalog-ai.ts). Repli par templates contextuels hors-ligne.PackModal.Règles métier & intégration :
resolveItems() calcule la durée cumulée exacte (durée de base + suppléments d'options) et le prix unitaire ajusté (prix spécifique au centre + suppléments d'options).maxUses), et incrémentation atomique du compteur usedCount.This is the beginning of the README. Read the rest at the original. Read the full README ↗