FoodBotAI is a semi-CRM AI agent system designed to intelligently manage restaurant leads, communicate via command protocols, and support AI-powered prompt enhancements. It features a modular monorepo architecture with three main services:
client/: React frontendbackend-api/: Node.js backend for lead managementapi-agent/: AI agent powered by Geminimcp-server/: Message Control Protocol (MCP) server
- π― Lead Management System β Add, list, and manage restaurant leads with proper source tracking.
- π€ AI Prompt Handling β Gemini-integrated prompt system to generate contextual responses.
- π£οΈ Speech-to-Text Prompting β Speak your prompts using microphone and get accurate AI replies via speech-to-text.
- π§ MCP Agent Server β Lightweight command execution protocol (MCP) for backend automation and decision handling.
- π Modular Monorepo β Structured project for seamless development across services.
FoodBotAI/
βββ client/ # Frontend React Application
β βββ public/ # Static files
β β βββ assets/ # Images, fonts, etc.
β βββ src/
β β βββ components/ # Reusable UI components
β β β βββ chatBot/ # Chat interface components
β β β βββ leadsForm/ # Lead management components
β β βββ hooks/ # Custom hooks (e.g. for speech-to-text)
β β βββ App.jsx # Main App component
β β βββ main.jsx # Entry point
β βββ .env # Frontend env variables
β βββ package.json
β βββ vite.config.js
βββ backend-api/ # Main Backend Service
β βββ config/ # Configuration files
β βββ controllers/ # Route controllers (leads etc.)
β βββ middleware/ # Express middleware
β βββ models/ # Firestore or DB models
β βββ routes/ # REST API routes
β βββ services/ # Business logic
β βββ .env
β βββ app.js # Express server entry
βββ api-agent/ # Gemini AI Agent Service
β βββ geminiClient.js # Gemini API wrapper
β βββ .env
β βββ app.js
βββ mcp-server/ # Message Control Protocol Server
β βββ commands/ # Command handlers
β βββ middleware/ # Request pre-processing
β βββ services/ # Business logic (MCP)
β βββ .env
β βββ app.js
βββ package.json # Root shared scripts