Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Improving onboarding Chat page] #1151

Closed
gozineb opened this issue Sep 12, 2023 · 1 comment
Closed

[Improving onboarding Chat page] #1151

gozineb opened this issue Sep 12, 2023 · 1 comment
Assignees
Labels
epic Used to tag the issue describing the whole epic Stale
Milestone

Comments

@gozineb
Copy link
Contributor

gozineb commented Sep 12, 2023

The why

AAUSER when I arrive for the first time on the chat. I can see a message streaming.

1- A first time user is a user that has access to chat for the first time (first login or first sign up). 

The message contains :

-Texte :’ Hi 👋🏻 Want to discover Quivr? 😇 Step 1: Download “Quivr documentation” “
-And a download button inside the chat.

If the user clicks on the download button.

Image

A document downloads locally on his device.



Once he clicked on the download button, another message streams : “Congratulations on your first step 🥳 

Step 2: Now Drag and drop it on the chat or in the 📎”

Image



Once he uploaded the document, another message streams : “Last step 🎉 Ask a question to your file. Ex : “What are you talking about ?””

Image

AAUSER if I don’t click on the download button, and I do another action like chatting, I can see 3 question above the question bar.

Image

This question are clickable.

If I click on a question it goes into the chat like if I had written it.

Image

Quivr gives me a static answer Q1 get Answer 1 (to be determined).

Once I clicked on a question, it disappears.

Image

The what

What are we developing?

What’s the expected behaviour? How should it look like?

What are the validation criteria to validate this feature?

What are you going to test to validate this feature? What are the edge cases? How should the feature behave in case of error ? How should the feature behave in case of missing data ? Are there other specific behaviours that should be clarified?

What’s out of scope for this feature?

Should this feature be feature flagged?

The how

How are we going to code this feature?

Are there any technical decisions made that should be shared?

  • Store the file in the code in public -> then use import Link from 'next/link';
  • New components to display a message (text is HTML instead of string and streams from the frontend instead of from the backend)
  • Store the messages in the frontend -> (for the translations too)

Onboarding A consists of displayed messages in chat dialogue as the user interacts with the chat area.
A1= the first message of onboarding A
A2= the second message of onboarding A
A3= the third and last message of onboarding A
To go from A1 to A2, the user needs to download a file
To go from A2 to A3, the user needs to upload the file
If while in A1 or in A2 or even A3, the user asks a question, then it should be marked that the onboarding A is finished.

Onboarding B consists of 3 suggested questions that the user can click on and it appears like the user has written it and the answer is stored somewhere, As soon as user clicks on one of the question, it disappears on all of its chats. If a person clicks on all the questions of onboaridng B then it should be marked that the onboarding B is finished.

Ticketos:

-0 AABE (As A BackEnd), I can store the states of onboarding A & B

  • Table onboarding: user_id (ref auth.?) + onboarding_A ( A1,A2,A3,A4) + onboarding_B_1 (true, false)+ onboarding_B_2 + onboarding_B_3 OR onboarding_B (objet json)

  • 0.a- AAU, when I first arrive on Quivr, my user id is stored in the onboarding table as {onboarding_A: true, onboarding_B={q1: true, q2: true, q3: false}
    -0.b- AAU, when I first arrive on Quivr, I arrive on a chat called "Welcome" (does not exist in the backend chats table yet)
    -0.c- AAU, when I finish my onboarding A,

  • 1.a AAU, when I first arrive on Quivr, the chat "Welcome" displays a message with explanations and a file to download
    Hi 👋🏻 Want to discover Quivr? 😇


    1. Drag and Drop a file on the chat or in the 📎
      Don’t have a file ? Download “Quivr documentation”
    2. Start chatting with your file
    3. Enjoy !

Image

  • 1.b AAU, when I am on onboarding A and I upload/crawl or start chatting, then my onboarding is done:

  • Add route in BE /onboarding with a put {onboardingA: false}
    -- Update onboarding in table: if done with A + done with B -> remove user_id from that onboarding table

  • Add route in BE /chat post

  • Save the new chat "Welcome" in chats:

  • If message: save message + answer (/question or new post /chat with a body )

  • If upload/crawl: link notification to this new chat

  • The user now has access to the "Welcome" chat without the A message:

    • put onboarding state to false in frontend
    • refetch chats list
  • 3.a AAU, I can resume my onboarding from one of the 3 steps:

  • AAU, when I first arrive on quivr, I can see a "Welcome" chat with A1 + The 3 questions

  • AAU, when I am in onboarding A and I ask a question or feed a brain, then a new chat is created

    • Multiple scenarios
  • check if user is being onboarded or not

  • chat must contain the onboarding A steps

  • created in the backend when the user send first question or first upload

  • If I go on another chat and come to my onboarding chat, I need to be able to start

  • 3.b AAU, If i start uploading or chatting, my onboarding A stops

  • 3.c AAU, I dont see step A a week after registering to the app for the first time

-2.a AAU, I can see the 3 suggested questions in the chat

  • 2.b AAU, when I click on one of the three questions, i see the question and its fixed response streming appearing in the chat diaolgue
  • 2.c AAU, once I clicked on q question, it never appears as a suggestion on any of my chat
  • 2.d AAU, I don't see the suggested questions a week after registering to the app for the first time
  • 2.d AAU, I can see the question + its answer on the chat in which the question was aked being displayed like other messages
    2.e AAU, once I clicked on q question, it never appears on any of my chat

What is preventing us from delivering this feature?

Are there functional dependencies? Are there métier dependencies? Are there internal teams that need to be consulted/need to validate

What can the feature potentially break?

@gozineb gozineb converted this from a draft issue Sep 12, 2023
@gozineb gozineb modified the milestones: V2, V3 Sep 12, 2023
@Chloeroumengas Chloeroumengas changed the title [User Baby Steps] [First chat page] Sep 20, 2023
@Chloeroumengas Chloeroumengas changed the title [First chat page] [Improving onboarding Chat page] Sep 20, 2023
@gozineb gozineb added the epic Used to tag the issue describing the whole epic label Oct 3, 2023
Copy link
Contributor

github-actions bot commented Nov 3, 2023

Thanks for your contributions, we'll be closing this issue as it has gone stale. Feel free to reopen if you'd like to continue the discussion.

@github-actions github-actions bot added the Stale label Nov 3, 2023
@github-actions github-actions bot closed this as not planned Won't fix, can't repro, duplicate, stale Nov 9, 2023
@github-project-automation github-project-automation bot moved this from Backlog to Done in Quivr's Roadmap Nov 9, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
epic Used to tag the issue describing the whole epic Stale
Projects
None yet
Development

No branches or pull requests

2 participants