Skip to content

Commit

Permalink
Merge pull request #495 from bounswe/report-7-scenarios
Browse files Browse the repository at this point in the history
  • Loading branch information
Simurgan authored Nov 23, 2023
2 parents e50dee4 + 48367ea commit d1bee17
Showing 1 changed file with 116 additions and 1 deletion.
117 changes: 116 additions & 1 deletion reports/lab_report_07.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,122 @@
| Workspace POST API will be updated | [#489](https://github.com/bounswe/bounswe2023group9/issues/489) | Ömer Şükrü | 28.11.2023 | 3hr |



## Scenarios

### Milestone Scenario

-------- WEB ---------
- Contributor(Mehmet Suzer) logins using login page.
- After logging in, he sees the search bar. There are random nodes in the home page.
- Scrolls down to see homepage is infinitely scrollable.
- He writes a keyword in the search bar and searches for it. Sees the semantic search functionality at the bottom.
- He clicks one of them and makes a semantic search, search results are related to the keyword via parent-child relations of the semantic tags.
- He received instructions beforehand about creating a workspace, adding "Cem Say" and "Utkan Gezer" as contributors as well as adding a couple theorems as references. He only remembers one of them.
- He creates the workspace by providing a workspace name and adds "Cem Say" and "Utkan Gezer" as contributors. He adds the theorem he remembers as a reference. In order to find the reference he doesn't remember, he clicks the node he added as a reference.
- The page of that theorem opens up and he sees public annotations on this page. He clicks to the button "see the graph" and the graph page opens up. He finds the node that he wants to add in this page.
- He goes back to the workspace and adds the other node as a reference.
- He adds an entry to the workspace and edits it.

------- MOBILE --------
- Another contributor (Cem Say) logins using login page of the mobile application.
- He steps into the workspace page.
- He accepts the collaboration request from Mehmet.
- He looks around to see some features of the mobile app that are previously shown on the website.

### Possibly Covered Requirements in Customer Milestone 2

### 1. Functional Requirements

### 1.1 User Requirements
- 1.1.1 User Types
- 1.1.1.1 Guests
- 1.1.1.1.1 Guests shall be able to view the nodes and their references.
- 1.1.1.1.2 Guests shall be able to view the contributors and reviewers of the nodes.
- 1.1.1.1.4 Guests shall be able to sign-up.
- 1.1.1.2 Basic users
- 1.1.1.2.2 Basic users shall be able to create private annotations for a node.
- 1.1.1.2.4 Basic users shall be able to perform the same actions as guests except sign-up.
- 1.1.1.3 Contributors
- 1.1.1.3.1 Contributors shall be able to create workspaces.
- 1.1.1.3.2 Contributors shall be able to reference their workspaces from existing nodes.
- 1.1.1.3.4 Contributors shall be able to add annotations that will be public after creating a node from the workspace to the workspaces they create before the reviewing process.
- 1.1.1.3.7 Contributors shall be able to track the progress of their workspace and edit the entries.
- 1.1.1.3.8 Contributors shall be able to perform the same actions as basic users.
- 1.1.1.3.10 Contributors shall be able to add semantic tags to their workspaces.
- 1.1.2 User Interactions
- 1.1.2.1 Contributors shall be able to send a collaboration request to another contributor.
- 1.1.2.2 Contributors shall be able to accept or reject a collaboration request.
- 1.1.2.3 Contributors shall be able to see and contribute to the workspaces they collaborate.
- 1.1.3 Sign up & Login
- 1.1.3.1 Users shall provide their real names, e-mail addresses, and passwords to sign up.
- 1.1.3.2 E-mail addresses shall be unique.
- 1.1.3.3 User passwords shall meet safety criteria
- 1.1.4 Profile Preferences
- 1.1.4.1 Basic users shall be able to change their passwords.
- 1.1.4.2 Basic users shall have profile pages.
- 1.1.4.3 Basic users shall be able to let their profile pages show their activity.
- 1.1.4.4 Guests shall be able to view other users' profile pages. ?????? (bu var çünkü author aradıktan sonra profil görünüyor)
- 1.1.4.5 Basic users shall be able to edit their own profile information.
- 1.1.4.6 Basic users shall be able to turn on or off the email notifications.

### 1.2 System Requirements

- 1.2.1 Nodes
- 1.2.1.2 Nodes shall be referenceable/linkable to other nodes.
- 1.2.1.3 Nodes shall have semantic tags regarding to their subjects.
- 1.2.1.4 Nodes shall have a questions/answers section.
- 1.2.1.6 Nodes shall have public annotations.
- 1.2.2 Reviews
- 1.2.2.5 Workspaces' chosen first and final entries are sent to the reviewers to be reviewed.
- 1.2.4 Annotations
- 1.2.4.1 Public annotations should be visible to anyone.
- 1.2.4.2 Private annotations should be visible only to their creator.
- 1.2.5 Search
- 1.2.5.1 Searching
- 1.2.5.1.1 The platform shall allow users to search for users and nodes.
- 1.2.5.2 Filtering
- 1.2.5.2.1 Nodes shall be filtered by their semantic tags.
- 1.2.5.2.2 Nodes shall be filtered by their contributors.
- 1.2.7 Graph Visualization
- 1.2.7.1 The platform shall visualize the graph.
- 1.2.9 Workspaces
- 1.2.9.1 Workspaces shall let contributors add editable entries.
- 1.2.9.2 Workspaces shall be collaborative via sending request to desired contributors.
- 1.2.9.3 Workspaces shall have first and final entries chosen by the contributors before they are submitted for the review.
- 1.2.9.4 Workspaces shall let referenced nodes to be cited in the current work.
- 1.2.9.5 Workspaces shall be visible to only the contributors of the workspace.

### 2. Non-functional Requirements

- 2.1 Availability
- 2.1.1 The system shall be available in the English language.
- 2.2 Standards
- 2.2.1 Annotations shall be compliant with W3C annotation standards
- 2.4 Security
- 2.4.1 User passwords shall be stored as hashed in the database.



### Test Scenario
| Step | Action | Expected Outcome |
| --- | --- | --- |
| 1. | Open up the website | Observe random nodes on the homepage with a search bar at the top of the page |
| 2. | Search for **theorem**s using keyword: _finite state machine_ | View related nodes |
| 3. | Search for **author**s using their name or mail: _Utkan Gezer_ | View _Utkan Gezer_ profile |
| 4. | Search for content written **by** an author using their name or email: _Utkan Gezer_ | View nodes written by _Utkan Gezer_ |
| 5. | Search for **both** using keyword | View profiles, nodes, or a mix of both in the results related to keyword |
| 6. | Click any of the results | Either profile page for that user or node view page of that node opens up |
| 7. | Click to sign in | Login page opens up |
| 8. | Login with given credentials; _email: [email protected] , password: Pass123!_ | Become an authenticated user |
| 9. | Click to profile | Own profile page opens up |
| 10. | Click to one of the nodes in the profile | Node view page opens up for that node |
| 11. | Click to proofs tab in node view | See proofs of that node |
| 12. | Click to reference tab in node view | See reference of that node |
| 13. | Click to citations tab in node view | See citations of that node |
| 14. | Click to see graph button | Graph page of that node opens |
| 15. | Click to reference in graph | See preview of reference |
| 16. | Click to go that reference in graph | Graph page of that reference node opens up |
| 17. | Click to logout button | User logs out, reverting to a guest status |

## Risks
- We might encounter challenges rendering LaTeX math formulas and implementing annotations to formulas. A potential workaround could involve separating explanations and formulas for clarity.
Expand Down

0 comments on commit d1bee17

Please sign in to comment.