Vogue Splash
Vogue Splash
Vogue Splash
Vogue Splash
FYP Team
Ayila Jawad…………………………19L-0959
M. Ahmed Khan…………….………19L-1014
Sheikh Abdul Muizz Tahir …………19L-1070
Supervised by
Dr. Khawaja Muhammad Fahd
Date: ____28-04-2023____
Student 1
Name: _____Ayila Jawad___________
Signature:
Student 2
Name: __M. Ahmed Khan___________
Signature:
Student 3
Name: __Sheikh Abdul Muizz Tahir___
Signature:
_____________________________________________________________________
Authors’ Declaration
This states Authors’ declaration that the work presented in the report is their own, and has not
been submitted/presented previously to any other institution or organization.
Abstract
Models all around the world are associated majorly with the fashion industry which in turn is
affiliated with modeling agencies for their hiring process. These agencies act as a broker
between the two parties, where individuals share their model portfolios and are referred to the
fashion hub recruiters. To prevent a lot of discrepancies like favoritism and to smoothen the
process, our application will bring the models and the recruiters closer by eliminating the role
of a middleman. With this direct interaction, recruiters can explore all the possibilities for their
products and hire individuals with fairness and transparency and post their requirements. Our
app will also provide a way for the improvement of the model's portfolio with rating systems.
Using smart machine learning algorithms to provide authenticated models and filtering systems
to search for a particular candidate, it will reduce the hassle for both the model and the
recruiters. Hence, this will be a revolutionizing idea for this industry by providing an efficient
mechanism for job search and recruitment.
Executive Summary
Newcomers coming in the modeling field tend to rely more on modeling agencies because of
their strong ties with the designers, brands or people belonging to this field of fashion industry.
Models are these fashion businesses' most valuable assets because they represent their business
worldwide. However, using a middleman in this process has introduced serious problems like
favoritism, biased selections, lack of transparency, authentication, fraud, identity-theft,
harassment and much more. The sole function of these organizations is to produce attractive
portfolios for these models and recommend them to recruiters, but in exchange for this service,
either fees are levied to the individuals involved or, worse yet, a commission is established [2].
In addition, recruiters have contracts with these agencies and pay them enormous sums of
money.
So, we developed the notion to regulate and revolutionize the fashion business by bringing
transparency and verification to the process after analyzing all the above-mentioned obstacles.
Our project "Vogue Splash" will act as a platform for the objective employment and the
appropriate selection of models. This will serve mainly two kinds of people: the models and
the recruiters. Recruiters will belong to the fashion industry, and will be the one requiring the
various kinds of models based on their business project. Due to high awareness in people,
organizations are now more careful in selecting their models. Because be it a small ear stud or
a full body product, one who showcases that product matters a lot in the public eye. So, our
project will provide a wide range of models based on their color, height, body type, ethnicity,
gender, and etc. So, this will allow the recruiter to easily filter and scroll through various
profiles and select the right candidate for the right job.
The problem statement that is identified in this document is that it has become difficult for
recruiters to find models on social media platforms, that is a brute force method to extract the
required model. It requires a lot of time and work to find them. Also, for the people who want
to pursue modeling, it sometimes becomes difficult to go for auditions in different cities. Plus,
the eye of a recruiter may require or desire for a variety of features while hiring their models.
For example, some require people of dark complexion, some require fair skin so it is difficult
to find their desired one for the promotion. And to avoid the toxic environment and the
dependency on modeling agencies, this step has to be taken.
So, our target audience is mainly only kinds of people: the model and the recruiter. The main
goal of our project is to provide an interactive interface for the targeted users and remove the
need for finding and contacting model agencies. Added to this it will also allow an ease by
providing a greater variety of models. Moreover, all data (models) available on our website
will be 100% authenticated that will be done using smart Machine Learning algorithms. To
access this platform, one only needs an internet connection and an end-user device like: mobile,
tablets, laptops or etc.
Both end-users - model and recruiter will have separate dashboards, to have an experience of
personalized home pages. Models home page will display them all the jobs available, it would
be like a feed displaying posts containing information or Job description posted by the
recruiters. This will help models to connect with recruiters in a more appropriate way. Apart
from this the dashboard for recruiters will allow them to post new job descriptions and to filter
models based on their current requirements. Added to this, an inbuilt chat system is provided
so that both end-users can communicate with each other in real time with transparency.
Moreover, as we move along the succeeding chapters, we can find high- and low-level
architectural diagrams and the software requirement specifications of the system to be
developed. There are some diagrams like: UCD and ER-diagram to explain the system flow
and the basic GUI design to display the basic user interface designs. We also have added
national and international articles to support our identified problem and the dire need for its
solution.
Chapter 5 will be throwing some light on our system’s design at a Macro-level as well as at a
Micro-level to help readers understand our project’s design. For this purpose, we have provided
various diagrams like: Architectural diagram, Class Diagram and Sequence Diagram, with fully
detailed description to help reader understand what is happening within the system.
Added to this in later chapters we will provide the reader with implementation details for our
first prototype that will be our GUI implementation. Furthermore, towards the end a fully
detailed road map is provided for our future work.
Vogue Splash will provide a fully organized database of models that will be arranged and
sorted. Models will be arranged on their types and sorted on their rankings or reviews given by
those who have worked with them in the past. Furthermore, as we read this detailed SRS
document, we will be able to conclude that this platform focuses on providing security and
authentication. And to weed out scammers and bots through bots and AI. This will surely allow
fast hiring and result in an efficient recruiting process.
Table of Contents i
Table of Contents
Table of Contents i
List of Tables vi
List of Figure vii
Chapter 1: Introduction 1
1.1 Purpose of this Document 1
1.2 Intended Audience 2
1.3 Definitions, Acronyms, and Abbreviations 2
1.4 Conclusion 2
Chapter 2: Project Vision 3
2.1 Problem Domain Overview 3
2.2 Problem Statement 4
2.3 Problem Elaboration 4
2.4 Goals and Objectives 4
2.5 Project Scope 5
2.6 Sustainable Development Goal (SDG) 5
2.7 Constraints 5
2.7.1 Hardware and Software environment 5
2.7.2 End-user environment 5
2.7.3 Availability or volatility of resources 5
2.7.4 Interface/Protocol Requirements 5
2.7.5 Data repository and distribution requirements 6
2.7.6 Security requirements 6
2.7.7 Memory and other capacity limitations 6
2.7.8 Verification and validation requirements (testing) 6
2.7.9 Language constraints 6
2.8 Business Opportunity 6
2.9 Stakeholders Description/ User Characteristics 6
2.9.1 Stakeholders Summary 6
2.9.2 Key High-Level Goals and Problems of Stakeholders 7
2.10 Conclusion 7
Chapter 3: Literature Review / Related Work 8
3.1 Definitions, Acronyms, and Abbreviations 8
3.2 Detailed Literature Review 8
3.2.1 LinkedIn 8
3.2.1.1 Summary of the research item 8
3.2.1.2 Critical analysis of the research article 9
3.2.1.3 Relationship to the proposed research work 9
3.2.2 ModelManagement 9
3.2.2.1 Summary of the research item 9
3.2.2.2 Critical analysis of the research article 9
3.2.2.3 Relationship to the proposed research work 9
3.2.3 Bad Aspects of Modeling 9
3.2.3.1 Summary of the research item 9
3.2.3.2 Critical analysis of the research article 10
3.2.3.3 Relationship to the proposed research work 10
3.2.4 Threats of Bots and other Bad Actors 10
3.2.4.1 Summary of the research item 10
3.2.4.2 Critical analysis of the research article 10
3.2.4.3 Relationship to the proposed research work 11
3.2.5 Detecting, Preventing, and Responding to “Fraudsters” 11
3.2.5.1 Summary of the research item 11
3.2.5.2 Critical analysis of the research article 11
3.2.5.3 Relationship to the proposed research work 11
3.2.6 Common LinkedIn scams: fake job offers 11
3.2.6.1 Summary of the research item 11
3.2.6.2 Critical analysis of the research article 12
3.2.6.3 Relationship to the proposed research work 12
3.2.7 How effective is CAPTCHA? Bot Protection 12
3.2.7.1 Summary of the research item 12
3.2.7.2 Critical analysis of the research article 12
3.2.7.3 Relationship to the proposed research work 12
3.2.8 Captcha: Hard for Humans 12
3.2.8.1 Summary of the research item 13
3.2.8.2 Critical analysis of the research article 13
3.2.8.3 Relationship to the proposed research work 13
3.2.9 Artificial Intelligence Beats CAPTCHA 13
3.2.9.1 Summary of the research item 13
3.2.9.2 Critical analysis of the research article 13
3.2.9.3 Relationship to the proposed research work 13
3.3 Literature Review Summary Table 14
3.4 Conclusion 15
Chapter 4: Software Requirement Specifications 16
4.1 List of Features 16
4.2 Functional Requirements 16
4.2.1 Functional Requirements as a Recruiter: 16
4.2.2 Functional Requirements as a Model: 17
4.3 Quality Attributes 17
4.4 Non-Functional Requirements 18
4.4.1 Performance 18
4.4.2 Sustainability 18
4.4.3 Usability 18
4.4.4 Compatibility 18
4.4.5 Portability 18
4.4.6 Visibility 18
4.4.7 Availability 18
4.4.8 Accessibility 18
4.5 Assumptions 18
4.6 Hardware and Software Requirements 19
4.6.1 Hardware Requirements 19
4.6.2 Software Requirements 19
4.7 Use Cases 19
4.7.1 Sign Up 19
4.7.2 Log In 20
4.7.3 Recruiter Home Page 21
4.7.4 Model Dashboard 22
4.7.5 Add Job Description - For Recruiter 22
4.7.6 Delete Job Description - For Recruiter 23
4.7.7 Edit Profile - For Model 24
4.7.8 Add/Upload Picture - For Model 25
4.7.9 Remove Picture - For Model 26
4.7.10 Initiate Chat 27
4.7.11 Open Model Portfolio 27
4.7.12 Filter Jobs 28
4.7.13 Filter Models 29
4.7.14 Open Job 29
4.7.15 Apply Job 30
4.7.16 Direct to Website 31
4.8 Graphical User Interface 31
4.8.1 Website’s Welcome Home Page 32
4.8.2 Sign Up 32
4.8.3 Log In 33
4.8.4 Home Page - For Recruiters 34
4.8.5 Home Page - For Models 35
4.8.6 Model Portfolio - For Recruiters 36
4.8.7 Job List 37
4.9 Database Design 38
4.9.1 ER Diagram 38
4.9.2 Data Dictionary 39
4.10 Risk Analysis 42
4.11 Conclusion 42
Chapter 5: High-Level and Low-Level Design 43
5.1 System Overview 43
5.1.1 Required Features & Functionalities 43
5.1.2 Discussing Design Approaches 44
5.2 Design Considerations 44
5.2.1 Assumptions and Dependencies 44
5.2.2 General Constraints 45
5.2.3 Goals and Guidelines 45
5.2.4 Development Methods 46
5.3 System Architecture 46
5.3.1 Front end 47
5.3.1.1 Model 47
5.3.1.2 Recruiter 48
The recruiter, after creating account, performs following actions: 48
5.3.2 Back-end 48
5.3.2.1 Server 48
5.3.2.1 Database 48
5.4 Subsystem Architecture 49
5.4.1 REST API 49
5.4.1.1 REST Endpoint 49
5.4.1.2 Decoupling back-end and client services 49
5.4.1.3 API Gateway 50
5.4.2 Mongo DB 50
5.5 Architectural Strategies 51
5.5.1 Technology Stack 51
5.5.1.1 NextJS 51
5.5.1.2 MongoDB 51
5.5.1.3 Python 51
5.5.2 Re-use of existing components 52
5.5.2.1 React Components 52
5.5.2.2 Encryption Modules 52
5.5.2.3 Modules for storage 52
5.5.3 Future plans for extending or enhancing software 52
5.5.3.1 Mobile application 52
5.5.3.2 Variety of Modeling 52
5.5.4 UI paradigms 52
5.5.4.1 Consistency 52
5.5.4.2 Handling the errors 53
5.5.4.3 Information Display 53
5.5.4.4 Dialogues Displays 53
5.5.5 Error Detection and Recovery 53
5.5.6 Memory Management 53
5.5.7 Concurrency 53
5.5.8 Communication Mode 53
5.6 Domain Model/Class Diagram 53
5.7 Sequence Diagrams 54
5.7.1 Sign Up 54
5.7.2 Login 56
5.7.3 Redirect to Home page/ Dashboard 57
5.7.4 Add Job - For Recruiter 57
5.7.5 Delete Job - For Recruiter 58
5.7.6 Edit Profile - For Model 59
5.7.7 Upload Pictures - For Model 59
5.7.8 Remove Pictures - For Model 60
5.7.9 Open Model Portfolio - For Recruiter 60
5.7.10 Filter Models - For Recruiter 61
5.7.11 Open Jobs 61
5.7.12 Filter Jobs 62
5.7.13 Apply Jobs 62
5.7.14 Initiate Chat 63
5.8 Policies and Tactics 63
5.8.1 Tools 63
5.8.2 Coding Guidelines 63
5.8.3 Software Testing 64
5.9 Conclusion 64
Chapter 6: Implementation and Test Cases 65
6.1 Implementation 65
6.1.1 Models Page 65
6.1.2 Jobs Page 65
6.1.3 Model Dashboard 65
6.1.4 Model Portfolio 65
6.1.5 Job listing 66
6.1.6 Login 66
6.2 Test Case Design and Description 66
6.2.1 Sign Up Test Case 66
6.2.2 Login Test Case 67
6.2.3 Recruiter Add Job Description Test Case 67
6.2.4 Recruiter Delete Job Description Test Case 68
6.2.5 Model Edit’s Profile Test Case 69
6.2.6 Model Adds Picture Test Case 69
6.2.7 Model Remove Picture Test Case 70
6.2.8 Chat Initiation Test Case 71
6.2.9 Open Model Portfolio Test Case 71
6.2.10 Filter Jobs Test Case 72
6.2.11 Filter Models Test Case 73
6.2.12 Open Job Test Case 73
6.2.13 Apply Job Test Case 74
6.3 Test Metrics 75
6.3.1 Test Case Metric 75
6.4 Conclusion 75
Chapter 7: User Manual 76
Chapter 8: Conclusion 77
8.1 Summary Report 77
8.2 Project Scope 77
8.3 Challenges Involved 77
References 79
List of Tables vi
List of Tables
List of Figure
Figure 1: Websites Welcome Page 32
Figure 2: Sign Up pages for Un-registered Users 33
Figure 3: Login page for registered users 34
Figure 4: Recruiters Dashboard 35
Figure 5: Dashboard for Models 36
Figure 6: Portfolio page - Visible to Recruiters Only 37
Figure 7: Jobs List for Users 38
Figure 8: Entity-Relationship Diagram 39
Figure 9: High-Level Architecture System 47
Figure 10: REST API 50
Figure 11: MongoDB 51
Figure 12: Class Diagram 54
Figure 13: Sequence Diagram for Sign-Up 55
Figure 14: Sequence Diagram for Login 56
Figure 15: Redirect User to Respective Dashboards 57
Figure 16: Sequence Diagram for Adding Job 58
Figure 17: Deleting Job 58
Figure 18: Sequence diagram for Model Editing Profile 59
Figure 19: Sequence Diagram for Uploading Pictures 59
Figure 20: Remove picture - Sequence Diagram 60
Figure 21: Open Model's Portfolio - Sequence Diagram 60
Figure 22: Sequence Diagram to Filter Models 61
Figure 23: Models Exploring New Jobs 61
Figure 24: Filtering Jobs 62
Figure 25: Applying for new Job 62
Figure 26: Sequence Diagram to Initiate Chat 63
1
Vogue Splash
Chapter 1: Introduction
Newbies entering the Fashion Industry mostly rely on modeling agencies who have deep
contacts with the designers or brands for their hiring process. For such fashion houses, models
are their most important assets as they represent their work around the globe. But this process
of involving a middle-man has led to the introduction of grave issues like: biased selections,
favoritism, no transparency, authentication and much more. Purpose of these agencies is merely
to create good and appealing portfolios for these models and refer them to the recruiters, but
for this process individuals are charged or worse a commission is set [1]. Apart from this,
recruiters also have contracts with these agencies and pay them huge amounts.
After evaluating all these setbacks, we came up with the idea of regulating and revolutionizing
the fashion industry by introducing transparency and authentication to the process. Our project
“Vogue Splash” will serve as a platform for unbiased hiring and appropriate selection of
models. Recruiters and models will be the biggest beneficiaries of this. Models will be
categorized into their types and kinds. And this will allow the recruiter to easily filter and scroll
through various profiles and select the right candidate for the right job. This app will provide
100% authenticated & verified data. Authentication will be provided by implementing smart
AI, by voice recognition or face detection algorithms. This will allow model verification to
provide the recruiter with the willing and the purest talent. This will in turn stop favoritism,
provide authentication and avoid the process of dependency.
So, after analyzing the above problem, our project will provide an ideal solution to it. In this
chapter we will talk about the purpose of this paper, our target audience, and some referral
words. In the next chapter, we will throw light on the domain of our problem and its evaluation,
the aim, scope and objectives of our project, and the main points covered in SDG. Succeeding
chapter 3, will mention and discuss some already existing literature in the field of our project.
And lastly, chapter 4 will elaborate the project features, its requirements and will provide us
with some low-level system designs like the UCD, ER-diagram and the GUI.
In short, this SRS document's main goal is to give readers a thorough overview of our software
product, including all of its features and objectives including its major functional and non-
functional requirements. Added to it, this paper will also give detailed information about the
project’s target audience, its market value, and the basic software and hardware specifications.
Apart from this it will also provide a high-level architecture design of our system for explaining
the user interface.
2
Introduction
1.4 Conclusion
Thus, to conclude, our project will provide an ideal solution to unbiased hiring and favoritism.
The above-mentioned information will help you in discovering the succeeding chapters of this
paper. As the role of mediator will be excluded, the recruiter and the model will be able to
interact with each other without any hindrance and trust issues. The succeeding chapters will
throw a complete and comprehensive light on how this project will be constructed and some
insights to the project development will also be discussed.
3
Vogue Splash
A platform for those looking to break into the modeling business is Vogue Splash. An app that
revolutionizes the modeling industry and is built on authenticity and includes features that
absolutely diminishes the chances of scamming, making the process of hiring models
trustworthy for the recruiters.
Additionally, it makes it easier for modeling agency recruiters to find the top talent quickly.
Similarly, Models can find jobs offered by the recruiters. The application also provides filtering
options which makes it easier to select the type they want. So overall, the app helps the models
to find jobs and the recruiter to find models. The aim was to create an ease for the modeling
industry and bring a revolution.
Our platform will allow two types of users to create their profile: Model and Recruiters. You
can sign up as a model or you can sign up as a recruiter. The recruiters can see the model’s
profile and can search on different filters like ethnicity, age, height, eye color, and complexion.
After finding the model, the recruiter can send the request for chat and after agreeing on terms
and conditions, can have a live chat with the model.
You can also sign up as a model if you dream of becoming one. You will register yourself as a
model. During the signup process you will give your information and a picture of yourself
facing towards the screen. After you sign up, you will have a separate profile of yourself on the
platform. This picture will be verified with the original to avoid scams. Also, an AI based audio
will also be generated to filter out the bots. You can add pictures of yourself in different poses.
The recruiter can also rate you based on your interaction with them. The recruiter can also post
jobs on the feed which will help model find the job which suits them.
In conclusion, the app is helping the recruiters to find their desired model for the promotion of
their product or company or any type of promotion by allowing them to register on our website
and then searching for the type of model and then by negotiating with them. Similarly, it also
helps young and potential models to make their profile and have themselves a chance to become
a model and achieve their dream.
4
Project Vision
You can see that all the agencies have very few followings. So, in order to hire models or recruit
them, they conduct auditions. These auditions are very much expensive and time consuming.
And for the people who want to become models, it is time consuming for them too. They, as
explained earlier, have to travel to other cities, spend money, and buy different grooming
products just for the sake of auditions. It requires them to do a lot of work.
In Pakistan, typically, white complexion is preferred for models, but if we see from the
perspective of other people in the globe, they prefer all skin colors for models. In Pakistan, we
have such talent but there is no platform for them which can help them make a profile for
themselves. Overall, the problem is finding the perfect model and finding the best recruiter for
you.
But by using vogue splash, they can specify all the domains and categories they can fall in, so
that if any recruiters want to recruit them, they can just categorize them and find the right one.
Also, Vogue Splash is also giving a platform to recruiters to find the best model for their job.
This is done to minimize the efforts of taking the auditions and to spend the least amount of
money in the process of hiring.
Overall, the traveling costs, arrangements cost, labor, security, and logistic work is totally
minimized and is shifted to a web. It also makes it easier for the recruiter because it also has
the rating system. The best rated models will be at the top of the feed making it even easier for
one to find.
5
Vogue Splash
It will allow the recruiters to create a profile for themselves as recruiters and select the type of
model they want. And for the model, it will allow them to create their profile, add pictures and
their several other features.
Overall, the project saves the time of both the parties which would have been spent on
auditions, logistics, traveling and maintenance etc. The whole hiring process of the models will
be done online now.
Likewise, In Africa, dark complexioned models are more preferred. So, this limits the potential
to a level leaving those behind who do not fulfill the criteria of their specific geographical
region. But Vogue Splash provides a facility for everyone to make their profile and fulfill their
dreams. This app will work globally as anyone can be recruited by any agency around the
world.
2.7 Constraints
Following is some of the limitations and constraints that are important for the application
design:
1. Standard,
2. Silver, and
3. Platinum.
If the recruiter wants to access the top-rated model, he/she will have to subscribe in order to
get full access. The subscription will help find the perfect and top models with ease.
The second type of users will be the people who wish to become models. These include all
categories of people like students, jobbers, employees etc. Anyone who wishes to become a
model can use this application.
The cost minimization is for both recruiters and models. The chances of using a fake identity
in the application is completely minimized as it could have been a problem in the application.
This was one of the major goals that was to be achieved when coming up with the idea of
Vogue Splash. Additionally, another goal was to make the hiring and recruiting process easy
as it sometimes cost a lot of money to travel and also for the setups of the auditions space.
2.10 Conclusion
So, to conclude this section, we basically aim to provide a better solution in the hiring and job
finding process in the modeling and fashion industry. The web application will totally aim to
bring ease and convenience in the processes. It gives authorities to the model and to the
recruiter to pick any model of their choice and contact them. It also focuses on minimizing the
possibility of scamming the people. The next chapter provides a detailed literature review and
the work which has been done so far in this field and also focuses on the problems faced by
both the models and the recruiters.
8
Literature review/ Related Work
3.2.1 LinkedIn
Literature Name: LinkedIn [2]
3.2.2 ModelManagement
Literature name: ModelManagement.com [3]
Modelmanagement.com is a popular platform in the US and has thousands of users. Only the
android app has 100K+ downloads. The platform has a good reputation and is quite popular
amongst the modeling community. This proves that the visual artists community has users
ready to use such a platform
In his article Jann Seal goes over the various exploitative behaviors that go on in the fashion
and modeling industries. He talks about the exploitation of teenage models and how they are
paid very little for their work. He goes on to explain how the reason behind this is Modeling
Management Services. The difference between modeling agencies and modeling management
services is that by law agencies are capped to charge the model no more than 20% of their
10
Literature review/ Related Work
earnings from a job. However, there is no such law for such services. Some management
services charge up to 70% or even more. He goes on to explain how there have been various
attempts at forming unions and protest against these organizations but due to the nature of the
industries and how strong these services are this has all been for naught. The organization
would often retaliate by making models unable to get hired anywhere if they spoke up about
the issues caused by the services
They had 271 responses in a 7-hour period. 256 or 94.5 % of the responses were flagged as
possibly fraudulent of which 15 or 5.5% were proven false positives. 86.7 % of responses
followed patterns of fraudulent data.53.9 % were duplicate responses and showed clear bot
behavior.
Literature name: CAPTCHA: Hard for Humans, Easy for Bots Liel Strauch and Hadas
Weinrib 26 march 2020 [8]
13
Vogue Splash
3.2.8.1 Summary of the research item
Strauss and Hadas discuss how captchas that were really useful once upon a time are now the
exact opposite. Captchas have evolved over the years to keep up with development of AI and
bots. However, this has made captchas harder for humans and easier for bots. There are many
APIS that can be used to code bots that allow you to surpass captchas. The article goes on to
list a few of these APIS like: GRIS, Alchemy, Neural Talk and the most popular DeCaptcher.
Writers, Publishers,
No. Name, reference Year Description
Founders
Reid Hoffman, Jean-
Luc Vaillant, Online Recruitment
1. LinkedIn 2005
Konstantin Guericke, Platform/Network
Eric Ly, Allen Blue
modelmanagement.co Online model management
2. modelmanagement.com N/A
m agency
Discusses the various
exploitative practices in
09
the modeling industry and
3. Bad aspects of modeling Jann Seal October
the negative role of
2022
Modeling Management
Agencies
Threats of Bots and Other Bad
Actors to Data Quality Rachel Pozar Discusses the issue of bots
Following Research Marilyn J Hammer 30 July in online recruitment
4.
Participant Recruitment Journal of Medical 2020 processes
Through social media: 7 Internet Research
Cross-Sectional Questionnaire
Detecting, Preventing,
Discusses how bot can
and Responding to render survey data useless
Spring
5. “Fraudsters” in Internet Jeniffer EF Teicher by adding bogus and
2015
Research: Ethics and duplicated responses to
data.
Tradeoffs
Common LinkedIn scams: Discusses the Various
9 May scams on LinkedIn a
6. Beware of phishing attacks Andre Lameiras
2022 popular online recruitment
and fake job offers
site.
How effective is CAPTCHA? Discusses how current
Why it’s Not Enough for Bot
29 March
7. DataDome captcha systems are now
2019
Protection useless against bots.
15
Vogue Splash
3.4 Conclusion
The literature proves that there is a need for an online, unbiased platform for visual artists of
all sorts including but not limited to models, actors and voice actors etc. There is a need for a
platform that does not discriminate between models and prevents the need for exploitative
organization. The platform must provide equal chances for any and everyone who wishes to
move forward in their career as a visual artist. The literature also brings to light the issues that
need to be addressed during this process. We need to address issues like the abundance of bots
and scammers. We also need to find optimal methods to fight against bots and spammers as the
literature shows that existing methods like reCAPTCHA are proving to be less than useful.
16
Software Requirement Specification
4.4.1 Performance
The application is web-based so many users will be accessing it at a time. The system would
be able to handle at least 50000 users at a time.
4.4.2 Sustainability
The application can be run on any browser provided that hardware specifications are met.
4.4.3 Usability
The interactive UI will make the system easy to use and users can run the application easily.
4.4.4 Compatibility
Windows 10 or advanced or Ubuntu or MAC can support our web application. Firefox, chrome,
and opera all can be used to run the application. Also, it will run on android and IOS browsers.
4.4.5 Portability
The application can be run on Windows 10 or any other without any change in its behavior of
performance.
4.4.6 Visibility
All the models registering in the app will have equal visibility.
4.4.7 Availability
The web will be available to all the users 99% of the time.
4.4.8 Accessibility
Everyone will be able to access our website. Mainly for the people who wish to become models
and those who want to recruit models.
4.5 Assumptions
For optimal user experience we recommend the users have:
● A modern Chromium based browser.
● Any device with internet.
19
Vogue Splash
● Any device with a functional microphone and camera.
4.7.1 Sign Up
Name Sign Up
Sign up can be done through separate accounts for recruiters and models.
Summary Two types of profiles can be created: Recruiter and a model. Sign up can
be done through Gmail.
Special
None
Requirements
20
Software Requirement Specification
Basic Flow
The polaroid photo page opens up for System saves these polaroid images in the
7 8
the user. database.
Alternative Flow
4.7.2 Log In
Name Log In
Special
None
Requirements
Basic Flow
The user enters the email and The system verifies if the email and
3 4
password password are correct or not.
Alternative Flow
Actors Recruiter
Special
None
Requirements
Basic Flow
22
Software Requirement Specification
The user open or is redirected to home The system displays models based in a
1 2
page random order
Alternative Flow
Models will be shown Dashboard and can view their profile and profile
Summary
statistics.
Post-Conditions The model is shown information about their profile and profile statistics.
Special
None
Requirements
Basic Flow
The user open or is redirected to home The system displays models based in a
1 2
page random order
Alternative Flow
Recruiter can add a job description which a model can see and apply for
Summary the job.
23
Vogue Splash
Post-Conditions The user will write a description and can post it on the feed.
Special
None
Requirements
Basic Flow
The user will click on the add job The system displays a page where empty
1 2
button. text fields are shown.
Alternative Flow
Special
None
Requirements
Basic Flow
24
Software Requirement Specification
The recruiter goes to profile on job The system displays all the job
1 2
descriptions. descriptions by the recruiter
Alternative Flow
Post-Conditions The model is shown information about their profile and profile statistics.
Special
None
Requirements
Basic Flow
The user opens or is redirected to their The system displays model profile
1 2
profile page. information regarding their credentials.
Alternative Flow
Post-Conditions The model is shown information about their profile and profile statistics.
Special
None
Requirements
Basic Flow
The user opens or is redirected to their The system displays their uploaded
1 2
profile page. pictures.
5 User uploads the new picture. 6 The system fetched the new picture.
Alternative Flow
Special
None
Requirements
Basic Flow
The user opens or is redirected to their The system displays their uploaded
1 2
profile page. pictures.
Alternative Flow
The chat box will be opened and the recruiter and model can chat to
Post-Conditions
come on agreement terms.
Special
None
Requirements
Basic Flow
Model or recruiter can visit each The system will direct the person to the
1 2
other’s profile profile.
3 The user can click on start chat button 4 A chat box will be open.
Alternative Flow
Special
None
Requirements
28
Software Requirement Specification
Basic Flow
Alternative Flow
Special
None
Requirements
Basic Flow
The user enters their search The system queries for the users search
3 4
requirements and clicks search requirements and shows relevant results
Alternative Flow
Special
None
Requirements
Basic Flow
The user enters their search The system queries for the users search
3 4
requirements and clicks search requirements and shows relevant results
Alternative Flow
Special
None
Requirements
Basic Flow
30
Software Requirement Specification
Alternative Flow
Pre-Conditions The model must be on the page for the specific job
Special
None
Requirements
Basic Flow
Alternative Flow
1 The user opens the website. 2 System displays the main page
The user clicks on sign up as a model The system redirects to the desired
3 4
or sign up as a recruiter registration form
The user logs in if already has an
5 6 The system asks for credentials.
existing account
Alternative Flow
This follows the use case under the heading 4.7.16, all the basic and alternate communication
flows are mentioned there and pictorially shown here in figure 1.
4.8.2 Sign Up
When any user visits our home page, they are asked to identify them as what kind of user they
are. And after clicking their related field, they will be directed to this Sign-Up page. Here, we
will ask users to register themselves, by creating a new account. For this they will be required
to enter a valid email address and a strong character-based password. Instead of providing a
new email user can create their account using their already existing Google accounts. If they
33
Vogue Splash
already have an account, they will be able to choose another option of “LOGIN”, where they
will be directed to the login page.
The use case written under heading 4.7.1, clearly shows the order of communication between
an end-user and our system. The figure for Sign-up GUI can be seen in figure 2.
4.8.3 Log In
This page is a redirection of the user interface from the signup page, because the user already
had an account. So, this page will be viewed only by the registered users. They will enter their
required & registered credential details, so that they can browse through the other options this
website will offer them.
The use case diagram jotted down in heading 4.7.2 depicts clearly the basic flow of services
offered between the end-user and our system. And an alternate flow shows if the user entered
invalid credentials. And if the user is not registered then they are given an option to go back to
34
Software Requirement Specification
the sign-up page. Figure 3 (below), clearly gives us the visuals and end-user will see at the time
of logging in.
The use case penned in the heading 4.7.13 of chapter 4 throws light on the flow of actions that
will be taken when an end-user communicates with the system. It clearly shows that after an
action taken by a user as a recruiter will be able to view models of their set preferences.
35
Vogue Splash
This page follows the same flow as in the use case 4.7.4 of chapter 4. The Other options on this
page like editing profile and adding or deleting a picture follow use case 4.7.7 to 4.7.9
respectively.
This follows the use case of an open model portfolio mentioned in 4.7.11.
37
Vogue Splash
The job list uses the flow of use case 4.7.12 to filter and search for jobs and uses the flow of
use case 4.7.15 to apply for a job. See figure 8 for more visual representation.
38
Software Requirement Specification
4.9.1 ER Diagram
Mostly referred to as ER Diagram means an entity-relationship diagram (ERD). It is a way to
represent the relationship between various entities existing in a systems database design.
Following is a schematic diagram to represent this relationship.
39
Vogue Splash
Password of the
Password String No
account
Profile picture of
Profile Picture String No
model
Number of times a
complaint is
Warning Count Int Yes
launched against
model
Recruiters
Email String No Email of recruiter
Company of
Company String Yes organization the
recruiter belongs to
Id of recruiter in the
Recruiter ID String No
chat
Chat Id of model in the
Model ID String No
chat
Id of chat the
Chat ID String No
message belongs to
Timestamp of when
Timestamp Date/Time No
message was sent
Id of model being
Model ID String No
verified
4.11 Conclusion
As, this project will be a website catering mainly two types of users, so it offers those
functionalities that will make the interaction between them more efficient. A detailed writing
states all our functional and non-functional requirements, with GUI snippets showing the
features that will be implemented. Added to this as this is a website so the software and
hardware specifications of our project are quite minimalistic. Moreover, the ER diagram shows
mainly seven entities, interacting with each other that makes the database of our project. The
data dictionary clearly shows how each attribute within them has a unique task of their own.
This database design is pruned to changes with project development and feature requirements.
43
Vogue Splash
Added to this, we will be also mentioning the considerations taken into account, added with
some assumptions and dependencies associated with our project. Furthermore, in this chapter
we will also provide our system architecture designs as well as our architecture diagrams. A
class diagram will be drafted to support our implementation design as well. And to the end we
have mentioned some policies and tactics that will be taken into account.
Added to the above features we aim at creating a system that offers a vast range of services and
do not compromise our non-functional requirements of performance, sustainability, usability,
compatibility, and many others as discussed in chapter 4.
44
High-Level and Low-Level Design
1. Architectural Design:
This will be an abstract design, explaining the system and its modules interaction at a very
basic level. So, that an individual can get an overview of how the system will interact with
its components. A detailed information and an assorted diagram are provided under sub-
heading 5.3 and 5.4.
2. High-Level Design:
Here we will pick each module, described in level 1 – Architectural diagram and will
further split it into sub modules to show the communication at a less basic and less abstract
level. So here we will give a more modular structure of each module defined above, and
we will show interaction between each one of them. A number of various famous diagrams
fall under this category like data flow diagrams, class diagram, etc. Class diagram for our
system is given below under sub-heading 5.6.
3. Detailed Design:
Also known as the low-level design, our subheading 5.7 refers to fourteen sequence
diagrams of our system. They are describing our system, its modules, sub modules at a
very basic and detailed level one by one. Mostly known as the logical design view of the
system.
We have given the details of each of the design in the proceeding chapters with full depth.
2. End-user Environment
Users can use our web application through high-speed internet and browser.
4. Interface/Protocol Requirements
Http protocols will be used for communication between client and server. Interface will be
implemented on react with browser.
6. Security requirements
Application will include authorization and authentication like login, signup and AI
authorization.
9. Language constraints
People who understand/speak English can use this app.
There are a wide range of constraints that can affect the performance of a system, but the ones
chosen above are considered to hold utmost importance on its impact on our software’s system.
• We will be implementing the KISS principle that says, "Keep it simple stupid!". This
way we try to achieve simplicity at the design and system level.
46
High-Level and Low-Level Design
• Try not to add complex things in order to cater problems that might occur in the future.
Thinking about future is good but adding complexity to present task is not intelligence.
• Ensuring that our design and system implementation is clear and vivid enough to
interact with users. Our success would be if our users our able to interpret our GUI and
see what part of system would do what tasks.
• Same design layout should be used for smoothness in GUI.
• We should try to minimize user interaction in terms of their finger or hand involvement
by aligning interactive buttons in their range.
• Agile Methodology:
This methodology is used because, as our deliverables have a gap of 3 - 4 weeks so our
tasks would be divided into such time spans. This will make our weekly interaction with
our advisor more efficient.
• Scrum Methodology:
Scrum is a subset of agile. And its daily scrum meeting will allow all our group members
to interact daily to discuss project status. There are almost 4 types of scrum meetings that
allows us to interact with our advisor as well as get feedback from our FYP panel.
The system of the application is separated into the following subsystems or components, as
indicated in the figure, and each of them has a specific set of duties that will be briefly
discussed.
5.3.1.1 Model
The model will be able to register and login into the web application. Also, the other main
functionalities of the model are:
• Add/remove picture
• View jobs
• Chat
• Apply Job
• Rate directors
The admin completes these responsibilities by just making queries to the server to get a record
about a customer who has been acting controversially from the database. The database sends
information gathered and changes are made according to the requests. Database stores a
complete history of these uses cases and on certain actions, actions are performed on databases.
48
High-Level and Low-Level Design
5.3.1.2 Recruiter
• Create account
• View Home Page
• View Model
• Add/Delete Job
• Chat
• Hire Model
• View Model Profile
The recruiter’s information is communicated to the server via APIs whenever they make
changes to any aspect of their functionalities. The server then makes a request to the database.
After that, the database retrieves the record for that specific user and modifies it using the data
from the packet that the server sent to the database with the updated information. Each action
the user does is transmitted to the server using APIs and changed information about the user is
then transmitted to the database via a packet.
5.3.2 Back-end
Following are the back-end components required for our application:
5.3.2.1 Server
The primary responsibility of a server is to handle requests from users, which can be anything
that the user asks an application to do. A response is a message that the server sends to the user
in response to that request. For example, if a user wants to remove his/her picture, he clicks the
delete button. Then an effective request is sent to the server, to the relevant API. The server
identifies the appropriate method. After completing its functionality, the server informs the
user about its action status. This is known as a response. It is a JSON response. It can be a
JSON object or a HTTP status code or even a message “404-Not Found.”
Since it houses the application's business logic, the server oversees accepting requests from the
client and processing them accordingly. A Model-View Controller (MVC) or any other
variation of it would be very helpful to allow the smooth transfer of data from the front-end to
the server and to the database and vice versa because it allows for enough abstraction between
these various design elements to prevent interference in one another's internal workings, which
aids in code optimization.
5.3.2.1 Database
The database contains the information regarding all the models and the recruiters. It replies to
the server's requests to retrieve or modify data. Depending on the type of functionality the
server is executing, the decision to retrieve or modify data will be made.
For example, when a recruiter wants to delete the job, the job id is sent to the server which
executes the function to delete the job. Since this function requires the data regarding the post,
it sends a DELETE request to the database server to delete the job with the particular ID.
49
Vogue Splash
On the other hand, certain instructions demand that a specific entity be altered. A user could
ask to update their password, for instance. In such instance, a request containing the new
password is sent to the server and stored in the database. The database then uses the user's main
key variable to get the record for that user, and it replaces the password in the user's data object
with the new value it got from the server.
Stateless communication exists between the client and the server. That means that each
communication between the client and server is equivalent to a brand-new one. No data or
memory from the earlier conversations has been retained. As a result, each time a client
communicates with the backend, the client must also transmit the authentication data. This
makes it possible for the backend to determine whether the client has permission to access the
data.
The client interacts with the backend endpoints when a REST API is implemented. This
completely separates the client code from the backend code.
Developers can use several REST implementations for various customers, utilizing various
technologies with distinct codebases. A tablet, a mobile browser, a desktop browser, or an API
testing tool are examples of different clients that can access a single REST API. The backend
service's functioning is unaffected by the addition of new client types or changes to the client
code. Clients and the back-end service are therefore separated.
50
High-Level and Low-Level Design
5.4.1.3 API Gateway
A single point of entry or a gateway into the system is the REST-API. Before granting access
to the application resources, it takes care of the authorization, authentication, sanitizing the
input data, and other relevant duties by encapsulating the business logic and handling all client
requests.
We now understand what a client-server architecture is. We are also familiar with REST APIs.
It serves as the interface, and HTTP is used for all communication between the client and the
server.
5.4.2 Mongo DB
Without the use of relational tables, MongoDB stores data in a non-tabular way. Instead, key-
value pairs will be kept in a Document database format as JSON objects. Data retrieval in a
NoSQL system is like indexing in dictionaries in that it may be done without using SQL
commands.
Additionally, NoSQL databases are better suited to the quick agile development procedures
used in current software engineering, which speed up development. Since the database is stored
in a JSON format, it is simple to translate data so that the front-end and back-end servers can
read it, and we have more control over the database's structure.
51
Vogue Splash
The extensive documentation that MongoDB offers us was the main factor in our decision to
use it as our NoSQL database provider.
5.5.1.1 NextJS
NextJs is what we'll be utilizing for our application. The most well-known front-end react
framework, it offers server-side processing (SSR) and static site generation (SSG), which
significantly boosts the efficiency of online applications. Additionally, it has integrated CSS
support and API Routes, which may establish dynamic endpoints to offer backend
functionality.
5.5.1.2 MongoDB
For all the data to be stored, we will use MongoDB in our project. It stores large amount of
data and provide free services for database access. It is also a popular NoSQL database. All the
chats and details of model and recruiter will be stored in MongoDB. It also supports fast
retrieval.
5.5.1.3 Python
For our artificial intelligence portion, we will be using python language. We will use open CV
for face recognition and pyDub for speech recognition. It uses engines of various types like
google speech recognition, and Microsoft speech recognition.
52
High-Level and Low-Level Design
One of the most popular packages for working with passwords in JavaScript is the Bcrypt npm
package. You never save a password in plain text in the database or anywhere else. This is
security guaranteed, but it's worth emphasizing for novice devs.
The development of web applications that can be accessed on any platform using a browser is
our top priority. However, in the future, we intend to create a mobile application so that users
can access the Vogue Splash application through their smartphones for their convenience.
5.5.4 UI paradigms
Our user interface will include the following set of rules:
5.5.4.1 Consistency
The use of similar design patterns, identical prompt terminology, uniform menus and screens,
and consistent commands across the interface are all examples of consistent user interfaces.
Avoid creating confusion by utilizing a variety of colors, unrelated fonts, and styles.
53
Vogue Splash
5.5.4.2 Handling the errors
Make the UI as user-friendly as you can by avoiding critical user errors. If a user makes a
mistake, make sure to provide them with a straightforward explanation of the mistake and a
straightforward solution to fix it.
5.5.7 Concurrency
Initially the application will be single threaded, but for achieving concurrency and saving
callbacks, we will make sure to use multi-threaded programming.
5.7.1 Sign Up
This is the sequence diagram for out Website’s Sign-up process. The User is greeted with the
sign-up page when they choose to sign up. They are prompted to enter basic information like
name, email, password and to choose whether to be a recruiter or a model. They are then
redirected to another page once the previously entered information is validated. This page
prompts them to enter the main information including a profile picture and then they are
prompted get verified using voice note method. The user is given a string of words and asked
to speak them in the microphone to weed out bots. Users are then prompted to do a face
55
Vogue Splash
recognition verification the users are prompted to open the camera and take a picture. Figure
13 is validated with the previously submitted profile picture to ensure that this is not a scam
account. Once this is done users are redirected to their new account.
5.7.2 Login
As shown in Figure 14 below, here the user is prompted to enter credentials. The system checks
the credentials. If credentials are verified user is logged in otherwise the user is shown and
error message and taken back to login page.
5.8.1 Tools
For both front-end and back-end development, we will be using the vast range of features
offered by the latest version of Visual Studio Code. Our Graphical User Interface (GUI) will
be also be implemented using the same application.
• MongoDB will help us to store the large amount of data with its vast range of in-built
functionalities.
64
High-Level and Low-Level Design
• We will be utilizing Python as our high-level programming language for
implementation of our artificial intelligence portion. Python libraires like open CV will
be used for our face recognition and its pyDub will help us in speech recognition.
• React will be used for our front-end GUI implementation. For this purpose, we will be
utilizing a very strong React framework of NextJs, that offers a vast range inbuilt
feature.
• For our back-end development we will be using Node as our programming language.
5.9 Conclusion
In this section we took a deep dive into our system’s design at a Macro and Micro level. We
also gave and discussed our architectural diagram and our detailed sequence diagram also
helped us to through light at our systems’ sub modules. Furthermore, we also discussed some
constraints that might affect our system and some guidelines that will help improve our
system’s performance.
65
Vogue Splash
6.1 Implementation
This section goes over the parts of our project we have implemented so far. In our case we
decided to work on the front-end first. This will in turn provide us a smother experience when
implementing the back-end of our project. The front-end allows us to envision and narrow
down exactly what kind of an experience we want for our users and thus tailor our project to
their needs. We will be using the MERN framework for this project and thus our front-end
consists of HTML, CSS and the ReactJS framework. We decided to design the basic pages like
the Models page, the Jobs page and model dashboard before we go towards our Sign-up page
as the sign-up page is tied in closely with out back-end.
6.1.6 Login
The login page is for users to enter credentials and log in. From this page users are redirected
depending on whether they are a model or a recruiter.
Sign Up
Login
Comments:
All test cases passed
Chat Initiation
Filter Job
Filter Model
Open job
<Reference>
Test Case ID: 12 QA Test Engineer: Abdul Muizz
74
Implementation and Test Cases
Test case Version: 1 Reviewed By: Ayila
Test Date: 23-04-23 Use Case Open job
Reference(s):
Revision History: None
Objective: Model can open a job page by clicking on job listing
Product/Ver/Module: Refer to overall system being built and the place of this test case in it.
Environment: Any up-to-date browser
PC/Laptop
Assumptions: The system is connected to the internet
Pre-Requisite: The model is on job page
Step No. Execution description Procedure result
1 Model clicks on job listing Model is redirected to job page for the
listing
Comments:
All test cases passed
Apply job
6.4 Conclusion
As till now you might have learned that the first prototype of our project will be our
development of our GUI pages. So, creating independent and user-friendly GUI pages was our
first development task. Details are given above on how this task was achieved and what core
things were involved in this process. In the preceding chapter we will focus on what we have
achieved up till now and what will be our future plan.
76
User Manual
• Any user can start using our application by visiting the registered website link.
• When you visit the website, you will be asked if you are not registered then you can
register yourself either as a model or as a recruiter. Else you would have the option of
Login, if you are an already registered user. (You can explore our website without
registering too).
• After a Model is signed up, they will be redirected to a page where they will be required
to verify themselves, and then that will make the user as a registered and authenticated
model.
• Let’s start our road map if you are visiting our website as a Model, then you will be
able to achieve the following operations.
o Visit your portfolio, and see the way your uploaded media is and checkout
which image of yours have received most likes.
o You can edit or change your profile picture by clicking on your profile picture
on your upper left-hand side.
o If you click on the “Castings” option you will be redirected to another page
which will display before you all the available and open jobs.
o You can click on a particular job description, where you will be redirected to a
page that will display before you all the required information given by the
recruiter and you can apply for that job.
• Now, let’s start our road map if you are visiting our website as a Recruiter, then you
will be able to achieve the following operations.
o You can filter any kind of model by setting the various range of available filters,
and then short list the models according to your model.
o You can also view the Model’s Portfolio, as by clicking on their image you will
be redirected to their self-profile, where you can view their images and leave a
like or message the user, or even connect with them by sending them a casting
notification.
o Added to this, if you click on the add job button on your upper right corner, then
you will be redirected to a page where you will be given a form to fill in to
create a perfect job description post for you.
• Apart from this in the top navbar, you have the option to visit our homepage and our
about page if you are not our registered users.
77
Vogue Splash
Chapter 8: Conclusion
In all of the previous chapters we have mentioned and discussed in detail everything that is
required to start the development of software project. In this chapter we will summaries all of
our projects finding. We will also throw light what scopes and objectives of our projects were
discussed. At last, we will also discuss the challenges we conquered during this process. Added
to this we will also try to devise a plan for future development of our project.
So, we aimed to provide these services to mainly only two types of users namely the recruiter
and the model. Our project vision clearly mentions and discuss all kinds of goal and objective
associated with our project and any problem or constraints that might add any hindrance to our
process in chapter 2. We have discussed in full detail all the services and features that will be
available for the respective user in chapter 4. Added to this, we have given all assorted diagrams
to aid every claim that we made to achieve our goal. Fully detailed and described high- and
low-level designs are discussed in chapter 5.
Some other challenges associated with our project is that we have to bring both our users on a
common platform and built their trust for using our website as their sole source of interaction.
Added to this we have to make things clear to the user that their data will be extremely
confidential and no kind of hate speech will be propagated here unlike social media platforms.
And similarly make this clear between the users that this is not like any other social media
platform.
78
Conclusion
Furthermore, some challenges might accompany us in the future in terms of learning new
technology for implementing the authentication work using algorithms of machine learning.
We also must handle the challenge of storing the large amount of media database received from
the model user.
79
Vogue Splash
References
[1] What is a modeling agency? Available:
https://www.countrygirlmanagement.com/free-stuff/blog/what-is-a-modeling-
agency/#:~:text=A%20modeling%20agency%20is%20a,they%20connect%20their%20m
odels%20with.
[2] LinkedIn, Available: https://www.linkedin.com/signup
[3] ModelManagement.com, Available: https://www.modelmanagement.com/
[4] Jann Seal, “Bad Aspects of Modeling”, Oct 09, 2022. Available:
https://work.chron.com/bad-aspects-modeling-23375.html
[5] Rachel Pozar, “Threats of Bots and Other Bad Actors to Data Quality Following Research
Participant Recruitment Through Social Media: Cross-Sectional Questionnaire”, Vol 22,
No 10, October, 2020. Available: https://www.jmir.org/2020/10/e23021/
[6] Andre Lamieras, “Common LinkedIn scams: Beware of phishing attacks and fake job
offers”,May9,2022.Available:https://www.welivesecurity.com/2022/05/09/common-
linkedin-scams-phishing-attack-fake-job-offers/
[7] Data Dome, “How Effective is CAPTCHA”, Mar 20, 2019, Available:
https://datadome.co/bot-management-protection/traditional-captcha-obsolete/
[8] Leil Strauss and Hadas Wienrib, “CAPTCHA: Hard for Humans, Easy for Bots”, March
26,2020.Available:https://www.perimeterx.com/resources/blog/2020/captchas-hard-for-
humans-easy-for-bots/
[9] Charles Q. Choi, “1.4.3 Artificial Intelligence Beats CAPTCHA”, October26, 2017.
Available: https://spectrum.ieee.org/artificial-intelligence-beats-captcha#toggle-gdpr
[10] Jennifer E. F. Teitcher, Walter O. Bockting, José A. Bauermeister, Chris J. Hoefer,
Michael H. Miner, and Robert L. Klitzman, “Detecting, Preventing, and Responding to
“Fraudsters” in Internet Research: Ethics and Tradeoffs”, December 4, 2015. Available:
https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4669957/