3.1 Functional Requirements - nus-mtp/sashimi-note GitHub Wiki
Requirements are listed according to their categories. For their completion time, please refer to the Project's milestones.
- ✔️ #3 Editor can author a document using markdown
- ✔️ #6 Editor can author a document using HTML and CSS
- ✔️ #34 Editor can create a new document
- ✔️ #68 Editor can undo a mistake
- ✔️ #70 Editor can redo a mistake
- ✔️ #131 Editor can add a title to the document
- ✔️ #170 Webapp [Codemirror] should display markdown syntax highlighting for markdown input
- #4 Editor can create document using LaTeX
- #15 Editor can sort a list of blocks in alphabetical order
- #17 Editor can use local image in the document
- ✔️ #19 Editor can search text within the document
- ✔️ #20 Editor can replace searched text within the document
- #27 Editor can reposition the image freely within the document
- #29 Editor can crop the image within the document
- #30 Editor can scale the image within the document
- #42 Editor can drag and drop images
- #90 Editor can construct a glossary of terms with page number included
- #149 Editor can rotate the image within a document
- #228 Implement text formatting mechanism
- #11 Editor can edit the document using a GUI
- ✔️ #1 Viewer can view the formatted document
- ✔️ #8 Editor can view the formatted document concurrently while editing the document
- ✔️ #130 Webapp can synchronize the scrolling of the editor view and viewer view
- #86 Users can navigate around the document the links to header within a table of content
- ✔️ #132 Editor can split the view or editor screen into side by side layouts
- #133 Editor can split the view or editor screen into top and bottom layouts
- #134 Editor can split the view or editor screen into within a split screen
- ✔️ #14 Editor can manage page break within the Pages document
- #24 Editor can change orientation of the Pages
- #45 Editor can create transition in the Slides document
- ✔️ #53 Editor can generate multiple document versions from the same single source
- ✔️ #64 User can use Pages format for printing
- ✔️ #99 User can switch between different document formats in a menu
- ✔️ #153 Editor can manage page break within the Slides document
- ✔️ #154 Editor can generate a Slides format using a markdown source
- ✔️ #155 Editor can generate a Pages format using a markdown source
- ✔️ #207 User can press CMD/CTRL+P and get brought to Pages mode for printing
- #222 User can change the page size and its margin for Pages mode
- ✔️ #223 User can pan the document with a mouse in Pages Mode
- #231 Implement fullscreen mode for Slides mode
- ✔️ #232 Implement slide navigation control for Slides mode
- ✔️ #233 Break page "intelligently" for Pages or Slides view
- ✔️ #9 User can update an existing document
- ✔️ #10 Editor can save the document as a .md file into the webapp
- ✔️ #38 User can read an existing document
- ✔️ #40 User can delete an existing document
- ✔️ #46 User can download an existing document
- #49 User can upload a markdown file to the webapp
- #67 Webapp will keep a revision control for the created document
- #106 User can make a copy of the document inside the webapp
- ✔️ #144 User can view file manager in icon view
- ✔️ #145 User can view file manager in list view
- ✔️ #148 User can search for a file or folder on the file manager
- #208 User can export document as a HTML file
- ✔️ #251 Webapp should prevent user from deleting the root folder
- #18 Viewer can select sections of the document to print.
- #93 Editor can export the conditioned version of the document
- ✔️ #96 Editor can create a different version of the document with part of the content selectively hidden
- ✔️ #22 Editor can create diagram using textual representation
- ✔️ #28 Editor can create a Table of content for document
- ✔️ #32 Editor can type mathematical formulas using latex
- ✔️ #35 Editor can insert formatted snippets of code
- #13 User can save the annotations he/she created on the document
- #48 User can annotate on the document using an active digital stylus
- #52 User can annotate on the document using a mouse
- #54 User can annotate on the documents using a keyboard
- #57 Audience can view presenter's annotation on the document
- #61 Audience can save presenter's annotation on the document
- #73 User can annotate on the documents using touchscreen input
- #12 Editor can embed additional plugins into the document
- #31 Webapp can allow editor to still interact with the plugin when there is no internet connection
- #146 Webapp can parse the specific plugin syntax format used by the editor
- #147 Webapp can import the correct plugin according to the parsed plugin information
- #16 Editor can import external PDF into his own document
- #41 Editor can embed a video player into the document
- #50 Editor can embed a diagramming tool document
- #51 Editor can embed an online code editor into the document
- #59 Editor can embed an online IDE into the document
- #62 Editor can embed Octave-Online into the document
- #78 Editor can embed a 3D visualisation tool into the document
- #317 Editor can create chart using data retrieve from a table in the markdown
- #65 Editor have full editing abilities to the document they have access to
- #80 User can register for an account
- #81 User can login
- #83 User can logout
- #85 User can reset password
- #87 Platform can send email to a user
- #88 User can request to reset password with a valid username and email
- #89 User can request for his username with a valid email
- #91 Platform can send the user's username to his email upon request
- #94 Platform can send a password reset link to the user's email upon request
- #100 User can add other users to have access to view the document he created
- #101 User can invite other readers to view his document
- #33 User can store documents in the online storage
- #152 User can retrieve documents from the online storage
- #66 User can receive notification on changes made to the document they subscribed to
- #75 Editor can edit documents that they have published
- #102 User can invite collaborators to edit his document
- #105 User can share presentation file with other users
- #107 User can take ownership of his own document
- #69 Viewer can pin comments to a highlighted section within a document
- #71 Viewer can reply to a pinned comment
- #21 Presenter can stream the annotations created with the audience in real time
- #37 Viewer can see an indication on where the presenter's current viewing location within the document
- #43 Viewer can click a button to jump to the presenter's current viewing location within the document
- #76 Editor can notify subscribed users on the updated documents
- #82 Presenter can display statistics about where the audiences are currently viewing in the document as a heatmap
- #84 Audience can view where the Presenter is currently located in the document
- #108 Presenter can create a quiz
- #109 Presenter can set a session for the quiz
- #110 Presenter can set a time limit for the quiz
- #111 Presenter can create multiple choice question for the quiz
- #112 Platform can collect answers from the students in a quiz
- #113 Platform can tabulate the number of students who answers each choice in multiple choice question
- #114 Presenter can view the number of students who select each choice in multiple choice question
- #115 Audience can submit an anonymous feedback to the presenter
- #116 Audience can add questions in real-time during a classroom session to clarify any doubts
- #117 Platform can collect user login time
- #118 Platform can collect how many characters an audience annotate in text for a lecture note
- #119 Platform can collect information about the number of audience viewing at each section at a particular time interval
- #120 Platform can collect the time audience spent to annotating on the document
- #79 Webapp can prevent plugins from accessing HTML content beyond its own root
- #98 Platform can prevent unauthorized access to a document
- ✔️ #150 Webapp will sanitize any scripts that were written into the markdown document
- ✔️ #151 Webapp will sanitize input in the file search to prevent SQL injection
- ✔️ #181 Webapp will sanitise potential XSS execution for markdown-it
-
#309 Webapp should be forced to use
https
connection on load
Closed 32.3%