Skip to content

Requirements

m-erkam edited this page May 3, 2024 · 10 revisions

Glossary

  • Global User: A user who can only view the platform content without signing up.
  • Registered User: A logged-in user who can view the platform content, create posts and film lists.
  • Admin: A user who has additional authority which are create/delete/edit posts and comments.
  • Post: A review or comment of users about films on the platform.
  • List: A group of films which has a title, description, poster and which is created by users/admin.
  • KVKK: Personal Data Protection Law with number 6698
  • MPAA: Motion Picture Association of America

Requirements

1. Functional Requirements

1.1 User Requirements

1.1.1 Signup & 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 passwords shall meet safety criteria (min length, uppercase-lowercase letters, special symbols)
  • 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 sign out from the system.

1.1.2 User Types

1.1.2.1 Global User
  • 1.1.2.1.1 Global user shall be able to view posts
  • 1.1.2.1.2 Global user shall be able to view films
  • 1.1.2.1.3 Global user shall be able to view lists prepared by the users
  • 1.1.2.1.4 Global user shall be able to view user profiles
  • 1.1.2.1.5 Global user shall be able to search for users by their usernames.
  • 1.1.2.1.6 Global user shall be able to semantic search for films by using Wikidata.
  • 1.1.2.1.7 Global user shall be able to search for film lists.
  • 1.1.2.1.8 Global user shall accept the Terms of Use and Privacy Policy in order to register.
  • 1.1.2.1.9 Global user shall enter their e-mail, username and a password in order to sign up.
1.1.2.1.1 Registered User
  • 1.1.2.1.1.1 Registered users shall be able to create posts
  • 1.1.2.1.1.2 Registered users shall be able to like posts.
  • 1.1.2.1.1.3 Registered users shall be able to rate films.
  • 1.1.2.1.1.4 Registered users shall be able to write comments to posts.
  • 1.1.2.1.1.5 Registered users shall be able to bookmark a post.
  • 1.1.2.1.1.6 Registered users shall be able to follow other users on the platform.
  • 1.1.2.1.1.7 Registered users shall be able to view her/his followers
  • 1.1.2.1.1.8 Registered users shall be able to remove her/his followers
  • 1.1.2.1.1.9 Registered users shall be able to create lists.
  • 1.1.2.1.1.10 Registered users shall be able to view the content posted by followed accounts.
  • 1.1.2.1.1.11 Registered users shall be able to mark films as watched.
  • 1.1.2.1.1.12 Registered users shall be able to view his/her bookmarked posts.
1.1.2.1.1.1 Admin
  • 1.1.2.1.1.1.1 An admin shall be able to delete lists.
  • 1.1.2.1.1.1.2 An admin shall be able to ban user accounts.
  • 1.1.2.1.1.1.3 An admin shall be able to remove(ban) posts.
  • 1.1.2.1.1.1.4 An admin shall be able to remove(hide) comments on posts.

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 shall be able to view films watched by him/her.

1.2 System Requirements

1.2.1 Search

1.2.1.1 Searching
  • 1.2.1.1.1 The platform shall allow users to search for users.
  • 1.2.1.1.2 The platform shall allow users to semantic search for films according to the film's name, release date, genre, director’s name, rating by using Wikidata.
  • 1.2.1.1.3 The platform shall allow users to semantic search for directors and actors by using Wikidata.
  • 1.2.1.1.4 The platform shall allow users to search for film lists by using the username who prepares the list.
1.2.1.2 Browsing
  • 1.2.1.2.1 Films shall be browsed by their release year/date.
  • 1.2.1.2.2 Films shall be browsed by their rating.
  • 1.2.1.2.3 Films shall be browsed by their genre.
1.2.1.3 Filtering
  • 1.2.1.3.1 The platform shall allow users to filter the search results by films, posts, directors/actors and film lists.

1.2.2 Films

  • 1.2.2.1 The system shall include description, cast, genre, director of the films.

1.2.3 Posts

  • 1.2.3.1 Posts should contain reviews about the films.
  • 1.2.3.2 Posts should contain comments about the films.
  • 1.2.3.3 Each post shall be associated with a single film in a many-to-one relationship.

1.2.4 Film Lists

  • 1.2.4.1 Film lists should be consist of more than one film.
  • 1.2.4.2 Film lists should have a description.

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 or higher resolutions.
  • 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.

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.
  • 2.3.2 User login shall expire after 12 hours.
  • 2.3.3 User shall verify his/her email after signing up in order to login the system

2.4 Privacy

  • 2.4.1 Users shall have the option to organize their profile as private.
  • 2.4.2 The application shall follow KVKK.
  • 2.4.3 The application shall provide a privacy policy to users and get confirmation to operate.

2.5 Restricted Content

  • 2.5.1 Adult content shall be marked as adult content.
  • 2.5.2 The application shall provide MPAA rating information of films.

2.6 Performance

  • 2.6.1 The application shall respond to search queries in an average of 5 seconds.
  • 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 1000 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