A React-based chatbot application designed to provide guidance on how to use various Customer Data Platforms (CDPs), including Segment, mParticle, Lytics, and Zeotap. Whether you're a developer, marketer, or data analyst, this chatbot simplifies the process of finding answers to your CDP-related questions.
- CDP-Specific Guidance: Get step-by-step answers to "how-to" questions for Segment, mParticle, Lytics, and Zeotap.
- Interactive Chat Interface: A clean and intuitive chat interface with message history for seamless conversations.
- Suggested Questions: Quick-access buttons for common CDP-related queries.
- CDP Selection: Filter your questions by selecting a specific CDP platform.
- Markdown Support: Rich text formatting in bot responses for better readability.
- Responsive Design: Fully optimized for both desktop and mobile devices.
- React 18: For building the user interface.
- TypeScript: For type-safe and scalable code.
- Tailwind CSS: For responsive and modern styling.
- Vite: For fast development and build tooling.
- React Markdown: For rendering Markdown content in bot responses.
- Lucide React: For beautiful and customizable icons.
- UUID: For generating unique identifiers for chat messages.
- Node.js (v16 or higher)
- npm or yarn (for package management)
-
Clone the repository:
git clone https://github.com/BalramMardi/ChatBot cd ChatBot -
Install dependencies:
npm install
-
Start the development server:
npm run dev
-
Open your browser and navigate to
http://localhost:5173
-
User Interface: The app provides a clean and interactive chat interface where users can type questions or select from suggested questions.
-
CDP Selection: Users can filter their questions by selecting a specific CDP platform (e.g., Segment, mParticle, Lytics, or Zeotap).
-
Question Processing: When a user submits a question, the app analyzes it to determine:
- Which CDP it relates to.
-
What specific task or feature the user is asking about.
-
Response Generation: The app retrieves the appropriate response from its knowledge base and displays it in the chat.
-
Markdown Rendering: Responses are formatted with Markdown for better readability, including code snippets, lists, and bold/italic text.
- Platform-Specific "How-To" Questions: Step-by-step guides for specific tasks on each CDP.
- Comparison Questions: Understand the differences between CDPs (e.g., "What’s the difference between Segment and mParticle?").
- General CDP Functionality Questions: Learn about core features and use cases of CDPs.
Zeotap-Assignment2/
├── public/ # Static assets
├── src/
│ ├── components/ # React components
│ ├── data/ # Knowledge base and CDP-specific data
│ ├── styles/ # Tailwind CSS and custom styles
│ ├── types/ # TypeScript types and interfaces
│ ├── App.tsx # Main application component
│ └── main.tsx # Entry point
├── .gitignore # Files and directories to ignore
├── package.json # Project dependencies and scripts
├── tsconfig.json # TypeScript configuration
└── vite.config.ts # Vite configuration
For questions, feedback, or contributions, feel free to reach out:
Balram Mardi
GitHub: Balram Mardi
Email: rybalram@gmail.com