Commit 0e8c33d9bba5e3b9fb724ea1ffa24e3ce0d46e72

Authored by mjeng
Exists in master

Merge branch 'master' of https://git.ucsd.edu/110swag/docs

Showing 11 changed files Side-by-side Diff

DesignUseCases.tex View file @ 0e8c33d
... ... @@ -730,13 +730,13 @@
730 730 \subsection{[F1] Push Flashcard}
731 731  
732 732 \begin{description}
733   -\item[Description]{The user shall be able to create a flashcard with their
  733 +\item[Description]{The User shall be able to create a flashcard with their
734 734 input. }
735 735  
736   -\item[Desired Outcome]{The user shall have the flashcard added to their own
  736 +\item[Desired Outcome]{The User shall have the flashcard added to their own
737 737 deck and the Live Feed. }
738 738 \\
739   -\item[User Goals]{The user will see their flashcard in their deck and the
  739 +\item[User Goals]{The User will see their flashcard in their deck and the
740 740 flashcard will be shared with others. }
741 741  
742 742 \item[Dependency Use Cases]{{[}A1{]} User Registration, {[}A2{]} User
743 743  
744 744  
... ... @@ -747,11 +747,11 @@
747 747 \begin{itemize}
748 748 \itemsep1pt\parskip0pt\parsep0pt
749 749 \item
750   - {The User has an account }
  750 + {The User has an account.}
751 751 \item
752   - {The User has added at least one class}
  752 + {The User has added at least one class.}
753 753 \item
754   - {The User is on the class' page}
  754 + {The User has navigated to the live feed for a class.}
755 755 \end{itemize}
756 756  
757 757 \item[Post-conditions]
758 758  
759 759  
760 760  
761 761  
762 762  
763 763  
764 764  
765 765  
766 766  
767 767  
768 768  
769 769  
770 770  
771 771  
772 772  
773 773  
774 774  
775 775  
... ... @@ -759,100 +759,55 @@
759 759 \begin{itemize}
760 760 \itemsep1pt\parskip0pt\parsep0pt
761 761 \item
762   - {The User has flashcard added to their deck}
  762 + {The User has flashcard added to their deck.}
763 763 \item
764   - {The Flashcard is shown in the Live Feed}
  764 + {The Flashcard is shown in the Live Feed.}
765 765 \item
766   - {Other users can add this flashcard to their decks}
  766 + {Other users can add this flashcard to their decks.}
767 767 \end{itemize}
768 768  
769   -\item[Trigger]{}
  769 +\item[Trigger]{The User wants to make a flashcard to study.}
770 770  
771   -\begin{itemize}
772   -\itemsep1pt\parskip0pt\parsep0pt
773   -\item
774   - {The User has clicked on the button ``Make New Flashcard''.}
775   -\item
776   - {The Server receives a POST request containing the flashcard data.}
777   -\end{itemize}
778   -
779 771 \item[Workflow]
780 772  
781 773 \begin{enumerate}
782 774 \itemsep1pt\parskip0pt\parsep0pt
783 775 \item
784   - {The User is at the live feed for the class.}
  776 + {The User is at the live feed for the class from feed.html.}
785 777 \item
786   - {The User shall click on the button}{Push
787   - Flashcard}
  778 + {The User shall click on the 'Plus' button or press the hotkey 'c'.}
788 779 \item
789   - {The
790   - }{Client}{shall
791   - present a dialog box for inputting the flashcard text to the User.}
  780 + {The frontend shall present a modal for inputting the flashcard text to the User.}
792 781 \item
793   - {The User shall input the flashcard text.}
  782 + {The User shall type in the content of their flashcard.}
794 783 \item
795   - {Optionally, the User shall mark keywords in the flashcard text.}
  784 + {The User shall highlight keywords in the flashcard text.}
796 785 \item
797   - {If the User creates this flashcard outside of the lecture time, he
798   - will get the option to change the material date.}
799   -\item
800   - {The User shall click on the `Submit' button to submit the flashcard
  786 + {The User shall click on the `Contribute' button to submit the flashcard
801 787 text, blanks, and material date, in JSON form as a POST request.}
802 788 \item
803   - {The Server shall obtain the flashcard information by deserializing
804   - the JSON in the POST request.}
  789 + {The backend shall obtain the flashcard information by deserializing
  790 + the JSON in the POST request in views.py.}
805 791 \item
806   - {The Server shall create a new record for this flashcard in the
807   - Flashcards table in the database.}
  792 + {The backend shall create a new record for this flashcard in the
  793 + Flashcards table in the database in models.py.}
808 794 \item
809   - {The Server shall publish the newly created card to the live feed of
810   - the class.}
  795 + {The frontend shall publish the newly created card to the live feed of
  796 + the class using FeedController.js.}
811 797 \end{enumerate}
812 798 \end{description}
813   -{Alternative Workflow:}
814   -
815   -\begin{enumerate}
816   -\itemsep1pt\parskip0pt\parsep0pt
817   -\item
818   - {The User shall view a flashcard that he/she did not create}
819   -\item
820   - {The User shall click ``Edit''}
821   -\item
822   - {The client shall present a dialog box for editing the existing
823   - flashcard text}
824   -\item
825   - {The User shall make edits}
826   -\item
827   - {The User shall click ``save''}
828   -\item
829   - {The client shall send a POST request}
830   -\item
831   - {The server shall remove the original card from user's deck}
832   -\item
833   - {The Server shall obtain the flashcard information by deserializing
834   - the JSON in the POST request.}
835   -\item
836   - {The Server shall create a new record for this flashcard in the
837   - Flashcards table in the database.}
838   -\item
839   - {The Server shall publish the newly created card to the live feed of
840   - the class.}
841   -\end{enumerate}
842   -
843 799 \newpage
844   -
845 800 {}
846 801  
847 802 \subsection{[F2] Edit Flashcard}
848 803  
849 804 \begin{description}
850   -\item[Description]{The user shall be able to edit the text on their own
  805 +\item[Description]{The User shall be able to edit the text on their own
851 806 flashcard }
852 807  
853   -\item[Desired Outcome]{Flashcard is edited and saved appropriately}
  808 +\item[Desired Outcome]{Flashcard is edited and saved appropriately.}
854 809 \\
855   -\item[User Goals]{To be able to change text on a flashcard}
  810 +\item[User Goals]{To be able to change text on a flashcard.}
856 811  
857 812 \item[Dependency Use Cases]{{[}A1{]} User Registration, {[}A2{]} User
858 813 Login, {[}A3{]} Add a Class, {[}F1{]} Push Flashcard, {[}F3{]} Pull
859 814  
860 815  
... ... @@ -863,11 +818,11 @@
863 818 \begin{itemize}
864 819 \itemsep1pt\parskip0pt\parsep0pt
865 820 \item
866   - {Flashcard is created}
  821 + {Flashcard is created.}
867 822 \item
868   - {Flashcard in user's deck}
  823 + {Flashcard in user's deck.}
869 824 \item
870   - {Flashcard is viewable}
  825 + {Flashcard is viewable.}
871 826 \end{itemize}
872 827  
873 828 \item[Post-conditions]
874 829  
875 830  
876 831  
877 832  
... ... @@ -875,27 +830,19 @@
875 830 \begin{itemize}
876 831 \itemsep1pt\parskip0pt\parsep0pt
877 832 \item
878   - {Flashcard is edited}
  833 + {Flashcard is edited.}
879 834 \end{itemize}
880 835  
881   -\item[Trigger]{User has clicked ``Edit'' button when viewing a specific
882   -flashcard}
883   -
  836 +\item[Trigger] {The User wants to change a card to show different information.}
884 837 \item[Workflow]
885 838  
886 839 \begin{enumerate}
887 840 \itemsep1pt\parskip0pt\parsep0pt
  841 +\item{User has clicked ``Edit'' button when viewing a specific flashcard.}
888 842 \item
889   - {The user shall view their deck}
  843 + {The frontend shall produce an editable dialog box containing flashcard
  844 + text }
890 845 \item
891   - {The client shall present user with a grid view of cards in
892   - chronological creation order}
893   -\item
894   - {The user shall select a flashcard and click `Edit'}
895   -\item
896   - {The client shall produce an editable dialog box containing flashcard
897   - text}
898   -\item
899 846 {The user shall make desired changes}
900 847 \item
901 848 {The user shall click `Save'}
902 849  
903 850  
... ... @@ -947,16 +894,16 @@
947 894 \\
948 895 \item[Priority Level]{``Must'' }
949 896  
950   -\item[Status]{Not Implemented}
  897 +\item[Status]{Implemented}
951 898  
952 899 \item[Pre-conditions]
953 900  
954 901 \begin{itemize}
955 902 \itemsep1pt\parskip0pt\parsep0pt
956 903 \item
957   - {Flashcard has been created }
  904 + {A flashcard has been created and is in the Live Feed for a class. }
958 905 \item
959   - {That flashcard is in the Live Feed}
  906 + {The User is currently viewing the Live Feed for that class.}
960 907 \end{itemize}
961 908  
962 909 \item[Post-conditions]
963 910  
964 911  
965 912  
966 913  
... ... @@ -964,25 +911,22 @@
964 911 \begin{itemize}
965 912 \itemsep1pt\parskip0pt\parsep0pt
966 913 \item
967   - {User shall have that flashcard added to their deck}
  914 + {User shall have that flashcard added to their deck.}
968 915 \item
969   - {User can review this flashcard later}
  916 + {User can review this flashcard later.}
970 917 \end{itemize}
971 918  
972   -\item[Trigger]{User has clicked on the flashcard in the Live Feed.}
  919 +\item[Trigger]{The User wants to save a flashcard for review later.}
973 920  
974 921 \item[Workflow]
975 922  
976 923 \begin{enumerate}
977 924 \itemsep1pt\parskip0pt\parsep0pt
978 925 \item
979   - {The User is in the Live Feed.}
980   -\item
981 926 {User shall click on the ``Pull Flashcard'' button on a Flashcard in
982 927 the Feed.}
983 928 \item
984   - {The Client shall make the pulled Flashcard disappear from the Live
985   - Feed}
  929 + {The frontend shall }
986 930 \item
987 931 {The Client shall make the pulled Flashcard appear in the User's Deck
988 932 on the sidebar.}
989 933  
... ... @@ -1010,10 +954,10 @@
1010 954 \item[Description]{Cards may be flagged indicating inappropriate content}
1011 955  
1012 956 \item[Desired Outcome]{The flashcard's inappropriateness variable is
1013   -adjusted}
  957 +adjusted.}
1014 958 \\
1015 959 \item[User Goals]{To note if a card should not belong in the class and
1016   -should not be displayed in the feed}
  960 +should not be displayed in the feed.}
1017 961  
1018 962 \item[Primary Actor]{User (Student)}
1019 963  
... ... @@ -1022,7 +966,7 @@
1022 966 \\
1023 967 \item[Priority Level]{``Should''}
1024 968  
1025   -\item[Status]{Unimplemented}
  969 +\item[Status]{Implemented}
1026 970  
1027 971 \item[Pre-conditions]
1028 972  
1029 973  
... ... @@ -1035,9 +979,11 @@
1035 979 \begin{itemize}
1036 980 \itemsep1pt\parskip0pt\parsep0pt
1037 981 \item
1038   - {Flashcard is created}
  982 + {Flashcard is created.}
1039 983 \item
1040   - {Flashcard is viewable in feed}
  984 + {Flashcard is viewable in feed.}
  985 +\item
  986 + {The User has clicked the red button on the flashcard which is the "Hide Card" button.}
1041 987 \end{itemize}
1042 988  
1043 989 \item[Post-conditions]
1044 990  
1045 991  
1046 992  
1047 993  
1048 994  
1049 995  
1050 996  
... ... @@ -1045,32 +991,27 @@
1045 991 \begin{itemize}
1046 992 \itemsep1pt\parskip0pt\parsep0pt
1047 993 \item
1048   - {Flashcard is hidden from user}
  994 + {Flashcard is hidden from user.}
1049 995 \item
1050   - {Flashcard internal variable is adjusted}
  996 + {Flashcard internal variable is adjusted.}
1051 997 \end{itemize}
1052 998  
1053   -\item[Trigger]{User clicks flag on a specific flashcard}
  999 +\item[Trigger]{The User does not like the particular flashcard.}
1054 1000  
1055 1001 \item[Workflow]
1056 1002  
1057 1003 \begin{enumerate}
1058 1004 \itemsep1pt\parskip0pt\parsep0pt
  1005 +\item {
  1006 + The frontend displays a toast that offers the User the report text.}
1059 1007 \item
1060   - {The User is at a page of their classes.}
  1008 + {The User clicks the ``Report'' text on the flashcard.}
1061 1009 \item
1062   - {The User selects one of their classes to enter the Live Feed.}
  1010 + {The frontend shall hide the flashcard from the User.}
1063 1011 \item
1064   - {The User is on the Live Feed for his/her class.}
  1012 + {The backend shall check if the User already hid the flashcard in views.py function report.}
1065 1013 \item
1066   - {The User shall identify an inappropriate card and flag the card.}
1067   -\item
1068   - {The User clicks the ``Flag as Inappropriate'' button on the flashcard
1069   - that he/she wants to report}
1070   -\item
1071   - {The Client shall hide the card from the user}
1072   -\item
1073   - {The server shall create a FlashcardReport object}
  1014 + {The backend shall hide the flashcard in models.py in class FlashcardHide. }
1074 1015 \end{enumerate}
1075 1016 \end{description}
1076 1017 {}
1077 1018  
1078 1019  
1079 1020  
... ... @@ -1081,16 +1022,16 @@
1081 1022  
1082 1023 {}
1083 1024  
1084   -\subsection{[F5] Filter Flashcards}
  1025 +\subsection{[F5] Filter Flashcards - Deferred}
1085 1026  
1086 1027 \begin{description}
1087   -\item[Description]{The user is able to filter for flashcards by date}
  1028 +\item[Description]{The User is able to filter for flashcards by date.}
1088 1029  
1089   -\item[Desired Outcome]{The user shall see flashcards based on the filter
1090   -options}
  1030 +\item[Desired Outcome]{The User shall see flashcards based on the filter
  1031 +options.}
1091 1032  
1092   -{User Goals:}{The user can find what he/she is specifically looking
1093   -for}
  1033 +{User Goals:}{The User can find what he/she is specifically looking
  1034 +for.}
1094 1035  
1095 1036 \item[Primary Actor]{User (student)}
1096 1037  
1097 1038  
1098 1039  
... ... @@ -1100,16 +1041,18 @@
1100 1041 \\
1101 1042 \item[Priority Level]{''Should''}
1102 1043  
1103   -\item[Status]{Not}{}{Implemented }
  1044 +\item[Status]{Not Implemented }
1104 1045  
1105 1046 \item[Pre-conditions]
1106 1047  
1107 1048 \begin{itemize}
1108 1049 \itemsep1pt\parskip0pt\parsep0pt
1109 1050 \item
1110   - {User has registered for the course }
  1051 + {User has added the class.}
1111 1052 \item
1112   - {Flashcards exist in the course}
  1053 + {Flashcards exist in the course.}
  1054 +\item
  1055 + {The User has navigated to the study page.}
1113 1056 \end{itemize}
1114 1057  
1115 1058 \item[Post-conditions]{}
1116 1059  
1117 1060  
1118 1061  
1119 1062  
... ... @@ -1120,27 +1063,21 @@
1120 1063 {User only sees specific flashcards}
1121 1064 \end{itemize}
1122 1065  
1123   -\item[Trigger]{User has selected advanced options from menu}
  1066 +\item[Trigger]{The User wants to only see cards for a specific date range.}
1124 1067  
1125 1068 \item[Workflow]
1126 1069  
1127 1070 \begin{enumerate}
1128 1071 \itemsep1pt\parskip0pt\parsep0pt
1129 1072 \item
1130   - {The User chooses one of their classes.}
  1073 + {The frontend shall render the page described in study.html.}
1131 1074 \item
1132   - {The User presses the class they want to view.}
  1075 + {The User fills in the date fields.}
1133 1076 \item
1134   - {The Client displays the Live Feed.}
  1077 + {The frontend checks the date fields before making the POST request to /api/study.}
1135 1078 \item
1136   - {The User is at the Live Feed.}
1137   -\item
1138   - {The User wants to filter the cards on the Live Feed.}
1139   -\item
1140   - {The User shall select what filter option they want from a drop down
1141   - menu.}
1142   -\item
1143   - {The Client shall display only relevant flashcards.}
  1079 + {The system follows the Study workflow, displaying only cards made within a certain date time.}
  1080 +
1144 1081 \end{enumerate}
1145 1082 \end{description}
1146 1083 {}
1147 1084  
1148 1085  
... ... @@ -1169,17 +1106,20 @@
1169 1106 \\
1170 1107 \item[Priority Level]{``Must''}
1171 1108  
1172   -\item[Status]{Not implemented.}
  1109 +\item[Status]{Implemented.}
1173 1110  
1174 1111 \item[Pre-conditions]
1175 1112  
1176 1113 \begin{itemize}
1177 1114 \itemsep1pt\parskip0pt\parsep0pt
1178 1115 \item
1179   - {The User has the flashcard he wishes to blank out words from in his
1180   - deck.}
  1116 + {The User has an account and is logged in.}
1181 1117 \item
1182   - {The User shall (be on the class page and) view deck}
  1118 + {The User shall be on the Live Feed for the class.}
  1119 +\item
  1120 + {The User has clicked the 'c' hotkey or the 'plus' button to start making a card.}
  1121 +\item
  1122 + {The User shall type in information relevant to their class.}
1183 1123 \end{itemize}
1184 1124  
1185 1125 {Post-conditions: }
1186 1126  
1187 1127  
1188 1128  
1189 1129  
1190 1130  
... ... @@ -1193,35 +1133,23 @@
1193 1133 they are when it presents the flashcard to the User for reviewing.}
1194 1134 \end{itemize}
1195 1135  
1196   -\item[Trigger]{The User clicks on a flashcard.}
  1136 +\item[Trigger]{The User wants to make a flashcard and be quizzed on parts of the flashcard while they study.}
1197 1137  
1198 1138 \item[Workflow]
1199 1139  
1200 1140 \begin{enumerate}
1201 1141 \itemsep1pt\parskip0pt\parsep0pt
1202 1142 \item
1203   - {The Client shall a show deck to user}
  1143 + {The User shall highlight the words that he wishes to blank out.}
1204 1144 \item
1205   - {The User shall click on the flashcard in his deck that he wants to
1206   - blank out words from}
  1145 + {The User shall click the 'Contribute' button.}
1207 1146 \item
1208   - {The client shall bring user to edit flashcard page/popup}
  1147 + {The backend shall mark those words by updating the field mask for
  1148 + that userflashcard object in views.py in function create. }
1209 1149 \item
1210   - {The User shall click on the words that he wishes to blank out}
  1150 + {The backend shall save those in models.py.}
1211 1151 \item
1212   - {The client shall specify a character range as blank}
1213   -\item
1214   - {The server shall mark those words by updating the Flashcard Mask for
1215   - that flashcard. }
1216   -\item
1217   - {The User shall click on `Save' or the equivalent button to save the
1218   - changes}
1219   -\item
1220   - {The server will save the blanked out words as keywords to the
1221   - Flashcard Mask to review}
1222   -\item
1223   - {The client shall cover the keywords with whitespace to hide them from
1224   - the User}
  1152 + {The frontend shall change the color of the text that was blanked out in flashcard.html.}
1225 1153 \end{enumerate}
1226 1154  
1227 1155 {Alternative Workflows:}
1228 1156  
1229 1157  
1230 1158  
1231 1159  
... ... @@ -1229,20 +1157,17 @@
1229 1157 \begin{enumerate}
1230 1158 \itemsep1pt\parskip0pt\parsep0pt
1231 1159 \item
1232   - {The User shall (be on the class page and) click ``Make New
1233   - Flashcard''}
  1160 + {Precondition: The User has clicked the edit flashcard button instead of creating a new card.}
1234 1161 \item
1235   - {The client shall present user with a new flashcard to fill in}
  1162 + {The User shall highlight selection text and click either ctrl-b or 'Blank Selected Text'.}
1236 1163 \item
1237   - {The User shall fill in the information}
  1164 + {The backend shall mark those words by updating the field mask for
  1165 + that userflashcard object in views.py in function create. }
1238 1166 \item
1239   - {The client shall ask if the user wants to specify blanks}
  1167 + {The backend shall save those in models.py.}
1240 1168 \item
1241   - {The System will save the blanked out words as keywords to the
1242   - Flashcard Mask to review}
1243   -\item
1244   - {The client shall cover the keywords with whitespace to hide them from
1245   - the User}
  1169 + {The frontend shall change the color of the text that was blanked out in flashcard.html.}
  1170 +
1246 1171 \end{enumerate}
1247 1172 \end{description}
1248 1173 {}
screen_sequence_diagrams/pull_flashcard.dot View file @ 0e8c33d
... ... @@ -23,15 +23,15 @@
23 23 fixedsize=true, width=1.4, height=1.4];
24 24 "Flashcard added to User's Deck"[center=true, fillcolor="#aaaaff", style=filled];
25 25 "POST"[shape=none];
26   - "Pull Flashcard Button" -> "POST"[dir=none];
  26 + "Pull Flashcard Button" -> "POST";
27 27 "POST" -> "Controller";
28   - "Controller" -> "FAILURE"[dir=none];
  28 + "Controller" -> "FAILURE";
29 29 "FAILURE" -> "Pull Flashcard Button";
30 30 "Controller" -> "Hide Flashcard from Feed";
31 31 "POST" -> "Server";
32   - "Server"-> "SUCCESS"[dir=none];
  32 + "Server"-> "SUCCESS";
33 33 "SUCCESS" -> "Flashcard added to User's Deck";
34   - "Flashcard added to User's Deck" -> "Update Card Rating"[dir=none];
  34 + "Flashcard added to User's Deck" -> "Update Card Rating";
35 35 "Update Card Rating" -> "Pull Flashcard Button";
36 36 }
screen_sequence_diagrams/push_flashcard.dot View file @ 0e8c33d
... ... @@ -23,15 +23,15 @@
23 23 fixedsize=true, width=1.4, height=1.4];
24 24 "Flashcard Record \n Created in Database"[center=true, fillcolor="#aaaaff", style=filled];
25 25 "POST"[shape=none];
26   - "Push Flashcard Button" -> "POST"[dir=none];
  26 + "Push Flashcard Button" -> "POST";
27 27 "POST" -> "Controller";
28   - "Controller" -> "FAILURE"[dir=none];
  28 + "Controller" -> "FAILURE";
29 29 "FAILURE" -> "Push Flashcard Button";
30   - "Controller" -> "POST"[dir=none];
  30 + "Controller" -> "POST";
31 31 "POST" -> "Server";
32   - "Server"-> "SUCCESS"[dir=none];
  32 + "Server"-> "SUCCESS";
33 33 "SUCCESS" -> "Flashcard Record \n Created in Database";
34   - "Flashcard Record \n Created in Database" -> "Card Published in Feed"[dir=none];
  34 + "Flashcard Record \n Created in Database" -> "Card Published in Feed";
35 35 "Card Published in Feed" -> "Push Flashcard Button";
36 36  
37 37 }
screen_sequence_diagrams/remove_card.dot View file @ 0e8c33d
... ... @@ -22,15 +22,15 @@
22 22 "POST"[shape=none];
23 23 "Card Removed from Deck"[shape=none];
24 24 "Flashcard Position\nUpdated in Live Feed"[shape=none];
25   - "View Deck" -> "POST"[dir=none];
  25 + "View Deck" -> "POST";
26 26 "POST" -> "Controller";
27   - "Controller" -> "FAILURE"[dir=none];
  27 + "Controller" -> "FAILURE";
28 28 "FAILURE" -> "View Deck";
29 29 "Controller" -> "Remove Flashcard Button";
30   - "Remove Flashcard Button" -> "DELETE"[dir=none];
  30 + "Remove Flashcard Button" -> "DELETE";
31 31 "DELETE" -> "Server";
32   - "Server" -> "Card Removed from Deck"[dir=none];
33   - "Card Removed from Deck" -> "Flashcard Position\nUpdated in Live Feed"[dir=none];
  32 + "Server" -> "Card Removed from Deck";
  33 + "Card Removed from Deck" -> "Flashcard Position\nUpdated in Live Feed";
34 34 "Flashcard Position\nUpdated in Live Feed" -> "View Deck";
35 35 }
screen_sequence_diagrams/review_notification.dot View file @ 0e8c33d
... ... @@ -12,9 +12,9 @@
12 12 "Notification"[shape=none];
13 13 "UPDATE"[shape=none];
14 14  
15   - "Server" -> "Notification"[dir=none];
  15 + "Server" -> "Notification";
16 16 "Notification" -> "Controller";
17   - "Controller" -> "UPDATE"[dir=none];
  17 + "Controller" -> "UPDATE";
18 18 "UPDATE" -> "Sidebar Menu";
19 19  
20 20 }
screen_sequence_diagrams/section_limit_access.dot View file @ 0e8c33d
... ... @@ -24,15 +24,15 @@
24 24 fixedsize=true, width=1.5, height=1.5];
25 25  
26 26 // Graph
27   - "Instructor's\nEmail Client" -> "EMAIL"[dir=none];
  27 + "Instructor's\nEmail Client" -> "EMAIL";
28 28 "EMAIL" -> "Admins Page";
29   - "Admins Page" -> "POST"[dir=none];
  29 + "Admins Page" -> "POST";
30 30 "POST" -> "Controller";
31 31  
32   - "Controller" -> "SUCCESS"[dir=none];
  32 + "Controller" -> "SUCCESS";
33 33 "SUCCESS" -> "Instructor's\nEmail Client";
34 34  
35   - "Controller" -> "FAILURE"[dir=none];
  35 + "Controller" -> "FAILURE";
36 36 "FAILURE" -> "Admins Page";
37 37 }
screen_sequence_diagrams/study_deck.dot View file @ 0e8c33d
... ... @@ -8,7 +8,7 @@
8 8 node[shape=box, style="rounded,filled,bold"];
9 9 splines=ortho;
10 10 nodesep=1.4;
11   - "Sidebar Menu"[center=true, fillcolor="#aaaaff", style=filled,pos="0,0!"];
  11 + "Navbar"[center=true, fillcolor="#aaaaff", style=filled,pos="0,0!"];
12 12 "ClassView"[center=true, fillcolor="#aaaaff", style=filled,pos="0,0!"];
13 13 "StudyView Blank"[center=true, fillcolor="#aaaaff", style=filled,pos="0,0!"];
14 14 "StudyView Response"[center=true, fillcolor="#aaaaff", style=filled,pos="0,0!"];
15 15  
16 16  
17 17  
... ... @@ -21,16 +21,16 @@
21 21 "SUCCESS\nUser has at least a card in the deck."[shape=none];
22 22 "FAILURE:\nUser has no card in the deck."[shape=none];
23 23  
24   - "Sidebar Menu" -> "ClassView";
25   - "ClassView" -> "POST"[dir=none];
  24 + "Navbar" -> "ClassView";
  25 + "ClassView" -> "POST";
26 26 "POST" -> "Controller";
27   - "Controller" -> "FAILURE:\nUser has no card in the deck."[dir=none];
28   - "Controller" -> "SUCCESS\nUser has at least a card in the deck."[dir=none];
  27 + "Controller" -> "FAILURE:\nUser has no card in the deck.";
  28 + "Controller" -> "SUCCESS\nUser has at least a card in the deck.";
29 29 "FAILURE:\nUser has no card in the deck." -> "Sidebar Menu";
30 30 "SUCCESS\nUser has at least a card in the deck." -> "StudyView Blank";
31   - "StudyView Blank" -> "POST"[dir=none];
  31 + "StudyView Blank" -> "POST";
32 32 "Controller" -> "StudyView Response";
33   - "StudyView Response" -> "POST"[dir=none];
  33 + "StudyView Response" -> "POST";
34 34 "Controller" -> "StudyView Blank";
35 35  
36 36 }
screen_sequence_diagrams/user_login_out.dot View file @ 0e8c33d
... ... @@ -7,7 +7,7 @@
7 7 node[shape=box, style="rounded,filled,bold"];
8 8 splines=ortho;
9 9 nodesep=1.4;
10   - "Sidebar Menu"[center=true, fillcolor="#aaaaff", style=filled,pos="0,0!"];
  10 + "Navbar"[center=true, fillcolor="#aaaaff", style=filled,pos="0,0!"];
11 11 "Login/Register Page"[center=true, fillcolor="#aaaaff", style=filled];
12 12 "Logout Controller"[center=true, fillcolor="#aaaaff", style=filled, shape=diamond,
13 13 fixedsize=true, width=1.8, height=1.8];
14 14  
15 15  
16 16  
... ... @@ -28,19 +28,19 @@
28 28 fixedsize=true, width=1.8, height=1.8];
29 29  
30 30 // Graph
31   - "Sidebar Menu" -> "POST"[dir=none];
  31 + "Navbar" -> "POST"[dir=none];
32 32 "POST" -> "Logout Controller";
33 33 "Logout Controller" -> "Logout FAILURE"[dir=none];
34 34 "Logout FAILURE" -> "Sidebar Menu";
35 35  
36   - "Logout Controller" -> "SUCCESS:\n User logged out"[dir=none];
  36 + "Logout Controller" -> "SUCCESS:\n User logged out";
37 37 "SUCCESS:\n User logged out" -> "Login/Register Page";
38 38  
39 39 "Login/Register Page" -> "Login Controller";
40   - "Login Controller" -> "SUCCESS:\n User logged in"[dir=none];
  40 + "Login Controller" -> "SUCCESS:\n User logged in";
41 41 "SUCCESS:\n User logged in" -> "Sidebar Menu";
42 42  
43   - "Login Controller" -> "Login FAILURE"[dir=none];
  43 + "Login Controller" -> "Login FAILURE";
44 44 "Login FAILURE" -> "Login/Register Page";
45 45 }
screen_sequence_diagrams/user_register.dot View file @ 0e8c33d
... ... @@ -10,7 +10,7 @@
10 10 splines=ortho;
11 11 // nodesep=1.3;
12 12 nodesep=3.0;
13   - ranksep=0.05;
  13 + ranksep=0.05;
14 14 "Login/Register Page"[center=true, fillcolor="#aaaaff", style=filled,pos="0,0!"];
15 15 "POST"[shape=none];
16 16 labelfloat=true;
17 17  
18 18  
19 19  
20 20  
21 21  
22 22  
23 23  
... ... @@ -20,26 +20,26 @@
20 20 "SUCCESS:\nValid, unverified user created.\nEmail verification message displayed."[shape=none];
21 21 "FAILURE"[shape=none];
22 22 "FAILURE:\nData invalid"[shape=none];
23   -
  23 +
24 24 "Controller"[center=true, fillcolor="#aaaaff", style=filled, shape = diamond,
25   - fixedsize=true, width=1.5, height=1.5];
  25 + fixedsize=true, width=1.5, height=1.5];
26 26 "Server"[center=true, fillcolor="#aaaaff", style=filled, shape = diamond,
27   - fixedsize=true, width=1.5, height=1.5];
  27 + fixedsize=true, width=1.5, height=1.5];
28 28  
29 29 // Graph
30   - "Login/Register Page" -> "POST"[dir=none];
  30 + "Login/Register Page" -> "POST";
31 31 "POST" -> "Controller";
32 32  
33   - "Controller" -> "FAILURE"[dir=none];
  33 + "Controller" -> "FAILURE";
34 34 "FAILURE" -> "Login/Register Page";
35 35  
36   - "Controller" -> "SUCCESS:\nValid, send JSON."[dir=none];
37   - "SUCCESS:\nValid, send JSON." -> "Server";
  36 + "Controller" -> "SUCCESS:\nValid, send JSON.";
  37 + "SUCCESS:\nValid, send JSON." -> "Server";
38 38  
39   - "Server" -> "FAILURE:\nData invalid"[dir=none];
40   - "FAILURE:\nData invalid" -> "Login/Register Page";
  39 + "Server" -> "FAILURE:\nData invalid";
  40 + "FAILURE:\nData invalid" -> "Login/Register Page";
41 41  
42   - "Server" -> "SUCCESS:\nValid, unverified user created.\nEmail verification message displayed."[dir=none];
43   - "SUCCESS:\nValid, unverified user created.\nEmail verification message displayed." -> "Login/Register Page";
  42 + "Server" -> "SUCCESS:\nValid, unverified user created.\nEmail verification message displayed.";
  43 + "SUCCESS:\nValid, unverified user created.\nEmail verification message displayed." -> "Login/Register Page";
44 44 }
screen_sequence_diagrams/view_by_pull_time.dot View file @ 0e8c33d
... ... @@ -18,9 +18,9 @@
18 18 "Controller"[center=true, fillcolor="#aaaaff", style=filled, shape = diamond,
19 19 fixedsize=true, width=1.4, height=1.4];
20 20 "POST"[shape=none];
21   - "View Deck" -> "POST"[dir=none];
  21 + "View Deck" -> "POST";
22 22 "POST" -> "Controller";
23   - "Controller" -> "FAILURE"[dir=none];
  23 + "Controller" -> "FAILURE";
24 24 "FAILURE" -> "View Deck";
25 25 "Controller" -> "Sort by Ascending\nor Descending Time";
26 26 "Sort by Ascending\nor Descending Time" -> "View Deck";
screen_sequence_diagrams/view_feed.dot View file @ 0e8c33d
... ... @@ -17,10 +17,10 @@
17 17  
18 18 "Controller"[center=true, fillcolor="#aaaaff", style=filled, shape = diamond,
19 19 fixedsize=true, width=1.4, height=1.4];
20   - "Root" -> "GET"[dir=none];
  20 + "Root" -> "GET";
21 21 "GET" -> "Controller";
22   - "Controller" -> "FAILURE:\nno cards"[dir=none];
23   - "Controller" -> "SUCCESS"[dir=none];
  22 + "Controller" -> "FAILURE:\nno cards";
  23 + "Controller" -> "SUCCESS";
24 24 "FAILURE:\nno cards" -> "Feed";
25 25 "SUCCESS" -> "Feed";
26 26 }