Requirements - bounswe/bounswe2018group7 GitHub Wiki
version: 2
Glossary
- Account: An entity which uniquely represents a person in the system. It consists of a username, a real name (optional), a profile picture (optional), an email address and a password.
- Annotation: A note, comment or explanation attached to a specific part of a text or an image. It can contain plain text, link, image, video and audio.
- Comment Section: A distinct area in a memory-post that contains comments of the people about the memories stated in the memory-post.
- Homepage: The main entry page of the system.
- Main-Map: A world map which stores indicators of memory-posts over related memory-locations.
- Member: A person who has an account on the system.
- Admin: A member who has the full control of the system.
- Memory: Something that is remembered from the past.
- Memory-Item: A material that is related to a memory.
- Memory-Location: The location where a memory took place or to which a memory is related. It can consist of any combinations of
point
s,region
s, andpath
s. A memory can have multiple locations. - Memory-Media: A collection of images, videos and audios that are attached to a memory.
- Memory-Story: A combination of plain texts and memory-medias which contain some information and/or experience about a memory.
- Memory-Tag: An alphanumeric keyword that categorizes a memory-post.
- Memory-Time: The time during which a memory took place or to which a memory is related. It can consist of any combinations of
point
s andinterval
s (day
,month
,year
,decade
, etc.). - Memory-Title: A plain text which contains a brief description about a memory.
- Memory-Location: The location where a memory took place or to which a memory is related. It can consist of any combinations of
- Memory-Map: A map which stores indicators for the memory-locations in a memory-post.
- Memory-Post: A post that contains the memory-items of some memories, a memory-map and a comment section. Only required part are the memory-title and memory-story.
- Password: A secret word of at least 8 characters a member has to provide for signing in.
- Profile: A member specific page which contains account information of a member as well as the memory-posts the member has created or liked.
- Recommendation: Displaying some memory-posts, to a user on homepage, based on the memory-tags that are same as or similar (e.g.
robot
->technology
) to the ones the user has created. - Signing Up: Creating a unique account on the system for sign-in.
- Search Bar: A text input which allows users to search for memory-posts or accounts in the system.
- System: The application on which people can create, view, search, comment, like, dislike and annotate memory-posts.
- Username: A sequence of at most 150 characters that uniquely identifies an account of the system.
- Visitor: A human being or a computer bot/program that visits the system (is online on the system).
- Guest: A visitor who is not signed-in to the system.
- User: A visitor who is signed-in to the system.
1. Functional Requirements
1.1 User Requirements
-
1.1.1 Sign-Out
- 1.1.1.1 Users shall be able to sign out from the system.
-
1.1.2 Profile
- 1.1.2.1 Users shall be able to view the followings on the profile of other members.
- Real name
- Username
- Profile picture
- Created memory-posts
- 1.1.2.2 Users shall be able to view the followings on their own profile:
- All account information except password
- Created memory-posts
- Liked memory-posts
- 1.1.2.3 Users shall be able to update the followings on their profile.
- Username
- Real name
- Profile picture
- Email address
- Password
- 1.1.2.4 Users shall be able to delete their account on their profile.
- 1.1.2.1 Users shall be able to view the followings on the profile of other members.
-
1.1.3 Memory-Post
- 1.1.3.1 Users shall be able to view any memory-posts.
- 1.1.3.2 Users shall be able to create memory-posts.
- 1.1.3.3 Users shall be able to update all the memory-items of their memory-posts.
- 1.1.3.4 Users shall be able to delete their memory-posts.
- 1.1.3.5 Users shall be able to like or dislike any memory-posts.
-
1.1.4 Comment
- 1.1.4.1 Users shall be able to add comments to the comment section of any memory-posts.
- 1.1.4.2 Users shall be able to delete their comments.
-
1.1.5 Annotation
- 1.1.5.1 Users shall be able to view any annotations.
- 1.1.5.2 Users shall be able to create annotations for the rectangular parts of the following items: (For text, "rectangular part" means the selection of some consecutive words)
- Memory-Story
- Memory-Media (images only)
- 1.1.5.3 Users shall be able to update their annotations.
- 1.1.5.4 Users shall be able to delete their annotations.
-
1.1.6 Search
- 1.1.6.1 Users shall be able to search for any combinations of the following items of memory-posts via search bar:
- Memory-Title
- Memory-Story
- Memory-Time
- Memory-Location
- Memory-Tag
- 1.1.6.2 Users shall be able to search for annotations via search bar.
- 1.1.6.3 Users shall be able to search for memory-posts on main-map.
- 1.1.6.4 Users shall be able to search for any combinations of the following items of accounts via search bar:
- Username
- Real name
- 1.1.6.1 Users shall be able to search for any combinations of the following items of memory-posts via search bar:
1.2 Admin Requirements
- 1.2.1 Admins shall have all the abilities users have.
- 1.2.2 Admins shall be able to ban any accounts in the system.
- 1.2.3 Admins shall be able to delete any of the followings from the system:
- Accounts
- Memory-Posts
- Annotations
- Comments
1.3 Guest Requirements
-
1.3.1 Sign-In
- 1.3.1.1 Guests shall be able to sign in (if they have an account) with one of the following combinations:
- Username and password.
- Email address and password.
- 1.3.1.1 Guests shall be able to sign in (if they have an account) with one of the following combinations:
-
1.3.2 Sign-Up
- 1.3.2.1 Guests shall be able to sign up to the system by providing username, email, password (with confirmation) and real name (optional).
-
1.3.3 Memory-Post
- 1.3.3.1 Guests shall be able to view only 10 most recently created memory-posts.
- 1.3.3.2 Guests shall be able to view all parts of a memory-post.
1.4 System Requirements
-
1.4.1 Sign-Up
- 1.4.1.1 The system shall require email confirmation on signup.
-
1.4.2 Password
- 1.4.2.1 The system shall provide users with a password recovery mechanism.
-
1.4.3 Recommendation
- 1.4.3.1 The system shall recommend memory-posts to users.
2. Non-functional Requirements
2.1 Accessibility
- 2.1.1 The language of the system shall be English.
2.2 Availability
- 2.2.1 The system shall have a web application.
- 2.2.1.1 3 most recent main versions of Google Chrome shall be supported.
- 2.2.2 The system shall have an Android application.
- 2.2.2.1 3 most recent main versions of Android shall be supported.
2.3 Security
- 2.3.1 Passwords shall be kept encrypted in the database.
- 2.3.2 Members' email addresses should be hidden to other members.
2.4 Annotation
- 2.4.1 The annotations shall be compliant with The W3C Web Annotation Data Model.
2.5 Map
- 2.5.1 Google Maps services shall be used for main-map and memory-maps.