Skip to content

Requirements ‐ Cmpe 451

Mahmut Buğra Mert edited this page Dec 6, 2024 · 10 revisions

Requirements

Glossary

  • Admin: A user type with privileges like banning user accounts, removing posts, and hiding comments.
  • Badge: Feature granting users new abilities within the application (e.g., influence over posts).
  • Comment: A textual response to a post, added by registered users.
  • Currency: Refers to monetary units discussed, tracked, and added to portfolios.
  • Email Verification: Confirms a user's email during registration before login.
  • Exchange Rate: The value of one currency in terms of another, viewable by global users.
  • Filter: Narrows down search results by criteria like currency, portfolio, or post author.
  • Follower: A user subscribed to another user's posts and activities.
  • Global User: Limited access user, able to view posts, exchange rates, and profiles without registering.
  • Graph: Visual representation of currency or stock data, added to posts by registered users.
  • Like: Feature that lets users show appreciation for posts.
  • Log In/Log Out: Authentication process to access or exit the application.
  • Password Reset: Mechanism allowing users to reset their password via email verification.
  • Portfolio: Collection of one or more currencies or stocks created by users.
  • Post: Content created by registered users discussing a specific currency or stock.
  • Privacy Policy: Document outlining data collection and usage, requiring user acceptance during registration.
  • Profile: User’s personal details and settings, viewable and modifiable by registered users.
  • Registered User: A user who has completed registration, able to create posts and interact with content.
  • Search: Allows users to search for others or posts using keywords and filters.
  • Stock: Share in a company tracked and discussed within the application.
  • Terms of Use: Legal rules and regulations users must accept to use the platform.
  • User: Any individual interacting with the platform, categorized as a global user, registered user, or admin.
  • Username: Unique identifier for each registered user, used during login and other actions.
  • Secure Password: A secure password shall have a minimum lenght of 8 charachters including at least one uppercase letters and one special symbol.

1. Functional Requirements

1.1 User Requirements

1.1.1 Register & Login

  • 1.1.1.1 Users shall be able to register with a unique username, e-mail address, and password.
  • 1.1.1.2 User shall be registered with a secure password.
  • 1.1.1.3 Users shall be able to log in using their registered credentials.
  • 1.1.1.4 Users should have the option to reset their password via e-mail verification.
  • 1.1.1.5 Users shall be able to log out from the system.
  • 1.1.1.6 Users shall accept the Terms of Use and Privacy Policy in order to register.

1.1.2 User Types

1.1.2.1 Guest User
  • 1.1.2.1.1 Guest user shall be able to view posts.
  • 1.1.2.1.2 Guest user shall be able to view stocks.
  • 1.1.2.1.3 Guest user shall be able to view user profiles.
  • 1.1.2.1.4 Guest user shall be able to search for users by their usernames.
  • 1.1.2.1.5 Guest user shall be able to semantic search for posts.
  • 1.1.2.1.6 Guest user shall be able to view recent news about financial markets.
1.1.2.2 Registered User
  • 1.1.2.2.1 Registered users shall be able to create and edit posts.
  • 1.1.2.2.2 Registered users shall be able to like and unlike posts.
  • 1.1.2.2.3 Registered users shall be able to write comments to posts.
  • 1.1.2.2.4 Registered users shall be able to follow and unfollow other users on the platform.
  • 1.1.2.2.5 Registered users shall be able to view her/his followers.
  • 1.1.2.2.6 Registered users should be able to add graphs to their posts.
  • 1.1.2.2.7 Registered users shall be able to perform the same actions as guest users.
1.1.2.3 Admin
  • 1.1.2.3.1 An admin shall be able to ban user accounts.
  • 1.1.2.3.2 An admin shall be able to remove(ban) posts.
  • 1.1.2.3.3 An admin shall be able to remove(hide) comments on posts.
  • 1.1.2.3.4 An admin shall be able to remove tag.

1.1.3 Profile Preferences

  • 1.1.3.1 Users shall be able to view profile information.
  • 1.1.3.2 Users shall be able to update her/his profile information.
  • 1.1.3.3 Users should be able to add/remove a profile photo.

1.2 System Requirements

1.2.1 Search

1.2.1.1 Searching
  • 1.2.1.1.1 The system shall allow users to search for users.
  • 1.2.1.1.2 The system shall allow users to search for posts through tags, titles, author.
  • 1.2.1.1.3 The system shall allow users to search for stocks .
1.2.1.2 Filtering
  • 1.2.1.2.1 The system shall allow users to filter the stocks as increasing and decreasing.
  • 1.2.1.2.2 The system shall allow users to filter for posts according to the post's portfolio, author and author's badges.

1.2.2 Portfolio

  • 1.2.2.1 Portfolios should be created by the users by entering purchase price and quantity of stock.
  • 1.2.2.2 Portfolios shall include one or more stock.

1.2.3 News

  • 1.2.3.1 The system shall include news about stocks.

1.2.3 Posts

  • 1.2.4.1 The system shall require registered users to add title to posts.
  • 1.2.4.2 The system shall allow registered users to add tags to posts.
  • 1.2.4.3 The system shall allow registered users to add their portfolios to posts.
  • 1.2.4.4 The system shall allow registered users to add news to posts.
  • 1.2.4.5 The system shall allow registered users to add ideas in the form of text to posts.
  • 1.2.4.6 The system shall allow registered users to add line charts of stocks to posts.
  • 1.2.4.7 The system shall store author of posts.
  • 1.2.4.8 The system shall store creation date of posts.
  • 1.2.4.9 The system shall store last edit date of posts.
  • 1.2.4.10 The system shall store like count of posts.
  • 1.2.4.11 The system shall be able to list comments related to a post.

1.2.5 Badges

  • 1.2.5.1 The system shall include badges which gain new abilities to users.

  • 1.2.5.2 The system shall have a badge type called "High-liked".

    • 1.2.5.2.1 High-liked badge shall be given if a user has a post liked by 100 users.
    • 1.2.5.2.2 Users with this badge shall be suggested in the feed over others.
  • 1.2.5.3 The system shall have a badge type called "Cretager".

    • 1.2.5.3.1 Cretager badge shall be given if a user has 50 post.
    • 1.2.5.3.2 Users with this badge shall be able to create new tags.

1.2.6 Tags

  • 1.2.6.1 The system shall limit tag lenght to 40 chars.
  • 1.2.6.2 The system shall limit the tags to be lowercase and unique.

1.2.7 Annotations

  • 1.2.7.1 The system shall use annotations that comply with the W3C Web Annotation Data Model.
  • 1.2.7.2 The system shall use annotations appearing in the form of a highlighted text.
  • 1.2.7.3 The system shall allow annotations only in post bodies.

2 Non Functional Requirements

2.1 Platforms & Compatibility

  • 2.1.1 The application shall be available for Web and Mobile platforms.
  • 2.1.2 The web application shall be available for web browsers supporting ES6.
  • 2.1.3. The web application shall support FHD (1920x1080) or higher resolutions, ensuring that all charts and graphs are rendered at a minimum resolution of 1080p for clarity and detail.
  • 2.1.4 The mobile application shall be available for Android(API 33 or higher) operating systems.
  • 2.1.5 The mobile application shall support portrait orientation on mobile devices.
  • 2.1.6 The mobile application shall support FHD or higher resolutions, with charts and graphs rendered at a minimum resolution of 720p for clear visibility.

2.2 Supported Languages

  • 2.1.1 Application shall be available in English Language

2.3 Security

  • 2.3.1 User authorization credentials shall be encrypted to ensure the confidentiality of user data.
  • 2.3.2 User login sessions shall expire after 12 hours of inactivity, requiring re-authentication to enhance security.
  • 2.3.3 User shall verify their email addresses after signing up to ensure the validity of accounts before logging into the system.
  • 2.3.4 The application shall ensure compliance with relevant regulatory standard GDPR for financial data security.

2.4 Privacy

  • 2.4.1 The application shall comply with KVKK.
  • 2.4.2 The application shall provide a comprehensive privacy policy to users, clearly outlining data collection, usage, and sharing practices, and shall require user confirmation to operate.

2.5 Restricted Content

  • 2.5.1 The application shall not include or promote any adult content, ensuring a safe and professional environment for users engaging with financial information.
  • 2.5.2 The application shall provide clear disclaimers regarding the nature of financial content, indicating the risks associated with trading and investment activities.
  • 2.5.3 The application shall provide clear guidelines on acceptable use of content, including prohibiting the sharing of misleading financial advice or illegal activities.

2.6 Performance

  • 2.6.1 The application shall load within 3 seconds under normal network conditions.
  • 2.6.2 The application shall not be unresponsive at a maximum of 10 seconds.
  • 2.6.3 The application shall stay responsive for up to 5000 users concurrently.

📋 Lab Reports

📆 Meeting Notes

🧪 Lab Meetings

🗓️ General Meetings

⚙️ Backend Meetings

📝 Milestone Reports

📑 Project Artifacts

📖 Manuals

📑 Other Artifacts

📋 Software Requirements Specification

📊 Software Design Documents

✏️ User Scenarios & Mockups

🗂 Project Plan

🧪 Unit Tests

📜 Docs

👥 Team

SemanticFlix Archieve

📝 Milestone Reports

📆 Meeting Notes

🧾 Requirements

Project Plan

📊 Diagrams

👥 Team

📝 Researches

Repository Documentations

📁 Templates

Clone this wiki locally