-
Notifications
You must be signed in to change notification settings - Fork 8
Requirements Analysis
Application: The whole project as seen by guests, members and users.
Article: Text written by a user about trading equipment
Basic User: Signed-up user who can't perform investments inside the application, can be chosen during sign up
Comment: A body of text, image or links shared in response to an article
Database: An organized collection of data
Day's Range: The range in which trading equipment is traded. For example, a day's range that reads "48.50-51.25" means that the lowest price the trading equipment reached that day was $48.50/share and the highest price was $51.25.
Event: Events about an economy that occurred and posted inside the application, will have a numeric result
Followed User: A user who accepted other users following request.
Following User A user who's following request has been accepted by another user.
Guest: Unregistered person.
Moving Average: A succession of averages derived from successive segments (typically of constant size and overlapping) of a series of values.
Profile Page: A page where user can see information about a user and additionally change the information if it's their profile page.
Prediction Rate: A rate showed on user's profile page, calculated by their past predictions.
Previous Close: What the price of trading equipment was when the market closed on the previous trading day
Semantic Search: A prediction system to improve search accuracy by understanding the searcher's intent and the contextual meaning of terms as they appear in the searchable dataspace.
Significance level: A rating system that describes the importance of an event.
System: The whole project, including design and functionalities.
Trading Equipment: Indices, stocks, ETFs, commodities, currencies, funds, bonds and cryptocurrencies.
Trading User: Signed-up user who can make investments inside the application, can be chosen during sign up.
User: Registered basic user or trading user.
-
-
- 1.1.1.1 Guests shall be able to search economic events, articles, and trading equipment.
- 1.1.1.2 Guests shall view the price of trading equipment.
- 1.1.1.3 Guests shall read comments about trading equipment.
-
1.1.1.4 Registration
- 1.1.1.4.1 User shall be able to choose between basic user and trading user.
- 1.1.1.4.2 Basic user shall provide name, surname, email and password.
- 1.1.1.4.3 Trading user shall additionally provide IBAN and TC identification number.
- 1.1.1.4.4 User shall provide location with Google Maps.
- 1.1.1.4.5 User shall validate account via e-mail.
- 1.1.1.4.6 Users shall be able to register via their Google accounts.
-
-
- 1.1.2.1.1 User shall login via email and password provided upon registration.
- 1.1.2.1.2 User shall login via Google account.
- 1.1.2.1.3 User shall be able to reset password if they forget it, by clicking "Forget password?" button. An email containing the link for resetting password is sent. User resets its password by using the link that can be used only once.
- 1.1.2.1.4 Users shall be able to logout.
-
- 1.1.2.2.1 User shall be able to follow other users.
- 1.1.2.2.2 User shall be able to send follow request to other users who have private profile.
- 1.1.2.2.3 User shall be able to accept or reject follow requests.
- 1.1.2.2.4 User shall be able to be followed by another user upon accepting their follow request.
-
- 1.1.2.3.1 User shall be able to follow trading equipment.
- 1.1.2.3.2 User shall be able to set alerts for certain levels and certain percentage change of trading equipment.
- 1.1.2.3.3 User shall be able to comment on trading equipment.
- 1.1.2.3.4 Trading user shall be able to invest in trading equipment.
- 1.1.2.3.5 User shall be able to make prediction on trading equipment details page.
-
- 1.1.2.4.1 User shall have a profile page.
- 1.1.2.4.2 Profile page shall have the general prediction rate of the user.
- 1.1.2.4.3 User shall be able to choose to be public user or private user.
- 1.1.2.4.4 Private users profile page content other than prediction rate shall be seen only by following users.
- 1.1.2.4.5 Public users profile page content including name, surname, location, articles and portfolios shall be able to be seen by all other users.
- 1.1.2.4.6 Users shall see and edit their personal information including name, surname, location, IBAN, TC identification number and password in profile page.
- 1.1.2.4.7 Users shall view their old actions including portfolios and articles on their profile page.
- 1.1.2.4.8 Users shall be able to reach their own followers and followings list in their profile page.
-
- 1.1.2.5.1 User shall be able to share ideas only in text based about trading equipment as articles.
- 1.1.2.5.2 User shall be able to comment on articles.
- 1.1.2.5.3 User shall be able to rate articles, from 1(worst) to 5(best).
-
- 1.1.2.6.1 User shall have at least one portfolio.
- 1.1.2.6.2 User shall be able to have different portfolios.
- 1.1.2.6.3 User shall be able to rename portfolio.
- 1.1.2.6.4 Users shall be able to add trading equipment to portfolio.
- 1.1.2.6.5 Users shall be able to remove trading equipment from portfolio.
- 1.1.2.6.6 User shall be able to share portfolio in profile page.
- 1.1.2.6.7 Other users shall be able to follow other public user's portfolio.
- 1.1.2.6.8 Users shall be able to create their portfolios.
- 1.1.2.6.9 Users shall be able to delete their portfolios.
-
- 1.1.2.7.1 Trading users shall have "My Investments" page.
- 1.1.2.7.2 Trading users shall be able to invest on trading equipment in "My Investments" page.
- 1.1.2.7.3 Trading users shall be able to create a buy order for a trading equipment for a specified rate in "My Investments" page.
- 1.1.2.7.4 Trading users shall be able to set stop/loss limits on trading equipment in "My Investments".
-
- 1.1.2.8.1 Users shall have a profit/loss section.
- 1.1.2.8.2 Profit/loss section shall be private to each user.
- 1.1.2.8.3 User shall be able to see profit/loss in terms of currency chosen by user.
- 1.1.2.8.4 Users shall be able to manually enter investments to see calculated profit/loss .
- 1.1.2.8.5 Profit/loss section should include investments made in the platform by a trading user when calculating profit/loss.
-
- 1.1.2.9.1 Users shall be able to see events fetched from third parties.
- 1.1.2.9.2 Users shall be able to comment on events.
- 1.1.2.9.3 Users shall be able to filter events by its country, date and significance level.
- 1.1.2.9.4 Users shall be able to set an alarm to a specific event.
-
-
-
-
-
1.2.1.1 System shall provide following functionalities for a trading equipment:
- 1.2.1.1.1 Previous close
- 1.2.1.1.2 Percentage change compared to the previous close
- 1.2.1.1.3 Amount change compared to the previous close
- 1.2.1.1.4 Day's range
- 1.2.1.1.5 Moving averages
-
- 1.2.2.1 System shall recommend users, portfolios, articles and trading equipment to users based on their history of search, trading equipment interactions and follows in the system.
- 1.2.2.2 System shall provide a notification mechanism which lets traders to get notified (or alerted) about certain levels of trading equipment.
- 1.2.2.3 System shall provide a notification settings interface that lets traders set their notifications about certain levels of trading equipment and success of their buy/sell orders.
- 1.2.2.4 System shall notify trading users according to a transaction that is made because of the stop/loss limit.
-
- 1.2.3.1 System shall provide searching for users, trading equipment, articles, and economic events.
- 1.2.3.2 System shall support semantic search.
- 1.2.3.3 System shall sort events in search results by their significance level.
- 1.2.3.4 System shall also sort users according to their general prediction success rate.
-
- 1.2.4.1 System shall have events page which contains economic events.
- 1.2.4.2 System shall be able to provide different significance levels for events. The assignment of significance levels might be done by an external API.
- 1.2.4.3 System shall provide numerical results for events.
-
- 1.2.5.1 An email verification link shall be sent to the users' email address for verification. After clicking the link, users' email address shall be verified.
-
-
-
- 2.1.1 User data shall be processed according to 'Law on the Protection of Personal Data (KVKK)'.
- 2.1.2 User's password shall be stored with encryption in the database.
- 2.1.3 User shall get notification emails when changing their password.
- 2.1.4 Weekly backups of every table in the database shall be taken in order to ensure data is safe and sound.
- 2.1.5 In case of server failure or any other need, the system shall be restored with the latest backup. Also, the data of the financial transactions that occurred after the time that backup is taken shall be recollected from the financial institutions involved.
-
- 2.2.1 The system should be able to respond to requests within 3 seconds.
- 2.2.2 At least 150 requests per second should be responded.
- 2.2.3 The system shall be able to serve at least 100000 members.
-
- 2.3.1 The system shall be accessible on both native Android and web platforms, including Google Chrome v60, Mozilla Firefox v57 and Microsoft Edge v18.
- 2.3.2 The system shall support English language.
- 2.3.3 The system should be available 99% of the time.
- 2.3.4 In the case of failure, the system should recover in at most 30 minutes.
- 2.3.5 The system shall support Turkish characters.
-
- 2.4.1 The annotations shall be designed according to W3C web annotation protocol.
- 2.4.2 The annotations shall be tested by the test team to ensure that they work correctly.
-
- 2.4.1 User data shall be held in a secure database.
- 2.4.2 Database hierarchy shall be well-constructed so that it shall be efficient and protect the user's privacy.
- 2.4.3 All changes shall be logged in a database.
- Bahadır Hocamoğlu (Communicator)
- Baturalp Yörük
- Cemal Aytekin
- Ege Başural
- Elif Çalışkan
- Emre Demircioğlu
- Gürkan Demir
- İsmail Levent Baş
- Muhammed Bera Kaya
- Taha Eyup Korkmaz
İbrahim Özgürcan Öztaş
- Project Description
- Project Plans
- Questions and Answers about Project
- Requirements Analysis
- User Personas & Stories
- User Scenarios & Mockups
- Diagrams
- CmpE352
- CmpE451