Skip to content

Requirements

Şafak edited this page Sep 28, 2019 · 32 revisions

GLOSSARY

  • All Users: It can be a basic user or a trading user.
  • Annotation: A term referring to documentation and comments that may be found on code logic.
  • Basic Users: A person who is registered and able to access the basic functionalities of the platform.
  • Economic Event: Events having impact on trading equipments. (e.g., Meetings of the Central Bank of the Republic of Turkey or a speech of the president of Federal Reserve Bank of New York.)
  • My Investments: The section in which users are able to invest on any trading equipment, make a buy order for a specified rate, and set stop/loss limits.
  • Prediction Success Rate: The success rate of the predictions made by users on trading equipment's values which can be seen in the user profile.
  • Portfolio: A grouping of financial assets such as stocks, bonds, commodities, currencies etc.
  • Profile: The page which contains user information such as personal information, prediction success rate and portfolios.
  • Profit/Loss: Amount whether the user lose or gain in any trading equipment.
  • Profit/Loss Section: The section provided by the system for all users to view profit/loss value of their investments.
  • Recommendation System: It recommends articles or trading equipments to the users based on their histories.
  • Semantic Search: It tries to find semantically similar users and trading equipments based on the context information provided in the semantic tags.
  • Traders Platform: Lets people follow and trade indices, stocks, ETFs, commodities, currencies, funds, bonds, and cryptocurrencies.
  • Trading Equipment: Indices, stocks, ETFs, commodities, currencies, funds, bonds, cryptocurrencies etc.
  • Trading Users (Registered Users): A person who is registered and, in addition to basic user, is able to invest in any trading equipment.

1.FUNCTIONAL REQUIREMENTS

1.1. User Requirements

1.1.1. User Types

1.1.1.1. All Users (except guests)

  • 1.1.1.1.1. All users shall have a “Profit/Loss” and an "Events" section.
  • 1.1.1.1.2. All users shall have at least one Portfolio.
  • 1.1.1.1.3. All users shall be able to follow other users.
  • 1.1.1.1.4. All users shall be able to share ideas as an article.
  • 1.1.1.1.5. All users shall be able to comment about trading equipments and articles.
  • 1.1.1.1.6. All users shall be able to follow the values related to any trading equipment that is available.
  • 1.1.1.1.7. The followers of a user and the followed users by that user shall be seen on the profile of that user.
  • 1.1.1.1.8. A private user profile shall be seen only by its followers.

1.1.1.2. Only Trading Users

  • 1.1.1.2.1. Trading users shall have a “My Investments” section.
  • 1.1.1.2.2. Trading users shall be able to invest on any trading equipment, make a buy order for a specified rate, and set stop-loss limits.
  • 1.1.1.2.3. Trading users shall have different success rates for each trading equipment on which they made prediction.

1.1.1.3. Guests

  • 1.1.1.3.1. Guests shall be able to view the price of a trading equipment and view the economic events, but shall not be able to follow them.
  • 1.1.1.3.2. Guests shall be able to read user comments about trading equipment and articles.

1.1.2. Authentication

1.1.2.1. Sign Up

  • 1.1.2.1.1. Basic users shall provide their name, surname, e-mail address, and location (by specifying it on Google Maps).
  • 1.1.2.1.2. Trading users shall provide their name, surname, e-mail address, location (by specifying it on Google Maps), IBAN and TR Identity Number.
  • 1.1.2.1.3. Users should be able to use Google account to retrieve necessary information for signing up.
  • 1.1.2.1.4. All users shall choose a password.(see 2.1.2)

1.1.2.2. Sign In

  • 1.1.2.2.1. All users shall be able to sign in by providing their e-mail and password.
  • 1.1.2.2.2. All users should be able to use Google account to retrieve necessary information for signing in.

1.1.3. Profile

  • 1.1.3.1. Profile can be either public or private to other users.
  • 1.1.3.2. In order to see the contents in a private user profile, user should be followed.
  • 1.1.3.3. Basic users and trading users’ prediction success rate shall be visible in their profile page.

1.1.4. Portfolio

  • 1.1.4.1. Basic users and trading users shall be able to rename their portfolio.
  • 1.1.4.2. Basic users and trading users shall be able to add any trading equipment to their portfolio.
  • 1.1.4.3. Basic users and trading users shall be able to share their portfolio in their profile page and follow other users' shared portfolios.

1.1.5. Profit/Loss Section

  • 1.1.5.1. Profit/Loss section shall be private to user.
  • 1.1.5.2. All users shall be able to use the Profit/Loss Section by providing the type and the amount of their investment, the exact time at when that investment made by the user and the currency which they eventually want to see the profit/loss value in terms of.
  • 1.1.5.3. Trading users shall also be able to use the Profit/Loss Section using the investments that they made in the Traders Platform.

1.2. System Requirements

1.2.1. Notifications

  • 1.2.1.1. The system shall notify users in accordance with alerts.

1.2.2. Predictions

  • 1.2.2.1. Each trading equipment shall be available for the prediction.

1.2.3. Searching

  • 1.2.3.1. The application shall support location-based search.
  • 1.2.3.2. The application shall allow semantic search.
  • 1.2.3.3. Searching process shall consider all the information available in user profiles and trading equipment.

1.2.4. Trading Equipment

  • 1.2.4.1. The trading equipments shall be available on the site in the form of trade indices, stocks, ETFs, commodities, currencies, funds, bonds, and cryptocurrencies. (e.g., Trade Indices: S&P 500 Futures, S&P 500 and Nasdaq 100. Stocks: Deutsche Bank AG, Apple, Turkish Airlines. ETFs: SPDR S&P 500, iShares Russell 2000, United States Oil. Commodities: Gold, Silver, Brent Oil. Currencies: EUR/USD, TRY/EUR, TRY/USD. Funds: Vanguard 500 Index Admiral, PrivatFonds: Kontrolliert, Fidelity Contrafund. Bonds: U.S. 10Y, U.S. 5Y, U.S. 2Y. Cryptocurrencies: BTC/USD, ETH/USD, XRP/USD.)
  • 1.2.4.2. Each trading equipment shall include the information of the previous close, percentage change with the previous close, amount change with the previous close, day’s range, and moving averages.

1.2.5. Recommendation System

  • 1.2.5.1. The system shall be able to recommend people and trading equipments to follow.
  • 1.2.5.2. The system shall be able to recommend articles to read.

1.2.6. Economic Events

  • 1.2.6.1. Economic events shall have different significance levels.
  • 1.2.6.2. Each economic event shall have a numeric result which shows the actual value, the forecast value and the previous value of the related trading equipment.
  • 1.2.6.3. Basic users and trading users shall be able to filter economic events by considering their significance level and country base.
  • 1.2.6.4. Basic users and trading users shall be able to search economic events.

2.NON-FUNCTIONAL REQUIREMENTS

2.1. Security and Privacy

  • 2.1.1. E-mails for registration shall be valid and unique for each user.
  • 2.1.2. Passwords shall be 8 characters long at least and contain at least one uppercase letter, one lower case letter and a digit.
  • 2.1.3. All passwords shall be encrypted using PBKDF2 and stored in the database.
  • 2.1.4. Data of the users shall be protected according to Law on the Protection of Personal Data.

2.2. Performance

  • 2.2.1. Response time for any request shall be 5 seconds at most.

2.3. Availability

  • 2.3.1. The application shall have web and mobile (Android) versions.
  • 2.3.2. The system shall be compatible with the latest main versions of Google Chrome and Android.
  • 2.3.3. The language of the system shall be English but it shall also support Turkish characters.

2.4. Annotations

  • 2.5.1. The application shall support W3C Web Annotation Data Model and follow
    W3C Web Annotation Protocol.

2.5. Database

  • 2.5.1. System shall store user information, trade equipments, follower relations, portfolios, user histories and user preferences in the database.
  • 2.5.2. Information in the database shall be able to be updated.
  • 2.5.3. Database structure shall be as efficient as possible, avoiding unnecessary tables and duplicate columns.
Clone this wiki locally