Workload: List Queries
- Registration – write – The data from the registration form is sent to the server and checked for the correctness of the written data.
- Authorization – read – Encrypted data from the server is checked against the user's entered data. If the data is correct, then login to the user's personal account is performed.
- Follow – write – The ability to search, and follow users and send data to the database.
- View the list of following users – read – The user will receive a list of following users from the database and go to their pages.
- Loading the news feed (uploading photos and videos) – read – following users' posts will be visible in the news feed.
- Ability to see likes and comments – read – The user will be able to receive information about likes and comments from the database
- The ability to add to favorites, comment – write – The ability for the user to like and leave comments.
Workload: quantify/qualify the queries
- Registration. Since this is a training project, we do not expect a large influx of users. 20 requests per day will be enough to test the registration. 20 writes/day. Since the request is sent to the database, the operation should not take more than 1 second.
- Authorization. The situation with authorization is similar. 20 records per day will be enough for testing. Since a get request is used, the operation should not take longer than 1 second.
- Follow. It is expected from 1 to 50 post requests per day. Since this is a post request with a filter, the operation should not take longer than 1 second. Then the following user is sent to the database, which also should not last longer than 1 second.
- View the list of following users. No more than 20 requests per day. There is a get requests for all the data, but since we will have no more than a hundred following users, the request and the render should be no more than 3 seconds.
- Loading the news feed. No more than 2 requests per day. Since it will be necessary to upload not only text, but also photos, rendering can take up to 3 seconds per post. 6._ Ability to see likes and comments_. Approximately 20 requests per day will be enough for testing. Since this is a get request, the operation should take no longer than 1 second.
- The ability to add to favorites, comment. As usual, 20 requests will be enough. Since this is an addition to the database, the operation should take no longer than 1 second.
User {
_id
UserRole
Username
Email
PhoneNumber
Password
RegistrationDate
UserProfile (Embedded Document) {
FirstName
LastName
MiddleName (Optional)
DOB
Address
Degree
AboutMe
ProfilePictureURL
}
Followers (Reference Document) {
_id (User1)
_id (User2)
...
}
Following (Reference Document) {
_id (User1)
_id (User2)
...
}
Posts (Reference Document) {
_id (Post1)
_id (Post2)
...
}
}
Post {
_id
Title
Description
ImageURL (Optional)
Comments (Array of Embedded Documents) []
Tags []
LikeCount
CreationDate
}
Comment {
_id
Comments (Array of Embedded Documents) []
User_ID (Reference Document)
Text
LikeCount
CreationDate
}