diff --git a/DesignUseCases.tex b/DesignUseCases.tex index 47dfbd2..253c41e 100644 --- a/DesignUseCases.tex +++ b/DesignUseCases.tex @@ -957,7 +957,7 @@ Login, {[}A3{]} Add a Class, {[}F1{]} Push Flashard} \item[Desired Outcome]{The flashcard's inappropriateness variable is adjusted.} \\ -\item[User Goals]{To note if a card should not belong in the class and +\item[User Goals]{To notify the admins if a card is inappropriate and should not be displayed in the feed.} \item[Primary Actor]{User (Student)} @@ -974,17 +974,13 @@ Login, {[}A3{]} Add a Class, {[}F1{]} Push Flashcard} \begin{itemize} \itemsep1pt\parskip0pt\parsep0pt \item - {User is enrolled in a class} -\end{itemize} - -\begin{itemize} -\itemsep1pt\parskip0pt\parsep0pt + {The user is enrolled in a class} \item - {Flashcard is created.} + {The flashcard has been created.} \item - {Flashcard is viewable in feed.} + {The flashcard is viewable in feed.} \item - {The User has clicked the red button on the flashcard which is the "Hide Card" button.} + {The user has clicked the red 'eye' icon on the flashcard which is the "Hide Card" button.} \end{itemize} \item[Post-conditions] @@ -994,7 +990,7 @@ Login, {[}A3{]} Add a Class, {[}F1{]} Push Flashcard} \item {Flashcard is hidden from user.} \item - {Flashcard internal variable is adjusted.} + {The flashcard is marked as being inappropriate.} \end{itemize} \item[Trigger]{The User does not like the particular flashcard.} @@ -1003,14 +999,17 @@ Login, {[}A3{]} Add a Class, {[}F1{]} Push Flashcard} \begin{enumerate} \itemsep1pt\parskip0pt\parsep0pt -\item { - The frontend displays a toast that offers the User the report text.} \item - {The User clicks the ``Report'' text on the flashcard.} + {The frontend displays a toast that offers the user the report text.} +\item + {The user clicks the ``Report'' text on the flashcard.} +\item + {The frontend shall hide the flashcard from the user in FlashcardFactory.js.} \item - {The frontend shall hide the flashcard from the User.} + {The frontend shall generate a POST request in Flashcard.report in FlashcardFactory.js + and send it to /api/flashcards/\textless{}flashcard id \textgreater{}/report} \item - {The backend shall check if the User already hid the flashcard in views.py function report.} + {The backend shall check if the user already hid the flashcard in views.py function report.} \item {The backend shall hide the flashcard in models.py in class FlashcardHide. } \end{enumerate} @@ -1023,18 +1022,18 @@ Login, {[}A3{]} Add a Class, {[}F1{]} Push Flashcard} {} -\subsection{[F5] Filter Flashcards - Deferred} +\subsection{[F5] Filter Flashcards} \begin{description} -\item[Description]{The User is able to filter for flashcards by date.} +\item[Description]{The user is able to filter for flashcards by material date and text.} -\item[Desired Outcome]{The User shall see flashcards based on the filter -options.} +\item[Desired Outcome]{The user shall see flashcards based on the filter +options: the material date and the text of the card.} -{User Goals:}{The User can find what he/she is specifically looking +{User Goals:}{The user can find what he/she is specifically looking for.} -\item[Primary Actor]{User (student)} +\item[Primary Actor]{User} \item[Dependency Use Cases]{{[}A1{]} User Registration, {[}A2{]} User Login, {[}A3{]} Add a Class, {[}F1{]} Push Flashcard, {[}F3{]} Pull @@ -1042,18 +1041,16 @@ Flashcard} \\ \item[Priority Level]{''Should''} -\item[Status]{Not Implemented } +\item[Status]{Implemented } \item[Pre-conditions] \begin{itemize} \itemsep1pt\parskip0pt\parsep0pt \item - {User has added the class.} + {The user has added a class.} \item - {Flashcards exist in the course.} -\item - {The User has navigated to the study page.} + {The class in question contains non-zero number of flashcards.} \end{itemize} \item[Post-conditions]{} @@ -1061,21 +1058,24 @@ Flashcard} \begin{itemize} \itemsep1pt\parskip0pt\parsep0pt \item - {User only sees specific flashcards} + {The user only sees the flashcards that match his filter criterion.} \end{itemize} -\item[Trigger]{The User wants to only see cards for a specific date range.} +\item[Trigger]{The user wants to only see cards for a specific date range or with a specific substring in their text.} \item[Workflow] \begin{enumerate} \itemsep1pt\parskip0pt\parsep0pt \item - {The frontend shall render the page described in study.html.} + {The frontend shall render the page described in study.html using CardListController.js.} +\item + {The user shall select the weeks that the filtered cards should belong to.} \item - {The User fills in the date fields.} + {The user shall type in the appropriate search filter in the text input box on the top right of the screen.} \item - {The frontend checks the date fields before making the POST request to /api/study.} + {The frontend generates a POST request with the flashcard dates and the flashcard text filter as + parameteres and sends it to /api/study.} \item {The system follows the Study workflow, displaying only cards made within a certain date time.}