-
Notifications
You must be signed in to change notification settings - Fork 1
CMPE451 ‐ Requirements
- User: A person that has logged in using their e-mail address and password.
- Visual Post: A type of content that must include one of the supported 3d file formats along with optional title and text.
- Text-Only Post: A type of content that must only contain text and title for discussion purposes.
- Category: Pre-defined subgroups each dedicated to certain field in 3D modeling.
- Comment: A body of content that users can publicly share, as a response to a post or to another comment.
- Profile: The personal page of a user.
- Feed: A list of posts that are filtered and ordered in a certain way.
- Challenge: An action where a user responds to another user's Visual Post by submitting their own 3D model as a direct challenge. This feature is designed to promote friendly competition and encourage users to create improved or alternative models, beyond standard commenting or questioning.
- Tournament: A weekly competition held within each Category, starting and ending at the same time. Users can participate by submitting one Visual Post per Category per week. Winners are determined based on an algorithm that considers likes, dislikes, and bookmarks. Top performers earn points, experience levels, and their achievements are displayed on their Profiles.
-
1.1.1 Registration and Login
-
1.1.1.1 Users without an account shall be able to:
- 1.1.1.1.1 Register using their unique e-mail address, unique username and password.
-
1.1.1.2 Users shall be able to:
- 1.1.1.2.1 Login using their e-mail address and password.
-
-
1.1.2 Account Actions
-
1.1.2.1 Users shall be able to:
- 1.1.2.1.1 Update their password.
- 1.1.2.1.2 Log out of their account.
- 1.1.2.1.3 Change their profile picture.
- 1.1.2.1.4 Follow other users.
-
1.1.2.2 Users shall not be able to:
- 1.1.2.2.1 Change their e-mail address.
- 1.1.2.2.2 Modify their Tournament points or rankings.
-
-
1.1.3 Categories (See "1.2.1 Categories")
- 1.1.3.1 Users shall be able to follow or unfollow any category.
- 1.1.3.2 Users shall be able to create posts or interact with posts in every category. (See "1.1.4 Posts")
-
1.1.4 Posts
-
1.1.4.1 Visual Posts
- 1.1.4.1.1 Users shall be able to create and interact visual posts in each category under Gallery Tab. (See "1.2.1 Categories")
- 1.1.4.1.2 Users shall be able to reply another visual post while creating one to start a Challenge.
- 1.1.4.1.3 Users shall not be able to create a visual-post without adding a 3D file.
- 1.1.4.1.4 Users shall be able to submit one Visual Post per Category per week to participate in Tournaments.
- 1.1.4.1.5 Users shall be able to delete their post including Tournament posts.
- 1.1.4.1.6 Users shall be not be able to edit Tournament posts.
- 1.1.4.1.7 Users shall be able to edit non-Tournament posts.
-
1.1.4.2 Text-Only Posts
- 1.1.4.2.1 Users shall be able to create and interact text-only posts in each category under Discussions Tab.
- 1.1.4.2.2 Users shall not be able to create a text-only post with an attached file.
- 1.1.4.2.3 Users shall be able to edit Text-only Posts.
- 1.1.4.2.4 Users shall be able to delete Text-only Posts.
-
1.1.4.3 Users shall be able to add tags to their own posts.
-
1.1.4.4 Users shall be able to like, dislike and bookmark a post.
-
1.1.4.5 Users shall be able to write a comment to a post. (See "1.1.5 Comments")
-
1.1.4.6 Users shall not be able to tag other users in the post. Only way to reply other than commenting is by Challenge.
-
-
1.1.5 Comments
- 1.1.5.1 Users shall be able to write comments to the posts.
- 1.1.5.2 Comments shall contain at most 250 characters.
- 1.1.5.3 Users shall not be able to tag other users in the comment.
- 1.1.5.4 Users shall not be able to reply a comment with their comment.
- 1.1.5.5 Users shall be able to like or dislike a comment.
-
1.1.6 Profile
- 1.1.6.1 Users shall have a profile (personal page) visible to users.
- 1.1.6.2 At the profile, other users shall be able to see:
- 1.1.6.2.1 User's profile picture.
- 1.1.6.2.2 User's Tournament points, rankings and achievements.
- 1.1.6.2.3 Followers and follow list.
- 1.1.6.2.4 User's latest posts and comments.
-
1.1.7 Searching
- 1.1.7.1 Users shall be able to view related items to entered keywords while searching.
- 1.1.7.2 Users shall be able to search other posts which have the same tag added to their bodies by tag search.
- 1.1.7.3 Users shall be able to search other users by their usernames.
-
1.1.8 Tournaments
- 1.1.8.1 Users shall be able to participate in weekly Tournaments by submitting one Visual Post per Category.
- 1.1.8.2 Users shall be able to participate in multiple Categories with different Visual Posts.
- 1.1.8.3 Users shall be able to view the Tournament leaderboard for each Category.
- 1.1.8.4 Users shall earn experience points based on their rankings if they are in the top three positions.
- 1.1.8.5 Users' Tournament achievements shall be displayed on their Profiles.
- 1.1.8.6 Users shall not be able to edit their Tournament submissions.
- 1.1.8.7 Users shall be able to delete their Tournament submissions.
-
1.2.1 Categories
- 1.2.1.1 System shall contain various categories dedicated to certain fields in 3D modeling.
- 1.2.1.2 Categories shall not be deleted or created by users.
- 1.2.1.3 Categories shall have two tabs, namely Gallery and Discussions.
- 1.2.1.4 Categories shall include a leaderboard based on tournament points
-
1.2.2 Posts
-
1.2.2.1 Visual Posts
- 1.2.2.1.1 Visual Posts shall have a 3D file in one of the supported formats.
- 1.2.2.1.2 Visual Posts shall be created under the Showcase Tab.
- 1.2.2.1.3 Visual Posts submitted for Tournaments shall be marked accordingly.
- 1.2.2.1.4 3D files attached shall be at most 10MB.
- 1.2.2.1.5 Text content shall be at most 256 characters.
- 1.2.2.1.6 3D Files shall be viewed in a dedicated window that allows interaction.
-
1.2.2.2 Text-Only Posts
- 1.2.2.2.1 Text-Only Posts shall only have plain text as a content.
- 1.2.2.2.2 Text-Only Posts shall be created under the Discussions Tab.
- 1.2.2.2.3 Text content can be at most 256 characters.
-
1.2.2.3 Posts shall have a title.
-
1.2.2.4 Posts shall have tags.
-
1.2.2.5 The system shall calculate points for each Visual Post submitted to a Tournament based on likes, dislikes, and bookmarks using a predefined algorithm.
-
1.2.2.6 The system shall prevent users from editing their Tournament submissions.
-
-
1.2.3 Search and Filtering
- 1.2.3.1 The system shall allow users to search posts, Categories and users by semantic searching.
- 1.2.3.2 The system shall keep the search history of every user for better searching experience.
- 1.2.3.3 The system shall use Wikidata to perform semantic search.
-
1.2.4 Feed
- 1.2.4.1 The system shall filter the posts by the user and shows the feed as the home page.
- 1.2.4.2 The feed shall be refreshable.
- 1.2.4.3 The feed shall contain followed users' and categories' posts.
-
1.2.5 Tournaments
- 1.2.5.1 The system shall hold weekly Tournaments for each Category, starting and ending at the same time.
- 1.2.5.2 The system shall allow users to submit one Visual Post per Category per week for Tournament participation.
- 1.2.5.3 The system shall use an algorithm to calculate scores for Tournament submissions based on likes, dislikes, and bookmarks.
- 1.2.5.3.1 Likes and bookmarks shall contribute positively to the score.
- 1.2.5.3.2 Dislikes shall negatively impact the score.
- 1.2.5.4 The system shall announce Tournament winners at the end of each week.
- 1.2.5.5 The system shall update the Tournament leaderboard live.
- 1.2.5.6 The system shall award experience points to users based on their rankings, with additional points for the top three positions.
- 1.2.5.7 The system shall display users' Tournament achievements on their Profiles.
-
1.2.6 Annotations
- 1.2.6.1 The system shall use annotations that comply with the W3C Web Annotation Data Model.
- 1.2.6.2 The system shall use annotations appearing in the form of a highlighted text.
- 1.2.6.3 The system shall allow annotations only in post bodies.
- 2.1.1 Application shall be available for both Web and Mobile platforms.
- 2.1.2 Web version of the application shall be compatible with widely used browsers. E.g. Google Chrome, Safari, Microsoft Edge, Mozilla Firefox
- 2.1.3 Mobile version shall be compatible with devices and OS versions with less then 5 years of age.
- 2.2.1 The application shall protect personal and contact information with respect to GDPR regulations, including copyright and licensing issues.
- 2.3.1 User authorization data shall be encrypted to ensure security.
- 2.3.2 The application shall enforce robust password protocols and assist users in generating secure passwords.
- 2.4.1 The application shall respond to user interactions within a maximum of 2 seconds for at least 90% of requests.
- 2.4.2 The application architecture shall be designed to accommodate an increase in user traffic by at least 100% without significant degradation in performance, which includes both horizontal and vertical scaling strategies.
- 2.4.3 Database queries shall be optimized and whole database should be normalized and designed carefully regarding the specific needs to ensure efficient data retrieval and processing. The application shall be capable of handling a large volume of concurrent database transactions without impacting response time.
- 2.4.4 The application shall implement caching mechanisms both on the backend and the frontend to reduce server load and improve response time for frequently accessed content. Cached data shall be refreshed periodically if it needs to ensure data consistency.
- 2.4.5 The application shall gracefully handle errors and exceptions to prevent downtime and maintain user experience. Error messages shall be informative, well-formatted and actionable to assist users in resolving issues efficiently.
draft made by Group 8 | prepared by Oğuz Kağnıcı and Yekta Ercul
🏠Home
- Third Customer Milestone Report
- RAM
- Requirements
- Mockups
- Sequence Diagrams
- Use Case Diagram
- Class Diagrams
- Scenarios
- User Scenario
- User Manual
- System Manual
- Third Customer Milestone Report
- Second Customer Milestone Report
- First Customer Milestone Report
- RAM
- Requirements
- Mockups
- Sequence Diagrams
- Scenarios
- Use Case Diagram
- Class Diagrams
- Software Quality Plan
- Milestone1 Presentation Scenarios
- Post Creation Page
- User Scenario
- Meeting Notes 10 - Dec 10
- Meeting Notes 9 - Dec 3
- Meeting Notes 8 - Nov 17
- Meeting Notes 7 - Nov 12
- Meeting Notes 6 - Nov 5
- Optional Meeting Notes 1 ‐ Oct 21
- Meeting Notes 5 - Oct 15
- Meeting Notes 4 - Oct 8
- Meeting Notes 3 - Oct 3
- Meeting Notes 2 - Oct 1
- Meeting Notes 1 - Sep 24
- Deniz Ulaş Poyraz
- Eren Donmez
- Ersel Çanakçılı
- Oğuz Kağnıcı
- Onur Çerli
- Yekta Ercul
- Ali Alperen Sönmez
- Huseyin Turker Erdem
- Mehmet Tuluyhan Sozen
352 Material
- Final Milestone Report
- Milestone 2 Report
- RAM
- Use Case Diagram
- Sequence Diagrams
- Class Diagrams
- Requirements
- Elicitation Questions
- Mockups
- Scenarios
- Milestone 1 Report
- Our Favourite Repositories
- Linked Data and SPARQL
- Web Application Development
- API Development and Utilization
- Wikidata and Wikidata API
- Mobile Application Development
- Android Studio
- Git
- Meeting Notes 10 ‐ May 10th
- Meeting Notes 9 ‐ Apr 25th
- Meeting Notes 8 ‐ Apr 21st
- Meeting Notes 7 ‐ Apr 12th
- Meeting Notes 6 ‐ Mar 14th
- Meeting Notes 5 ‐ Mar 11th
- Meeting Notes 4 - Mar 7th
- Meeting Notes 3 - Mar 3rd
- Meeting Notes 2 - Feb 22nd
- Meeting Notes 1 - Feb 18th