SRS - WSU-4110/Creative-Writing-Site GitHub Wiki

Assignment 2: Software Requirements Specification

Team: Creative Writing Website Project Title: Writely Members:

  1.  Nidal Abihana
    
  2.  Shawn Sahi
    
  3.  Ian Roberts
    
  4.  Bri Nurmi
    
  5.  David Prekaj
    

Stakeholders
Requirements
Writers
FR1: Provide a page to write text/upload text
FR2: Be able to save your drafts
FR3: Change whether the document is public or not
FR4: allow writers to add tags to their posts
FR5: prompt the writers to enter the genre of their content
Readers
FR6: Be able to save your favorite documents
FR7: Be able to like and dislike documents
FR8: Provide a comment section for each post
FR9: Provide a report functionality
FR10: Be able to follow authors
FR11: Be able to create custom collections from saved documents
Management
FR12: be able to age restrict posts
FR13: Be able to review flagged posts
All
FR14: Provide account creation screen
FR15: Provide account login screen
NR1: Users should receive search results within 0.05 seconds
NR2: The website will be available 99.9% of the time for more than 80% of the calendar year for the first year
NR3: Search results will be provided to the user with at least 80% accuracy
NR4: Certain functions are allowed for registered users
NR5: Users stay logged in even after leaving page
NR6: Account information only accessible and viewable to their own information.

FR1. Provide a page to write/upload text Goal: The website will provide people with an area to write and edit their work. Stakeholders: Writers Description: The user will be allowed to write or upload text. There will be a box, which will allow the user to enter text and then the user can type. We will also provide the ability to upload papers that are already typed. There will also be a file size limit when trying to upload. Origin: Proposal discussion Version: 1.0 Date: 1/24/2020 Priority:

FR2. Be able to save your drafts Goal: The ability to save the document as a draft Stakeholders: Writers Description: Users will be allowed to save the document as a draft, in case they would like to finish it later. This feature will give the user an option to save work without having to worry about losing all of their writing. Origin: Proposal discussion Version: 1.0 Date: 1/24/2020 Priority:

FR3. Change whether the document is public or not Goal: Show if the document is public or not Stakeholders: Writers Description: This will give the user to keep their document public or private. This feature will be useful in case the user has errors in their writing and don’t want to keep it public. It will also benefit them in case they don’t want their document posted online. Origin: Proposal discussion Version: 1.0 Date: 1/24/2020 Priority:

FR4. Allow writers to add tags to their posts Goal: FR4 provides the function of tags to categorize posts for faster search results Stakeholders: writers/end users Description: Before publishing a final draft, writers will be provided an option to enter single-word-tags to their documents with. These tags will be used as key words that are related to the document, which will speed up search time for documents that fit the key words. Origin: Proposal document Version: 1.0 Date: 1/24/2020 Priority: 5

FR5. Prompt the writers to enter the genre of their content Goal: Categorize posts based on their genre Stakeholders: writers, readers Description: Before a post is published, writers will be given the option to select the genre of their post from the following: Nonfiction, si-fi, fiction, comedy, historical, drama, poetry, folklore. This will give the option for readers to browse for different posts and authors within a given genre. Origin: Questionnaire Version: 1.0 Date: 1/24/2020 Priority: 3

FR6. Be able to save your favorite documents Goal: Allow users to save documents in an account tab called Favorites. Stakeholders: Readers, authors Description: Users that have an account will be able to save documents into a favorites tab. This will be down by putting a save button above each document. From there, users will be able to click on a Favorites tab at the top of the website to go to their favorites section and view every saved document they have. Origin: Preliminary discussion with team members Version: 1.0 Date: 1/24/2020 Priority: 2

FR7. Be able to like and dislike documents Goal: allow views the option to rate posts with a thumbs up/down Stakeholders: Readers, end users Description: Once a post is made public, viewers will be given the option to “rate” the posts with either a thumbs up or thumbs down. This will provide management with a way of monitoring site activity, and writers with constructive feedback on their work. Origin: interview with stakeholders Version: 1.0 Date: 1/24/2020 Priority: 5

FR8. Provide a comment section for each post Goal: Allow users to post comments on other users’ posts while they are logged in Stakeholders: Readers and writers If the writer enables it on their post, other users will have the ability to add comments to a dedicated comments section under the post. This will benefit both readers and writers by allowing more interaction between both parties. Comments will not be able to be made anonymously, a website account will be required. Origin: Proposal discussion Version: 1.0 Date: 1/24/2020 Priority: 5

FR9. Provide a report functionality Goal: Add a function to report posts if another user deems them inappropriate. Stakeholders: Readers, writers, management Description: If a user deems someone else’s post inappropriate for the website, they will be able to click a button to report it. Once a post has been reported, a moderator will be notified and then decide whether or not to remove the post based on the sites’ terms of service. Origin: Proposal discussion Version: 1.0 Date: 1/23/2020 Priority: 3

FR10. Be able to follow authors Goal: Allow users to follow their favorite authors Stakeholders: Readers and writers Description: If a user is enjoying the content from an author, they will have the option to follow them. After they are followed, the user will be able to see new posts from that author in their personalized feed on the home page. This adds to the possibility of gaining a fanbase easier for writers. Origin: Proposal discussion Version: 1.0 Date: 1/24/2020 Priority: 4

FR11. Be able to create custom collections from saved document Goal: Allow users to save and sort specific posts into custom collections Stakeholders: Readers and writers Description: In order to make organization easy, users will be able to save any post to their own lists/collections. This will benefit writers as well if they are releasing a multi-part narrative, readers will be able to easily find every part of the story. Origin: Proposal discussion Version: 1.0 Date: 1/24/2020 Priority: 5

FR12. Be able to age restrict posts Goal: Allows posts to be age restricted to users who are 18 or older. Stakeholders: Management Description: Be able to have moderators flag posts so that only users who are 18 years or older can have access to those posts. This will make the website more appropriate for all users that want to visit the website. Origin: Proposal Discussion Version: 1.0 Date: 1/24/20 Priority: 3

FR13. Be able to review flagged posts Goal: Allow moderators to flag posts if the post has been reported many times Stakeholders: Management Description: Once a post has been reported a certain number of times management can decide to flag the post or remove, or implement an automatic system that takes the post down. Origin: Proposal Discussion Version: 1.0 Date: 1/24/20 Priority: 3

FR14. Provide account creation screen Goal: Allow first time visitors to create an account. Stakeholders: All Description: A screen that allows users to register to create an account so that they can have access to features only users with accounts can use. Only certain features can be used for people with accounts, such as being able to upload documents or save and favorite them. Origin: Proposal Discussion Version: 1.0 Date: 1/24/20 Priority: 1

FR15. Provide account login screen Goal: Allow returning users to login. Stakeholders: All Description: Users who are returning to the site can login using the information they used to create their account so that they can have access to all the documents that they either saved, favorited, or uploaded. Origin: Proposal Discussion Version: 1.0 Date: 1/24/20 Priority: 1

NR1. Users should receive search results within 0.05 seconds Goal: Maintain a standard for website connectivity speed Stakeholders: end users When a user performs a search, the results should be available to them within 0.05 seconds. Results will only include posts from within the website. Origin: brainstorm Version: 1.0 Date: 1/24/2020 Priority: 2

NR2. The website will be available 99.9% of the time for more than 80% of the calendar year for the first year Goal: To have virtually no downtime for the website. We must make sure that this website is available to access as much as possible, giving leeway for the first year. Stakeholders: readers and authors Description: It should be vital that when a user or author accesses the website, they successfully connect to the server and access it with no issues. Origin: Preliminary discussion with team members Version: 1.0 Date: 1/24/2020 Priority: 1

NR3. Search results will be provided to the user with at least 80% accuracy Goal: To provide a search function which returns relevant documents at least 80% of the time Stakeholders: readers, authors, developers Description: A working search engine is a vital part of any service, and being able to quickly find what you are looking for prevents users from getting frustrated and leaving the service. This also benefits authors as it will be easier for their documents to be found. Origin: preliminary discussion with team members Version: 1.0 Date: 1/25/2020 Priority: 1

NR4. Certain functions are allowed for registered users Goal: to create a sense of community, by rewarding users for signing up for an account. Stakeholders: readers, authors Description: In order to keep users invested in the website, certain functions will be walled behind an account. Saving documents, commenting on documents, posting documents to the site, favoriting posts, and subscribing to authors. This allows users an opportunity to create a secure profile that requires a login and password to edit, and a domain to create an online persona. This feature also creates a reservoir for users to store their original documents, favorited documents by other authors, and a collection of the authors they are subscribed to.
Origin: Preliminary discussion with team members Version: 1.0 Date: 1/28/2020 Priority: 2

NR5. Users stay logged in even after leaving page Goal: To keep login information saved, maximize the speed of accessing content by users by allowing them to avoid frequent sign-in. Stakeholders: All Description: Users will be given the option to save their login information for easy access. Then after logging in the user will be taken to the homepage. This feature also makes it convenient for the user, so they don’t have to keep logging in every time. Origin: Proposal discussion Version: 1.0 Date: 1/24/2020 Priority: 4

NR6. Account information only accessible and viewable to their own information. Goal: To create privacy standards for each user, so that documents they have saved or rated is not information accessible to other users. Stakeholders: readers, authors Description: Readers should have favorited and rated documents kept from public access. Similarly, authors should be able to keep their drafts private. Origin: Preliminary discussion with team members Version: 1.0 Date: 1/28/2020 Priority: 2