/QuizBot

The user can chat with their uploaded documents(*.pdf, *.docx, *.txt), and also extract the bloom's taxonomy questions on the different level.

Primary LanguageJavaScript

QuizBot

AboutPreviewFeaturesTechnologiesUsage

About

QuizBot is a bot that allows the users to chat with their uploaded documents(*.pdf, *.docx, *.txt), and also extract the bloom's taxonomy questions on the different level.

Preview

Features

  • Authentication
  • Chat with documents
  • Extract bloom's taxonomy question on high, medium, low level
  • Contact us

Plan to add

  • Voice chat

Technologies

  • Frontend - React | TailwindCSS | Vite
  • Backend - Express.js
  • DB - MySQL
  • NLP Framework - Javascript Langchain
  • NLP API - OpenAI
  • VectorDB - Pinecone

Usage

Assuming that you have a React environment ready:

1. Clone the project

$ git clone https://github.com/BestHappy90619/QuizBot.git

2. Install packages

$ cd backend
$ yarn install
$ cd..
$ cd frontend
$ yarn install

3. Install database with quizbot.sql

4. Set up environments

Change the file name ./backend/.env.example to .env
DB_HOST: Your database's host url
DB_USER: The user name to access your database
DB_PASS: The user password to access your database
DB_NAME: The databse name
JWT_SECRET_KEY: The key for JSON Web Token
PORT: The port of the server to be hosting
PUBLIC_URL: The public folder on the side of backend
PINECONE_API_KEY: Your Pinecone API key
PINECONE_ENVIRONMENT: Your Pinecone environment
PINECONE_INDEX_NAME: Your Pinecone index name
MAILER_SERVICE: Your mailer service
MAILER_HOST: Your mailer server
MAILER_PORT: Your mailer's port
MAILER_SECURE: Your mailer secure
MAILER_USER: Your mailer user
MAILER_PASS: Your mailer password
CONTACT_MAIL_ADDRESS: Contact address
SELF_URL: The backend's hosting url

5. Run the backend and frontend