-
Notifications
You must be signed in to change notification settings - Fork 4
Requirements
Hasan Baki Kucukcakiroglu edited this page Mar 27, 2023
·
38 revisions
- IA: Interest Area
- API: Application Programming Interface
- GDPR: General Data Protection Regulation
- KVKK: Turkish Personal Data Protection Law
- W3C: World Wide Web Consortium
-
- 1.1.1.1 Users shall be able to register using:
- a) an email and password.
- b) a social media account.
- 1.1.1.2 Users shall be able to:
- a) login.
- b) logout.
- c) reset their passwords.
- 1.1.1.1 Users shall be able to register using:
-
- 1.1.2.1 Users shall verify their email addresses before they interact with the platform, viewing public content excluded.
- 1.1.2.2 Users shall be able to delete their accounts.
- 1.1.2.3 Users shall be able to update some of the account information.
- a) Users shall be able to change passwords, and email addresses.
- b) Users shall not be able to change their username and birthday.
- 1.1.2.4 Users shall be able to link their accounts to social media profiles.
-
Users shall be able to interact with the system as one of the followings:
- a) Guest: Visitors without a verified account.
- b) Member: Verified users with different authorization levels.
- c) System Administrator: Site administrative users which have access to account management dashboard.
-
Users shall be able to:
- 1.1.4.1 follow other users on the platform.
- 1.1.4.2 send direct message to other users.
- 1.1.4.3 vote on other users based on their merits.(Reputation system.)
-
Users shall be able to interact with the platform via:
-
1.1.5.1 Posts:
- a) Creating posts.
- b) Commenting on posts.
- c) Down/Upvoting a post.
- d) Reporting inappropriate content.
- e) Annotate posts.
-
1.1.5.2 Interest areas:
- a) Creating interest areas.
- b) Following interest areas.
- c) Join interest areas.
- Request to join an invite-only interest area.
- d) Post on interest areas.
- e) Bookmark interest areas.
- f) Manage roles of other users of their own interest areas.
-
-
System shall have a certain structure of content and content containers as follows:
-
1.1.5.1 Posts
- 1.1.5.1.1 Have main bodies that consist of only a main non-empty link, that is the target of the post in question, and an optional text for the creator to comment on this target link.
- 1.1.5.1.2 Utilize a tagging system. (See 1.1.5.2)
- 1.1.5.1.3 Contain required relevant metadata:
- At least one related entity in accordance with the utilized tagging system.
- Source
- Creator - Either a person(author, photographer etc.) or an entity in accordance with the utilized tagging system.
- 1.1.5.1.4 Contain optional relevant metadata:
- Location
- Creation and publication date
- Fact-checking status
- 1.1.5.1.5 Have comments, upvotes, and downvotes.
- 1.1.5.1.6 Specify actions (e.g., documentation, learning, research, news) tied to their purpose.
-
1.1.5.3 Interest Areas (IAs):
- 1.1.5.3.1 Consist of posts created by their users or posts created within their nested IAs.
- 1.1.5.3.2 Can consist of a collection of other IAs.(nested)
- 1.1.5.3.3 Obtain at least one tag during their creation. IA tags only show the topic scope of an IA.
- Users shall be able to alter the tags of an IA later.
- 1.1.5.3.5 Offer various access levels:
- Public
- Private
- Invite-only
-
1.1.5.4 A home page:
- 1.1.5.4.1 Display recent posts from followed interest areas and users.
- 1.1.5.4.2 Suggest relevant posts, users and interest areas.
-
1.1.5.5 Annotations
- 1.1.5.5.2 Annotations shall have the W3C Web Annotation Data Model.
-
-
- 1.2.2.1 Allow users to search for posts, users, and IAs based on semantic labels, metadata, and interest areas.
- 1.2.2.2 Enable post filtering by interest areas, date, location, and other metadata.
- 1.2.2.3 Sort search results by relevance, date, and popularity.
-
-
1.2.3.1 Tags
- 1.2.3.1.1 Display related tags.
- 1.2.3.1.2 Allow users to recommend metadata tags for other posts or IAs.
- 1.2.3.1.3 Facilitate post searching based on metadata tags.
- 1.2.3.1.4 Integrate with Wikidata to retrieve semantic labels.
- 1.2.3.1.5 Allow users to find interest areas, users, and posts related to themselves.
-
1.2.3.2 Reputation system:
- 1.1.5.5.1 Assign user labels badges (e.g., fact checker, author) depending on the reputation votes of other users.
-
-
System shall have a dashboard to review reported content which gives the capabilities of:
- a) deleting the content.
- b) warning the user who posted it.
- c) temporarily or permanently ban users or posts that violate the platform's rules.
-
- 1.2.3.2 When a user's account is deleted, all account information including the username, password, and email address shall be deleted from the database.
- 1.2.3.3 All private IAs created by deleted account shall be deleted along with the posts created in them.
- 1.2.3.4 Public posts, comments, invite-only IAs, and public IAs created by deleted account shall remain visible on the platform.
- 1.2.3.5 System shall not allow creating more than one account with the same email address. The attempt to do so shall prompt a warning.
- 1.2.3.6 System shall check the birth day of a user during the access to age-restricted content. This information is immutable after account creation.
-
- 2.1.1 Application shall be available for Web and Android platforms.
- 2.1.2 Application shall receive data from APIs.
- 2.1.3 The web version of the application shall be compatible with commonly used web browsers, including Google Chrome, Mozilla Firefox, and Safari.
- 2.1.4 The Android version of the application shall be compatible with Android 5.0 and higher.
- 2.1.5 The application shall be optimized for performance and usability on both web and mobile platforms.
-
- 2.2.1 Application shall support English and Turkish languages.
- 2.2.2 The application shall provide a language switch option in the user interface, allowing users to switch between supported languages.
-
- 2.3.1 User authorization information shall be encrypted.
-
- 2.4.1 Users shall have control on their own privacy settings such as profiles, posts and IAs shall have public, private and invite-only options.
- 2.3.2 The application shall implement strong password requirements and provide guidance to users on creating secure passwords.
- 2.3.3 The application shall log all user authentication attempts and notify users of suspicious login attempts or activity.
-
- 2.5.1 Application should not contain sensitive content.
- 2.5.2 The platform shall protect personal information and contact information, adherence to copyrights, and licensing considerations; according to GDPR/KVKK rules.
- 2.5.3 The application shall implement content moderation features, including user reporting and review of reported content, to ensure that all content is appropriate and aligns with the platform's community guidelines.
-
- 2.6.1 Adult content should have age restrictions.
- 2.6.2 Application shall not contain criminal content and gore.
🗄️ Project
Milestones
👤 Individual Contribution Reports
Milestone 1
- Bahadır Gezer - Milestone 1
- Bahri Alabey - Milestone 1
- Begüm Yivli - Milestone 1
- Egemen Kaplan - Milestone 1
- Enes Yıldız - Milestone 1
- Hasan Baki Küçükçakıroğlu - Milestone 1
- İbrahim Furkan Özçelik - Milestone 1
- Meriç Keskin - Milestone 1
- Miraç Öztürk - Milestone 1
- Sude Konyalıoğlu - Milestone 1
- Ömer Faruk Çelik - Milestone 1
Milestone 2
- Bahadır Gezer - Milestone 2
- Bahri Alabey - Milestone 2
- Begüm Yivli - Milestone 2
- Egemen Kaplan - Milestone 2
- Enes Yıldız - Milestone 2
- Hasan Baki Küçükçakıroğlu - Milestone 2
- İbrahim Furkan Özçelik - Milestone 2
- Meriç Keskin - Milestone 2
- Miraç Öztürk - Milestone 2
- Sude Konyalıoğlu - Milestone 2
- Ömer Faruk Çelik - Milestone 2
Final Milestone
- Bahadır Gezer - Final Milestone
- Bahri Alabey - Final Milestone
- Begüm Yivli - Final Milestone
- Egemen Kaplan - Final Milestone
- Enes Yıldız - Final Milestone
- Hasan Baki Küçükçakıroğlu - Final Milestone
- İbrahim Furkan Özçelik - Final Milestone
- Meriç Keskin - Final Milestone
- Sude Konyalıoğlu - Final Milestone
- Ömer Faruk Çelik - Final Milestone
🖇️ Lab Reports
📑 Templates
👥 Team Members
CmpE 352
Old Project Files
📅 Meetings
🔬 Researches
👤 Individual Contribution Reports
- Bahri Alabey - Milestone 1
- Bahri Alabey - Milestone 2
- Ömer Faruk Çelik - Milestone 1
- Ömer Faruk Çelik - Milestone 2
- Bahadır Gezer - Milestone 1
- Bahadır Gezer - Milestone 2
- Egemen Kaplan - Milestone 1
- Egemen Kaplan - Milsetone 2
- Meriç Keskin - Milestone 1
- Meriç Keskin - Milestone 2
- Orkun Kılıç - M1
- Orkun Kılıç - M2
- Sude Konyalıoğlu Milestone 1
- Sude Konyalıoğlu Milestone 2
- Hasan Baki Küçükçakıroğlu Milestone 1
- Hasan Baki Küçükçakıroğlu Milestone 2
- Ibrahim Furkan Özçelik Milestone 1
- Ibrahim Furkan Özçelik Milestone 2
- Miraç Öztürk
- Enes Yıldız Milestone 1
- Enes Yıldız Milestone 2
- Begüm Yivli M1
- Begüm Yivli M2