Innopolis University DevOps Playground
Skip to content

Expansion and Detailing of UML Diagrams for AI-Powered Telegram Customer Support Bot

As our project progresses, it's important to ensure that our UML diagrams reflect the current scope and complexity of the project. At present, our UML diagrams provide a basic overview of the system, but as we add more features and integrations, these diagrams need to grow accordingly.

Complaint Handling:

  1. A User sends a complaint via the Telegram Bot Interface.
  2. The Telegram Bot Interface sends the complaint to the Complaint Handling Component.
  3. The Complaint Handling Component asks the User (via the Telegram Bot Interface) for the required details (phone number and gas station number).
  4. The Complaint Handling Component queries the Gas Station Database for the relevant station manager's Telegram chatID.
  5. The Complaint Handling Component requests the Telegram Bot Interface to forward the complaint to the relevant station manager using the Telegram API.

Promotions Management:

  1. A Superuser sends an Excel file with promotion details via the Telegram Bot Interface.
  2. The Telegram Bot Interface sends the file to the Promotions Management Component.
  3. The Promotions Management Component checks the Admin Database to verify the identity of the Superuser.
  4. The Promotions Management Component processes the file into separate CSVs and formats them into strings.
  5. The Promotions Management Component updates the ChatGPT Model with a new system message containing the promotional details.

Customer Inquiries:

  1. A User sends an inquiry via the Telegram Bot Interface.
  2. The Telegram Bot Interface sends the inquiry to the Customer Inquiries Component.
  3. The Customer Inquiries Component retrieves the chat history of the User from the Chat History Database.
  4. The Customer Inquiries Component sends the inquiry and chat history to the ChatGPT Model via the OpenAI API.
  5. The ChatGPT Model generates a response and sends it back to the Customer Inquiries Component via the OpenAI API.
  6. The Customer Inquiries Component sends the response to the User via the Telegram Bot Interface.

In the sequence diagram, each of these steps should be represented as an arrow from the actor initiating the action to the actor receiving the action, with the arrow labeled with the action. The vertical lifelines or "lifetimes" of the actors will represent time, with time progressing down the page.

Acceptance Criteria:

  • All new components identified are included in the updated Component Diagram.
  • All new interactions are represented accurately in the updated Component and Sequence Diagrams.
  • The Sequence Diagram accurately represents the order of interactions for each feature.
  • All diagrams are correctly formatted and follow UML notation.

Estimation: 2-3 hours. This includes time for identifying new components and interactions, and updating the diagrams.

Edited by Maxim Martyshov