Application’s Specification  This and the following sections are dedicated to clearly review the requirements (or specification) of the system you are going to develop. The core components of the system will include: users (people having an account of mysocialbook ), posts (textual or multimedia post shared by users). You will be given two files separately: the one contains information necessary for creating the initial users for the system, while the other contains different commands to test various use case scenarios of your application. These components are further explained in detail in the following sections. 2.1   Users Users refers to the people who only use mysocialbook platform (i.e., they do not have any privilege such as admin, system manager, and the like). The properties and behaviors that user can have are listed below: Every User in the system has a unique userID, a name, a unique username, a pass- word, a date of birth, information about school from which the user graduated, a last log-in date, a collection of friends, a collection of blocked users, and a collection of posts. userIDs should be assigned as integers in order, starting from 1 for the first user that is added to the These IDs cannot be changed later. A newly added user should never get an ID that has been assigned before to some other user, even in cases when other users get removed from the system. Users’ dates of birth and last log-in dates should be stored as Date Users must perform Sign in, Sign out, Update their user profile info (name, date of birth, and school graduated), Change their passwords, Add friends to their friend lists, Remove friends from their friend lists, Add posts, Remove posts, Block users, Unblock users, List their friends, List all users, List blocked friends, List blocked It is a must for any user to be logged-in in order for her/him to perform any of these actions other than sign in. You are required to hide sensitive personal user info and implement setter and getter methods as mysocialbook platform should begin execution by reading a tab-separated file named input.txt. The user’s data will be given as following format: nameusernamepassworddateofBirthgraduatedSchool   An exemplar for the content of this file is shown below: Ahmet ahmet ahmet123 04/25/2001 Meram Anadolu Lisesi Demet demet demet00 01/16/1999 Ankara Fen Lisesi Zeki zeki zeki01 08/16/1987 Kadıkoy Lisesi Gizem gizem gizem1 12/09/1997 Hacettepe ¨Universitesi Utku utku utku99 10/06/1999 Bilkent ¨Universitesi Hakan hakan hakan81 03/01/1981 Mugla S.K. ¨Universitesi   2.2   Posts They can either be a textual or multimedia content shared by users. You are expected to design your post classes in a hierarchical structure. The necessary information about posts is as follows: Posts are categorized as either text posts, image posts, or video posts. But be careful: these posts have a textual part in common, and can optionally contain image or video (for image and video post categories, respectively!). mysocialbook should be designed such that it is open for an integration of any new post type (e.g., hypertext posts) that may or may not have a textual Every post category must contain a location, a collection of tagged friends, and a date when the post originated. Location should be implemented as a separate class with the following attributes: latitude and longitude (stored as double values). The format to display the post itself can change with respect to the post type of So, in the case of inclusion a new post type to mysocialbook, designer must specify its printing format. You should enforce user who proposes a new post type to implement display format of that post. Text posts have a text. Image posts have the image filename, and the image resolution (width and height in pixels). Video posts have the video filename, video duration, and a constant attribute that specifies the maximum video length in minutes (the maximum allowed video duration is 10 minutes). Note that you are required to implement setter and getter methods as

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question
100%

1    Overview of the Application

 In this assignment, you will develop your social media platform (what we will call it is mysocialbook ) with very simplified use case scenarios. To complete every functionality of mysocialbook, please read each of the fol- lowing lines with a high care.

2    Application’s Specification

 This and the following sections are dedicated

to clearly review the requirements (or specification) of the system you are going to develop. The core components of the system will include:

  • users (people having an account of mysocialbook ),
  • posts (textual or multimedia post shared by users).

You will be given two files separately: the one contains information necessary for creating the initial users for the system, while the other contains different commands to test various use case scenarios of your application.

These components are further explained in detail in the following sections.

2.1   Users

Users refers to the people who only use mysocialbook platform (i.e., they do not have any privilege such as admin, system manager, and the like). The properties and behaviors that user can have are listed below:

  • Every User in the system has a unique userID, a name, a unique username, a pass- word, a date of birth, information about school from which the user graduated, a last log-in date, a collection of friends, a collection of blocked users, and a collection of posts.
  • userIDs should be assigned as integers in order, starting from 1 for the first user that is added to the These IDs cannot be changed later. A newly added user should never get an ID that has been assigned before to some other user, even in cases when other users get removed from the system.
  • Users’ dates of birth and last log-in dates should be stored as Date
  • Users must perform
    • Sign in,
    • Sign out,
    • Update their user profile info (name, date of birth, and school graduated),
    • Change their passwords,
  • Add friends to their friend lists,
  • Remove friends from their friend lists,
  • Add posts,
  • Remove posts,
  • Block users,
  • Unblock users,
  • List their friends,
  • List all users,
  • List blocked friends,
  • List blocked
  • It is a must for any user to be logged-in in order for her/him to perform any of these actions other than sign in.
  • You are required to hide sensitive personal user info and implement setter and getter methods as
  • mysocialbook platform should begin execution by reading a tab-separated file named

input.txt. The user’s data will be given as following format: name<TAB>username<TAB>password<TAB>dateofBirth<TAB>graduatedSchool   An exemplar for the content of this file is shown below:

Ahmet

ahmet

ahmet123

04/25/2001

Meram Anadolu Lisesi

Demet

demet

demet00

01/16/1999

Ankara Fen Lisesi

Zeki

zeki

zeki01

08/16/1987

Kadıkoy Lisesi

Gizem

gizem

gizem1

12/09/1997

Hacettepe ¨Universitesi

Utku

utku

utku99

10/06/1999

Bilkent ¨Universitesi

Hakan

hakan

hakan81

03/01/1981

Mugla S.K. ¨Universitesi

 

2.2   Posts

They can either be a textual or multimedia content shared by users. You are expected to design your post classes in a hierarchical structure. The necessary information about posts is as follows:

  • Posts are categorized as either text posts, image posts, or video posts. But be careful: these posts have a textual part in common, and can optionally contain image or video (for image and video post categories, respectively!).
  • mysocialbook should be designed such that it is open for an integration of any new post type (e.g., hypertext posts) that may or may not have a textual
  • Every post category must contain a location, a collection of tagged friends, and a

date when the post originated.

  • Location should be implemented as a separate class with the following attributes:

latitude and longitude (stored as double values).

  • The format to display the post itself can change with respect to the post type of So, in the case of inclusion a new post type to mysocialbook, designer must specify its printing format. You should enforce user who proposes a new post type to implement display format of that post.
  • Text posts have a text.
  • Image posts have the image filename, and the image resolution (width and height in pixels).
  • Video posts have the video filename, video duration, and a constant attribute that specifies the maximum video length in minutes (the maximum allowed video duration is 10 minutes).
  • Note that you are required to implement setter and getter methods as
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 3 steps with 1 images

Blurred answer
Knowledge Booster
Uniform Resource Indicator
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education