The Ultimate AI SaaS for Marketing Intelligence & Analytics
Welcome to MarketingGPT, a premium SaaS solution built for modern agencies and digital marketers. This platform combines the power of multiple AI engines (Gemini, OpenAI, Anthropic) with real-time marketing tool integrations via Integration Partner MCP.
Key Features:
| Requirement | Minimum | Recommended |
|---|---|---|
| Node.js | v18.x | v20.x+ (LTS) |
| Database | MySQL 8.0+ | PostgreSQL or MySQL |
| RAM | 1 GB | 2 GB+ |
| OS | Linux/Ubuntu | Ubuntu 22.04+ (Recommended) |
| MySQL Config | lower_case_table_names=0 | Case-sensitive (Linux Standard) |
Source Code.zip file to your server root.
Create a new MySQL database (e.g., marketing_gpt_db) and import the database.sql file provided in the root folder.
mysql -u your_username -p your_database_name < database.sql
Copy .env.example to .env in both backend and frontend folders.
cp backend/.env.example backend/.env cp frontend/.env.example frontend/.env
# In the root folder npm install cd backend && npm install cd ../frontend && npm install
# Start Backend cd backend && npm run start # Build Frontend cd frontend && npm run build npm run start
Default Login: admin@example.com / Admin@123
After logging in, immediately change your credentials in the Settings panel.
To ensure the application works perfectly, you MUST update the backend/.env file with your specific service credentials. While many settings can be managed via the Admin Dashboard, the following core variables are required for initial setup:
| Category | Required Variables |
|---|---|
| AI Engines | GEMINI_API_KEY, OPENAI_API_KEY, ANTHROPIC_API_KEY |
| Google Auth | GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET, ENABLE_GOOGLE_AUTH=true |
| Email (SMTP) | SMTP_HOST, SMTP_PORT, SMTP_USER, SMTP_PASS (Required for Password Resets) |
| Security | JWT_SECRET (Min 32 chars), FRONTEND_URL (e.g., http://localhost:3000) |
| Payments | RAZORPAY_KEY_ID, RAZORPAY_KEY_SECRET, RAZORPAY_WEBHOOK_SECRET |
| Integrations | VIASOCKET_ORG_ID, VIASOCKET_PROJECT_ID, VIASOCKET_ACCESS_KEY |
Note on Social Login: For Google Login to function, you must configure the Google Cloud Console with your FRONTEND_URL and provide the Client ID in the .env file.
Admin Dashboard priority: Settings managed directly through the Admin Dashboard (Settings tab) will override the defaults provided in the .env file, allowing you to update keys without restarting the server.
Note on Integrations: Each user provides their own Tool Cluster MCP Cluster URL directly in the Integrations Hub. Users can access a comprehensive Connection Guide directly within the application to help her obtain their cluster URL.
MarketingGPT uses the Model Context Protocol (MCP) via Integration Partner Tool Cluster to connect your AI directly to live marketing data. This allows the AI to perform actions like creating spreadsheets, analyzing Google Ads, or managing Shopify products.
Pro Tip: Once connected, use the Sync Hub button to automatically discover all available tools. Your AI will instantly be able to use these tools in the Chat Studio.
MarketingGPT features an integrated **Premium Data Scraper** engine powered by Apify. This allows users to extract real-time data from platforms like LinkedIn, Amazon, and Google Maps directly within the chat.
DATA_SCRAPER_API_KEY field.Subscription status before allowing tool execution.
scraperService.
MarketingGPT is built with a modern decoupled architecture for maximum performance and scalability.
| Component | Technology Stack |
|---|---|
| Frontend | Next.js 16 (App Router), React, Lucide Icons, Framer Motion |
| Backend | Node.js, Express, Sequelize ORM (MySQL), JWT Authentication |
| AI Engine | Google Gemini (Primary), OpenAI, Anthropic, OpenRouter |
| Database | MySQL 8.0 (Case-Sensitive on Linux) |
| Styling | Custom CSS Variables (Modern Dark Mode System) |
# Build Frontend Production Bundle cd frontend npm run build npm run start # Run Backend with PM2 cd backend pm2 start src/server.js --name "backend-api"
This project uses the following open-source libraries and assets:
Ensure your MySQL/PostgreSQL server is running and the credentials in backend/.env are correct.
Check if your Gemini or OpenAI API keys are active and have sufficient quota.
This happens if you are upgrading from an older version. The ChatHistories table schema has changed. You should backup and delete your existing ChatHistories table, and let the application recreate it automatically on the next restart.
Ensure your MySQL database and ChatHistories table are using the utf8mb4 character set. You can run: ALTER TABLE ChatHistories CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
Linux servers are case-sensitive. MarketingGPT uses PascalCase for tables (e.g., Users, Recipes). If you manually created tables in lowercase, please rename them to match the PascalCase models provided in the source code.