A full-stack application for creating, managing, and deploying AI chatbots with customizable UI.
- Create, edit, and delete chatbots with customizable designs
- QR code generation for easy sharing
- Analytics integration
- Responsive UI
- Persistent storage with MongoDB
- Frontend: React.js
- Backend: FastAPI (Python)
- Database: MongoDB
- Node.js (v14+)
- Python (v3.8+)
- MongoDB
-
Navigate to the API directory:
cd api -
Install dependencies:
pip install -r requirements.txt -
Set the MongoDB connection string:
export MONGODB_URI="mongodb://localhost:27017" -
Start the backend server:
python run.pyThe API will be available at
http://localhost:8001
-
Navigate to the web directory:
cd web -
Install dependencies:
npm install -
Start the development server:
npm startThe web app will be available at
http://localhost:3000
For local development and testing, the app will default to using localhost:8001 for the API.
When deploying to a production server:
- The frontend automatically detects when it's not running locally and constructs the API URL based on the current hostname.
- Make sure both the API and web server are running on the same domain.
- The API should be accessible on port 8001.
Example:
- Web UI:
http://your-domain.com - API:
http://your-domain.com:8001
The application includes a built-in debug panel for troubleshooting connection issues:
- Press
Ctrl+Shift+Dto toggle the debug panel - The panel displays:
- Current API URL
- Connection status
- Host information
- Network status
If you're having trouble connecting to the API:
- Check if the API is running
- Verify the API URL is correct
- Use the "Test CORS" button in the debug panel to check CORS configuration
- Try opening the API directly in a browser using the "Open API in Browser" button
If you see CORS errors in the console:
- Make sure the API's CORS settings allow requests from your frontend origin
- Check if the API is accessible from the browser
When deploying:
- Ensure port 8001 is open and accessible from the internet
- Configure your firewall to allow traffic on this port
- Set up proper DNS records if using a domain name
This project is licensed under the MIT License - see the LICENSE file for details.