Skip to content

Dipankar-source/Student-HelpDesk-ChatBot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

36 Commits
Β 
Β 
Β 
Β 

Repository files navigation

BrainuBot - AI Assistant for Brainware University

πŸ“Œ Overview

BrainuBot is an intelligent AI-powered assistant designed specifically for Brainware University students and faculty. It provides instant access to university information, resources, and support through a conversational interface.


πŸš€ Features

  • πŸ€– AI-Powered Conversations: Powered by Gemini's advanced AI model for intelligent responses
  • 🎀 Voice Input: Speech recognition for hands-free interaction
  • πŸ”Š Voice Output: Text-to-speech functionality with multiple language support
  • 🌐 Multilingual Support: Communicate in English and Spanish
  • πŸ“± Responsive Design: Works seamlessly on desktop and mobile devices
  • πŸ“Š Dashboard: View usage statistics and conversation analytics
  • πŸ“„ Export Conversations: Download chat history as PDF documents
  • πŸ’¬ Quick Messages: Pre-defined templates for common queries
  • πŸ” Search Functionality: Quickly find specific information in conversations
  • πŸ’Ύ Cloud Sync: All conversations are saved to Firebase for access across devices

πŸ›  Technology Stack

  • Frontend Framework: React.js with modern hooks
  • Styling: Tailwind CSS for responsive design
  • Backend Services: Firebase (Firestore, Authentication)
  • AI Integration: Gemini Chat API
  • Speech Processing: Web Speech API
  • PDF Generation: jsPDF with html2canvas
  • Notifications: React Toastify
  • Date Handling: date-fns library

βš™οΈ Installation

Prerequisites

  • Node.js (v14 or higher)
  • npm or yarn package manager
  • Firebase project with Firestore and Authentication enabled
  • Gemini API account

Setup Instructions

  1. Clone the repository
    git clone https://github.com/Dipankar-source/Student-HelpDesk-ChatBot
    cd frontend

🎯 Usage

For Students

  • Access the BrainuBot interface through the university portal
  • Type or speak your questions about courses, schedules, or campus facilities
  • Use quick messages for common inquiries about admissions, exams, or events
  • Export important conversations for future reference

For Faculty

  • Use BrainuBot to quickly access student information
  • Get updates on academic schedules and room allocations
  • Receive notifications about university announcements

πŸ”— API Integration

Gemini API

BrainuBot integrates with Gemini's chat completion API to provide intelligent responses. The system prompt is configured to:

  • Provide direct answers first
  • Search for current information when needed
  • Format responses clearly with proper structure
  • Maintain a professional tone
  • Include relevant links when appropriate

Firebase Services

  • Firestore: Stores chat sessions and messages
  • Authentication: Handles anonymous user sessions
  • Security Rules: Ensure data privacy and protection

🎨 Customization

Adding New Languages

  1. Update the languages array in src/assets/constants.js
  2. Add translation logic in the translateText function
  3. Include voice support for the new language

Adding Quick Messages

Edit the quickMessages array in src/assets/constants.js:

πŸ“‚ Project File Structure

frontend/
β”œβ”€β”€ .env
β”œβ”€β”€ .gitignore
β”œβ”€β”€ eslint.config.js
β”œβ”€β”€ index.html
β”œβ”€β”€ package-lock.json
β”œβ”€β”€ package.json
β”œβ”€β”€ README.md
β”œβ”€β”€ render.yaml
β”œβ”€β”€ static.json
β”œβ”€β”€ vite.config.js
β”‚
β”œβ”€β”€ public/
β”‚   β”œβ”€β”€ help.png
β”‚   β”œβ”€β”€ university-building.png
β”‚   β”œβ”€β”€ university-logo.png
β”‚   └── vite.svg
β”‚
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ App.jsx
β”‚   β”œβ”€β”€ index.css
β”‚   β”œβ”€β”€ main.jsx
β”‚   β”‚
β”‚   β”œβ”€β”€ assets/
β”‚   β”‚   β”œβ”€β”€ constants.js
β”‚   β”‚   └── react.svg
β”‚   β”‚
β”‚   β”œβ”€β”€ components/
β”‚   β”‚   β”œβ”€β”€ Chat.jsx
β”‚   β”‚   β”œβ”€β”€ ChatHistory.jsx
β”‚   β”‚   β”œβ”€β”€ Footer.jsx
β”‚   β”‚   β”œβ”€β”€ Header.jsx
β”‚   β”‚   β”œβ”€β”€ InputArea.jsx
β”‚   β”‚   β”œβ”€β”€ Message.jsx
β”‚   β”‚   β”œβ”€β”€ ProtectedRoute.jsx
β”‚   β”‚   β”œβ”€β”€ QuickMessages.jsx
β”‚   β”‚   β”œβ”€β”€ Sidebar.jsx
β”‚   β”‚   └── TypingIndicator.jsx
β”‚   β”‚
β”‚   β”œβ”€β”€ pages/
β”‚   β”‚   β”œβ”€β”€ Auth/
β”‚   β”‚   β”‚   β”œβ”€β”€ LoginPage.jsx
β”‚   β”‚   β”‚   β”œβ”€β”€ RegisterPage.jsx
β”‚   β”‚   β”‚   β”œβ”€β”€ Extra.jsx
β”‚   β”‚   β”‚   └── Home.jsx
β”‚   β”‚   β”‚
β”‚   β”‚   └── service/
β”‚   β”‚       └── firebase.js


About

BrainuBot πŸš€ is an AI-powered assistant developed for πŸŽ“ Brainware University. It helps πŸ‘©β€πŸŽ“ students and πŸ‘¨β€πŸ« faculty access important πŸ“š university resources through a πŸ’¬ chatbot interface. The system integrates πŸ€– Gemini AI API for smart natural language responses, ☁️ Firebase for backend services, and offers features like: 🎀 Voice input ...

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages