Skip to main content

Features and Requirements

Functional Requirements

Features

1. Ask and Answer System

  • The system can allow users to ask questions related to Bioinformatics topics from the chatbot.
  • The system can provide users with a relevant answer to their query.
  • The system can indicate when there is no relevant tutorial for the users question by responding with "I don't know."

2. Chat History

  • The system can incorporate previous chat history as context when answering a question.
  • The system can allow users to view all messages in the current session.
  • The system can clear all messages from the current session if the user disconnects or closes the chat.

3. Edit Query / Resend

  • The system can allow users to modify and resend a previous message instead of typing it again.
  • The system can provide an edit button next to each sent message.
  • The system can maintain conversation context after a message is edited.

4. Download Chat

  • The system can allow users to download their chat history for future reference.
  • The system can provide options to download chat history in TXT, PDF, or CSV format.
  • The system can format conversations neatly with timestamps.
  • The system can ensure proper encoding and file naming conventions.

5. Document Upload

  • The system can allow users to log into or out of a document upload portal.
  • The system can allow authorized users to upload new documents.
  • The system can ensure that uploaded documents are properly stored.
  • The system can validate file format before accepting uploads.

Non-Functional Requirements

1. Availability & Reliability

  • The system can be free for all users.

2. Performance

  • The system can load messages instantly without noticeable delay.

3. Maintanability

  • The system can use modular and well-documented code for easy updates.
  • The system can ensure backward compatibility when upgrading features.

4. Appearence

  • The system will feature a simple and modern UI.

5. Usability

  • The system can provide a responsive design.