Skip to content

Repository files navigation

Chatbot Moeris Assist

Assistant virtuel pour la Résidence Moeris, migré de n8n vers Next.js + Vercel.

Architecture

┌─────────────────────┐         ┌──────────────────────┐
│   Vercel (Next.js)  │  HTTP   │  VPS / Railway       │
│                     │ ──────► │  OpenWA Easy API     │
│  • Widget chat      │         │  (WhatsApp Web)      │
│  • /api/chat        │         └──────────────────────┘
│  • Gemini AI        │
│  • Google Sheets    │
│  • Resend Email     │
└─────────────────────┘
Composant Technologie
Frontend Next.js 15 + React
IA Google Gemini via Vercel AI SDK
Mémoire Upstash Redis
WhatsApp OpenWA (service séparé)
Logs Google Sheets API
Emails Resend
Base de connaissances data/moeris-knowledge.md

Réservation interactive

Le chatbot propose un formulaire guidé pour simplifier les demandes de réservation :

Étape Widget interactif
Dates d'arrivée / départ Calendrier visuel
Nombre de voyageurs Compteur +/- (adultes & enfants)
Type de chambre Cartes sélectionnables avec tarifs
Nom du client Champ texte
Canal de contact Boutons Email / WhatsApp
Coordonnées Email ou téléphone (+228)
Demandes spéciales Puces rapides + zone libre
Validation Récapitulatif avant envoi

Démarrage local

1. App Next.js

npm install
cp .env.example .env.local
# Remplissez GOOGLE_GENERATIVE_AI_API_KEY au minimum
npm run dev

Ouvrez http://localhost:3000.

2. Service OpenWA (optionnel, pour WhatsApp)

cd services/openwa
npm install
# Voir services/openwa/README.md

Variables d'environnement

Copiez .env.example vers .env.local et configurez :

Variable Obligatoire Description
GOOGLE_GENERATIVE_AI_API_KEY Clé API Gemini
GEMINI_MODEL Optionnel Modèle Gemini (défaut : gemini-2.5-flash-lite)
UPSTASH_REDIS_REST_URL Recommandé Mémoire des sessions
UPSTASH_REDIS_REST_TOKEN Recommandé Token Upstash
OPENWA_API_URL Pour WhatsApp URL du service OpenWA
OPENWA_API_KEY Pour WhatsApp Clé API OpenWA
GOOGLE_SERVICE_ACCOUNT_* Pour Sheets Compte de service Google
RESEND_API_KEY Pour emails Clé API Resend

Déploiement Vercel

  1. Poussez le repo sur GitHub
  2. Importez sur vercel.com
  3. Ajoutez les variables d'environnement
  4. Déployez
npx vercel

OpenWA en production

OpenWA ne tourne pas sur Vercel. Hébergez-le sur un VPS ou Railway, puis renseignez OPENWA_API_URL dans Vercel.

Base de connaissances

Remplacez le contenu de data/moeris-knowledge.md par l'export de votre Google Doc.

Ancienne version

Les fichiers HTML/JS d'origine sont dans legacy/. Le workflow n8n est conservé dans Moeris.json.

API

POST /api/chat

Accepte multipart/form-data :

Champ Type Description
type text | audio Type de message
chatInput string Message texte
file File Fichier audio (si type=audio)
sessionId string ID de session UUID
reservationData JSON Données structurées du formulaire interactif

Réponse :

[{ "responseText": "Bonjour et bienvenue..." }]

About

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages