User
Stories & Acceptance Criterias
- As a [user] I want to [join an event] so that [I can participate in the AMA]
- I can accept the invite shared by the [moderator]
- I can access the event via a shared link
- Validation: I must be part of the Microsoft tenant to access
---
title: Join Event
---
flowchart LR
id1([Receive Link])
subgraph 1 [ ]
id2{Microsoft Tenant?}
id3([Access Event])
end
id4([End])
id5([Show Error])
id1 --> id2
id2 -- Yes --> id3
id3 --> id4
id2 -- No --> id5
id5 --> id4
- As a [user] I want to [log in] so I can [be authenticated]
- I can enter my credentials and be authenticated
---
title: Log In
---
flowchart LR
id1([Enter Credentials])
id2{Valid Credentials?}
id3([Authenticated])
id4([Show Error])
id5([End])
id1 --> id2
id2 -- Yes --> id3
id3 --> id5
id2 -- No --> id4
id4 --> id5
- As a [user] I want to [view event details] so that [I know when and where to participate]
I can see the event name
- I can see the event name
- I can see the open and close dates
---
title: Event Details
---
flowchart LR
A([Main Page]) --> B[Open Event]
B --> C[Show Name]
B --> D[Show Dates]
C --> E[Question List](/JerryNixon/2025-luca-ama-app/wiki/Question-List)
D --> E
- As a [user] I want to [see the list of submitted questions] so that [I can follow the discussion]
- I can view all questions submitted to the event by the other [users]
- I can see who asked the question (or if it is anonymous)
- I can see which questions are marked as answered by the [moderator]
---
title: Question List
---
flowchart LR
start([Start])
display[Questions List]
subgraph 3 [ ]
showAsker[Name or Anonymous]
showAnswered[Answered Status](/JerryNixon/2025-luca-ama-app/wiki/Answered-Status)
end
stop([Stop])
start --> display
display --> showAsker --> showAnswered --> stop
- As a [user] I want to [see which questions are answered] so that [I can follow the discussion]
- Answered questions are clearly marked
- Answered questions appear in a separate tab
---
title: Answered Question
---
flowchart LR
start([Start])
load[Question List]
subgraph tts [ ];
mark[Answered Tag]
tab[Show in Answered Tab]
end
stop([Stop])
start --> load --> mark --> tab --> stop
- As a [user] I want to [upvote questions] so that [popular questions rise to the top]
- I can upvote any question once
- I can remove my upvote
- I cannot upvote my own question
---
title: Upvote
---
flowchart LR
start([Start])
view[Question List]
subgraph 5 [ ]
checkOwner{My question?}
errorSelf[Error]
end
subgraph 6 [ ]
checkVote{Already upvoted?}
voteChoice{Change}
removeVote[Remove Upvote]
addVote[Add Upvote]
saveDb[(Save)]
end
stop([Stop])
start --> view --> checkOwner
checkOwner -- Yes --> errorSelf --> stop
checkOwner -- No --> checkVote
checkVote -- Yes --> voteChoice
voteChoice -- "Remove" --> removeVote --> saveDb
voteChoice -- "Keep" --> stop
checkVote -- No --> addVote --> saveDb --> stop
- As a [user] I want to [search for questions] so that [I can avoid duplicates]
---
title: Search Questions
---
flowchart LR
start([Start])
subgraph 7
input[Keyword]
search[Search](/JerryNixon/2025-luca-ama-app/wiki/Search)
show[Results]
end
stop([Stop])
start --> input --> search --> show --> stop
- As a [user] I want to [see related questions grouped] so that [I can explore similar topics]
- Grouped questions are expandable under a parent
---
title: Grouped Questions
---
flowchart LR
start([Start])
list[Question List]
subgraph 8 [ ]
parent[Parent Question with +]
toggle{Toggle Clicked?}
expand[Show Grouped Questions]
end
stop([Stop])
start --> list --> parent --> toggle
toggle -- Yes --> expand --> stop
toggle -- No --> stop
- As a [user] I want to [submit a question] so that [I can participate in the discussion]
- I can write and submit a question
- I can choose to be anonymous
---
title: Submit Question
---
flowchart LR
start([Start])
open[Open Event]
subgraph 9 [ ];
write[Write Question]
anon{Anonymous?}
markAnon[Mark as Anonymous]
submit[Submit]
save[(Save)]
end
stop([Stop])
start --> open --> write --> anon
anon -- Yes --> markAnon --> submit
anon -- No --> submit
submit --> save --> stop
- As a [user] I want to [edit] so that [I can correct mistakes]
- I can edit my question before it is answered by the [moderator]
---
title: Edit Question
---
flowchart LR
start([Start])
view[View My Question]
subgraph 10 [ ]
checkAnswered{Answered?}
error[Error: Locked]
edit[Edit Question]
save[(Save)]
end
stop([Stop])
start --> view --> checkAnswered
checkAnswered -- Yes --> error --> stop
checkAnswered -- No --> edit --> save --> stop
- As a [user] I want to [delete my question] so that [I can remove the question from the question list]
- I can delete my question before it is answered
---
title: Delete Question
---
flowchart LR
start([Start])
view[View My Question]
subgraph 11 [ ];
checkAnswered{Answered?}
error[Error: Locked]
delete[Delete Question]
save[(Save)]
end
stop([Stop])
start --> view --> checkAnswered
checkAnswered -- Yes --> error --> stop
checkAnswered -- No --> delete --> save --> stop
- As a [user] I want to [see the current question being discussed] so that [I can follow the live conversation]
- The staged question appears in a “stage” section
flowchart LR
start([Start])
list[Question List]
subgraph 12 [ ];
stage[Show Staged Question]
nowPlaying[Now Playing Section](/JerryNixon/2025-luca-ama-app/wiki/Now-Playing-Section)
end
stop([Stop])
start --> list --> stage --> nowPlaying --> stop
Workflow