-
Notifications
You must be signed in to change notification settings - Fork 4
Requirements Draft
EgemenKaplan edited this page Mar 20, 2023
·
6 revisions
- Registration/Login System
- Users must register on the platform to create an account.
- Register with an email account.
- Register with a social media account.
+ c. There shall not be more than one account created with the same email address. + d. Users shall enter birth year during account creation and this information shall be immutable after this process.
- Login
- Logout
- Forgot Password
- Users must register on the platform to create an account.
- Account management
- Email verification
- Delete account
- Update account information
- Change password
- b. Change username + b. Users cannot change their username
- Change email address
- User should be able to link his/her account with a social media account.
- v. Users should state a birthdate for content access requirements. ! See item 1.i.d above.
- User Types
- Guest - Outside visitors without a verified account
+ a. Guests shall be able to view public content on the platform. + b. Guests shall not be able to create any content, comment or reaction on the platform.
- Member - Users with an account, and different auth levels
- Users must be able to sign up, sign in, and update their profiles.
- Users must be able to create, edit and delete their own posts.
- Users must be able to follow, bookmark and unfollow interest areas and other users.
- Users must be able to create and manage their own lists.
- System Administrator - Site administrative users.
- Moderators must have all the rights of a user.
- Moderators must be able to manage users and their posts.
- Guest - Outside visitors without a verified account
- Interactions Between The Users
- Following
- Users should be able to follow other users on the platform.
- Messaging
- Reporting
- Users must be able to report inappropriate content.
- Following
- Content / Interactions Between the Users and Platform (Forum)
- Post
+ a. A post's main body shall consist of only a main non-empty link, that is the target of this post, + and an optional text for the creator to comment on this target link. + The link can lead to many types of contents; web page, image, audio, video.
- Posts should contain relevant metadata.
- Source of this post (necessary)
- Date of publishment (optional)
+ c. What are the related entities/tags? (At least 1 necessary) + d. Where was the post created? (optional) + e. Is it fact-checked? - 3. Posts should contain relevant tags. ! See 5.i.b
- Users should be able to find relevant posts to current posts by its tag.
- Users should be able to join interest areas in which they can find posts on a specific topic.
- Users should be able to comment on posts.
- Users should be able to upvote/downvote posts.
- 7. Users can also enter meta-information such as “who created the original resource,” “when it is created,” “where it is created,” “related entities,” and whether the resource is indeed fact-checked (i.e., not fake news).Q: Clarification needed ! See 5.i.b
- Posts should have “Actions” tied to them. Actions will be separate entities that describe the purpose of the post rather than its topic.
- Documentation
- Learning
- Research
- News
- …
- Posts should contain relevant metadata.
- Tags
- There should be a “Related Tags” section for each Tag that shows other Tags.
- Users should be able to recommend metadata tags for other posts or IAs
- Users should be able to click on metadata tags to be led to a page that consists of recent/trending/top posts with the same tag.
- The platform should integrate with Wikidata to retrieve semantic labels.
- Interest Area
- Users should be able to create interest areas (IA).
+ b. Users shall be able to add tags to IAs in order to show what each IA's scope of topic is. + a. Tags shall not have any actual control over allowed posts inside IAs. c. An IA can be a collection of other IAs on the platform + d. IAs shall only contain posts created by authorized users or posts created within the IAs that they follow. + e. Users shall be able to find related IAs by interacting with the tags that an IA has. - 3. IA can consist of posts that have metadata tags that they are interested in. - 1. **Q: When an IA is created with certain tags, should it have every single post on the platform that has these tags?** - 2. **Q: Are tags on IAs just a sign of what the IA is about?** - 4. **Q: IA could consist of posts created by several other users they are interested in** - 5. **Q: Should interest areas contain only posts?** - 6. **Q: Can IAs be a collection of specific tags?( Show any post on the platform that has specific tags)**
- Users should be able to follow/bookmark IAs on the platform.
- Users should be able to join IAs created.
- Public IA: Open to everyone.
- Private IA: Completely closed to everyone else.
- Invite-Only IA: Join by invitation
- a. **Q: Can other users send requests to join a private/invite-only IA?** + a. Other users shall be able to request access to invite-only IAs.
- Users should have roles assigned to them within the IAs they join.
- Owner/Curator - Read, Write, Moderate other users
- Content Creator (Author?) - W
- Moderator - M
- Content Consumer - R
- Home Page
- Users should have a home/feed page that shows the recent posts from their interest areas and other users they follow.
- There should be a “Related Posts” section for each post that shows other posts that have related tags to that particular post.
- Reputation System
- Users should be able to receive labels such as “Fact Checker”, “Author” etc. to help the community regulate itself.
- Search and filtering:
- The platform must have a search bar to search for posts, users, and interest areas. The platform will have a search functionality that allows users to search for posts based on semantic labels, meta-information, and interest areas.
- Users must be able to filter posts by interest areas, date, location, and other meta-information.Users must be able to sort search results by relevance, date, and popularity.
- Post
-
Annotations: Users should be able to annotate different models, and annotations should comply with the W3C Web Annotation Data Model.
-
Reporting and moderation:
- Users must be able to report inappropriate content.
- Admins must be able to moderate reported content.
- Admins must be able to remove users or posts that violate the platform's rules.
+ 3. When a user's account is deleted, data and content related to this user account shall behave in the following ways:
+ a. All account information(username, password, email address etc.) shall be deleted from the database.
+ b. All private IAs created by this account shall be deleted along with the posts created in them.
+ c. Every other public posts, comments, invite-only IAs and public IAs created by this account shall stay visible on the platform.
- Platforms
- Android (Frontend)
- Web (Frontend)
- API
- Supported Languages
- English
- Turkish
- Security
- All sensitive data (passwords etc.) should be encrypted.
- Privacy
- Users must be able to control their privacy settings, such as making their profiles, posts, and interest areas private or public.
- Ethical Considerations
- Sensitive content cannot be a part of the system.
- The platform must protect personal information and contact information, adherence to copyrights, and licensing considerations, according to GDPR/KVKK rules.
- Content should not be limited to certain fields. Any field goes except…
- No gore
- Adult content with invitation only and age restricted access
- Criminally bad stuff
Q: Integration:
- The platform must integrate with Wikidata to retrieve semantic labels.
- The platform must integrate with the W3C Geolocation API to implement location-related information. Location tagging details and how will it work within the application? - “The platform will use W3C Geolocation API standard for implementing location-related information.”
- The platform must implement the W3C Web Annotation Data Model to annotate different models.
🗄️ 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