Vogue Splash

Download as pdf or txt
Download as pdf or txt
You are on page 1of 91

National University of Computer and Emerging Sciences

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

FAST School of Computing


National University of Computer and Emerging Sciences
Lahore, Pakistan
April 2023
Anti-Plagiarism Declaration
This is to declare that the above publication produced under the:

Title: ____Vogue Splash_________________________________________


is the sole contribution of the author(s) and no part hereof has been reproduced on as its basis
(cut and paste) which can be considered as Plagiarism. All referenced parts have been used to
argue the idea and have been cited properly. I/We will be responsible and liable for any
consequence if violation of this declaration is determined.

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

Table 1: Products and Literature Reviewed 14


Table 2: Data Dictionary for Database design 36
List of Figures vii

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.

1.1 Purpose of this Document


The objective of this document is to give a thorough rundown of the project to the reader. This
report will be a guide to people evaluating our project, by giving them details about the
problems and how our product will serve as a solution to that problem. It will also aid the
development team in their development process, by providing them a set of helpful diagrams
and fasten their process of collecting and analyzing the assorted ideas.

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.2 Intended Audience


Mainly, our focus will be on people who don’t have time to search for various models on social
media accounts or the people who don’t have time to visit agencies to boost their talent. To use
the services, all our audience needs is an internet connection. So, the intended audiences of this
project are:
● Fashion hub recruiters
● Models

1.3 Definitions, Acronyms, and Abbreviations


Following are some terms and acronyms that will be used in our report in the succeeding
chapters:
● SDG: Sustainable Development Goal
● Vogue Splash: refers to our project and website name
● SRS: Software Requirement Specifications
● ML: Machine Learning
● AI: Artificial Intelligence
● MERN: it stands for MongoDB, Express, React, Node, these four technologies make
up the stack that is used to develop our project.
● SDLC: Software Development Life Cycle
● DB: Database
● ER: Entity Relationship design of database
● UCD: Use Case Diagram
● GUI: Graphical User Interface
● UI: User Interface
● Filters / filtering system: A way to narrow down the options in each category.
● JD’s: Job Description

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

Chapter 2: Project Vision


It is now challenging for recruiters to identify models on social networking sites and in
publications. Finding them takes a lot of time and effort. Additionally, it might be challenging
for those who desire to pursue modeling to travel to numerous places for auditions.
Additionally, there are many hiring model priorities. For instance, some want folks with dark
skin, while others demand light skin, making it challenging to locate the ideal candidate for the
promotion.

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.

2.1 Problem Domain Overview


Vogue Splash is a platform for the people who wish to become a part of the modeling industry.
It also helps recruiters of the modeling agency to look for the best talent or their type of talent
in no time. They can recruit the model on click, which will direct them to messages and if they
agree on the terms then finalize their meeting on the video call. Once all the terms and
conditions are met, the recruiter can then cast the model for the shoot and the show.

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

2.2 Problem Statement


It has become difficult for recruiters to find models on social media platforms and magazines.
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, there are
different priorities of hiring 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.

2.3 Problem Elaboration


In today’s world there are a lot of brands, companies, products, and promotions who require
models for their advertisements. For a company to find their desired model in a very short time
is definitely difficult work. Moreover, they have to search for different platforms on social
media to find the models. Also, they cannot find the right model according to their product or
promotion easily. Plus, most of the recruiters are unaware of the pages that provide models. In
fact, most of the pages do not promote their agency, they are just hidden.

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.

2.4 Goals and Objectives


Vogue Splash aims to provide a chance to the people with potential to become great models.
By making a platform for them, Vogue Splash is giving them an opportunity to become a star.
It also helps them to find a desirable agency for them, help them make a livelihood, and gives
them a chance to earn and become stars. Not all products or brands want the same category of
models, some require different ethnicity, age, height, so it has become very difficult to filter
people with such specific traits.

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

2.5 Project Scope


This project aims to provide an ease for recruiters to hire the models for their product and also
provides an ease in finding the modeling talent that is yet to be groomed.

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.

2.6 Sustainable Development Goal (SDG)


The project focuses majorly in the area of reduced inequalities. As explained earlier above, this
application will provide everyone a chance to try out their potential. According to our studies,
different countries prefer different kinds of models for promotion. For example, let’s take
Pakistan where mostly fair complexioned people are more preferred over dark.

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:

2.7.1 Hardware and Software environment


Our application is a web application so the system should have JS supported web browsers
such as google or Mozilla, Firefox. For hardware, our web application requires 2GB RAM and
64-bit OS.

2.7.2 End-user environment


Users can use our web application through high-speed internet and browser.

2.7.3 Availability or volatility of resources


High speed internet and uninterrupted connection is required for better performance.

2.7.4 Interface/Protocol Requirements


Http protocols will be used for communication between client and server. Interface will be
implemented on react with browser.
6
Project Vision

2.7.5 Data repository and distribution requirements


Data will be stored in an online database repository for which we will use MongoDB. This will
be used for data storage and retrieval.

2.7.6 Security requirements


Application will include authorization and authentication like login, signup and AI
authorization.

2.7.7 Memory and other capacity limitations


Requirements are CPU, I/O capacity, bandwidth, and computer memory.

2.7.8 Verification and validation requirements (testing)


Login will help verify if an authorized user is accessing or not.

2.7.9 Language constraints


People who understand/speak English can use this app.

2.8 Business Opportunity


This app is also a business model. Vogue Splash will have 3 types of subscriptions:

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.

2.9 Stakeholders Description/ User Characteristics


The majority of vogue splash users will be the modeling agencies and the people who run the
modeling agencies. They are the ones who find models around the world, so when provided
with a platform, the recruiters can shift to our web instead of looking for models from here and
there. The search for the desired model will become much easier for them.

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.

2.9.1 Stakeholders Summary


The stakeholders of this project are the recruiters, models, and the developers of this
application. These are directly or indirectly linked to the application. The developers are getting
the profit from this project by adding subscriptions in the project. Also, the models are not
7
Vogue Splash
getting any profit but they can register in the application to get benefits. Additionally, the
recruiters are also benefiting from the project by hiring the desired model for their product.

2.9.2 Key High-Level Goals and Problems of Stakeholders


The goals of stakeholders include earning profit from the application, reducing inequalities in
the fashion industry, avoiding fake identity, reducing high cost which occurs during auditions
and traveling (cost minimization). The developers earn profit by adding subscriptions and
advertisements in the 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

Chapter 3: Literature Review / Related Work


In this chapter of the document, we will be going through the literature and products we
reviewed during the research of our project. We went over pre-existing products with
similarities to our own as well as studies and articles that helped us determine the exact scale
of opportunity that exists in the market for our platform Vogue Splash. We targeted mainly 4
types of research areas:
● Pre-existing similar platforms.
● Why is such a platform needed?
● How scammers and bots ruin online recruitment?
● What are current methods to face bots and scammers and are they sufficient?

3.1 Definitions, Acronyms, and Abbreviations


Following are some terms and their definitions that will be used in our report in our literature
review in the succeeding chapters:
● Bots: computer programs that try to imitate and fake human behavior and presence
● Scammers: Someone that tries to cheat another person or a system
● AI: Artificial Intelligence, a field of computer science aimed to learn to mimic human
intelligence
● Neural Networks: A subset of artificial intelligence using neural networks algorithms
● Algorithms: a set of processes and rules followed by a computer to achieve something
● Captcha: A form of security feature that is widely used to screen bots

3.2 Detailed Literature Review


This section will include a detailed literature review of your problem area. Make different
categories for different types of work done in the past. In addition to textual descriptions, make
a summary table that describes each paper that you have read, along with references.

3.2.1 LinkedIn
Literature Name: LinkedIn [2]

3.2.1.1 Summary of the research item


LinkedIn is an online recruitment platform. It launched in 2005 and has slowly grown to be
one of the world’s largest recruitment platforms. LinkedIn is web based and also has dedicated
apps for both android and iOS. LinkedIn is not specialized to cater any specific types of
industries and is more generic in nature. It allows the users to create a profile that is like a
resume. It allows companies and recruiters to create profiles where they can lure prospective
applicants and also list job offerings. LinkedIn has created an ecosystem which enables and
helps the networking between companies and recruiters and applicants. LinkedIn currently has
850 million users in more than 200 countries worldwide.
9
Vogue Splash
3.2.1.2 Critical analysis of the research article
LinkedIn is one of the biggest ways of recruiting used worldwide. It has a very wide user base
and boasts one of the best user-recruiter/company networks. It is also one of the biggest tech
companies and has been active for over 15 years. It shows that such recruitment platforms are
popular and widely used if done correctly.

3.2.1.3 Relationship to the proposed research work


LinkedIn is also a recruitment platform like our own platform. It is proof that such platforms
are highly in demand. However, LinkedIn is generic and not well suited to visual artists. Thus,
our platform aims to fill that gap in the market and offer a platform that offers all these services
but is also catered to the needs of visual artists

3.2.2 ModelManagement
Literature name: ModelManagement.com [3]

3.2.2.1 Summary of the research item


Modelmanagement.com is a web-based platform for models. Models can make accounts with
the platform and display their pictures and portfolios. Modelmanagement.com works as a
modeling agency. This means that the models are not independent entities rather they are
employees of modelmanagemnet.com. Modelmanagemet.com lends its models to the recruiters
on demand for specific jobs.

3.2.2.2 Critical analysis of the research article

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

3.2.2.3 Relationship to the proposed research work


Modelmanagemnet.com addresses the recruitment industry of visual artists just like us.
However, they are just like any other agency and the models work as modemanagement.com
employees rather than independent entities. We aim to provide a platform that also treats
models as independent entities.

3.2.3 Bad Aspects of Modeling


Literature name: “Bad Aspects of modeling” by Jann Seal, 09 oct 2022 [4]

3.2.3.1 Summary of the research item

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

3.2.3.2 Critical analysis of the research article


The article was submitted to Chron.com which is a reputable platform for news regarding
fashion and the related industries. This article shows that the influence of Model Management
Agencies and their shady practices on the industry is making the community suffer. This leaves
an opening in the industry for a solution.

3.2.3.3 Relationship to the proposed research work


This article brilliantly shines light upon the borderline criminal ways in which models and
visual artists are exploited in the industry. Our platform Vogue Splash aims to provide a safe
haven for such artists. All the hiring and job allocation goes through us and thus we can remove
the chances of there being a need for Modeling Management Services or their equivalent for
any other visual art. Our platform makes sure that visual artists get an equal chance to be hired
and that various organizations cannot manipulate their chances for any reason

3.2.4 Threats of Bots and other Bad Actors


Literature name: “Threats of Bots and Other Bad Actors to Data Quality Following Research
Participant Recruitment Through Social Media: 7 Cross-Sectional Questionnaire to Journal of
Medical Internet Research”, by Rachel Pozar and Marilyn J Hammer on July 30 2020 [5]

3.2.4.1 Summary of the research item


Pozar and Hammer conducted research on the role of bots and bad actors in recruitment of
participants through social media and other online platforms. They held a survey on online
platforms where participants would be given 15 $ on completion. Their goal was to understand
the threats to data validity and integrity for online surveys. Prior to the survey they conducted
research on what fraudulent data looked like and what were the patterns.

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.

3.2.4.2 Critical analysis of the research article


The research was done for and published in the journal for Medical Internet Research.
However, the sample size was less than moderate so the date may be a little skewed. So, this
still shows how big the bot problem is.
11
Vogue Splash
3.2.4.3 Relationship to the proposed research work
This shows us how big the bot problem really is. And it exists as a by-product of online
recruitments and hiring. Having 86% of your responses being possible bots and 54% being
proven bots makes any kind of online hiring process very tedious and difficult. We aim to
provide a platform without such issues. Our platforms weed out bots and scammers so
recruiters and recruits alike have a seamless and frictionless process.

3.2.5 Detecting, Preventing, and Responding to “Fraudsters”


Literature name: Detecting, Preventing, and Responding to “Fraudsters” in Internet Research:
Ethics and Tradeoffs Jennifer EF Teicher spring 2015 [10]

3.2.5.1 Summary of the research item


Teicher in her study published in spring 2015 in the National Library of Medicine Journal
discusses the risk of fraudulent data in Internet research and how to avoid it. She discusses how
a majority of fraudulent data comes from bots and only some of it comes from human error. In
a study done by YMSM at least 51% of responses were submitted as duplicates with the per
bot frequency being between 11 and 67 responses. She then goes on to discuss ways to reduce
this by using cookies, tracking Ip addresses and using better bot screening systems.

3.2.5.2 Critical analysis of the research article


The research was published in the National Library of Medicine Journal and had a substantial
sample size for the study. This raises valid points and discusses in detail why bots cause such
a problem and how to address these problems

3.2.5.3 Relationship to the proposed research work


This research also talks about the issues prevailing the increase of bots and how they affect
online surveys and data. While this research focuses on surveys and studies the main idea
remains the same. Bots provide fraudulent responses and dilute the validity of the data and
responses received. It also talks about ways to address this issue including a better way to
screen bots which is something we are doing to screen bots as well.

3.2.6 Common LinkedIn scams: fake job offers


Literature name: Common LinkedIn scams: Beware of phishing attacks and fake job offers
By Andre Lameiras 9 may 2022 [6]

3.2.6.1 Summary of the research item


Lameiras discusses the various types of scammers that exist on LinkedIn and other such
recruitment platforms. From Bogus job offers that waste your time to Phishing attempts that
are intended to gain personal information to extort the recruits. There is also the issue where
clients lure people into a third-party payment system and then scam people by not paying them.
This also goes the other way around where recruits scam clients and either don’t deliver after
taking their money or waste a lot of time. The latest growing scam is where these sites are used
to target people unknowingly into crypto-scams.
12
Literature review/ Related Work
3.2.6.2 Critical analysis of the research article
This article by Lameiras talks about real world scams that happen on sites like LinkedIn every
day. This article discusses in detail both scams that are prevalent in the recruitment sphere and
scams that are gaining traction. It shows how drastic the issue caused by scammers and bots
really is. It also shows that to make online recruitment successful these issues need to be dealt
with.

3.2.6.3 Relationship to the proposed research work


The article shows the damage that can be caused by scammers on online recruitment platforms.
As visual artists are already mistreated in the offline world, they can be even more vulnerable
in the online sphere. Our platform aims to block scammers from both the client and artist side
allowing form a process that doesn’t waste anyone’s time and aims to cause less distrust.

3.2.7 How effective is CAPTCHA? Bot Protection


Literature name: How effective is CAPTCHA? Why it’s Not Enough for Bot Protection by
data dome 29 march 19 [7]

3.2.7.1 Summary of the research item


This article by Data Dome discusses the efficiency and usefulness of captchas more specifically
reCAPTCHA the image and text-based captcha system that is widely used. While Captchas
have been useful in the past, recently they have become increasingly useless. While bots and
AI are getting better at solving these captchas, companies are trying to make captchas harder
and harder. While this is not making it harder for bots it is making it harder for actual humans.
Captchas add a lot of friction in the user experience. Aquiconvert, a popular video app maker
added captchas to their signup process. They observed that there was a 16 % decrease in people
who actually went through with the signup process. The article also discusses the need for more
friendly alternatives to captchas

3.2.7.2 Critical analysis of the research article


The article accurately explains the failings of the current captcha system. It accurately raises
awareness of the need for a better captcha system. It uses data from real companies to show
how captchas have caused hindrances in the user experience. It also shows that there is a need
for a better bot screening method

3.2.7.3 Relationship to the proposed research work


This article raises the point that there is a need for a newer and better alternative to captchas.
Our platform aims to use a better way to deal with bots instead of captcha. The article proves
that there is a need for alternatives to captcha and that these may be a success in the industry.

3.2.8 Captcha: Hard for Humans

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.

3.2.8.2 Critical analysis of the research article


The article discusses the ease in which bots can bypass the current captcha system by listing
many methods including APIS and tools that can be used to code bots that bypass captchas.

3.2.8.3 Relationship to the proposed research work


This article also discusses how easy it is to bypass captchas for bots and thus raises the need
for an alternative mode to fight against bots. Our platform aims to use a voice-based system to
weed out bots.

3.2.9 Artificial Intelligence Beats CAPTCHA


Literature name: Artificial Intelligence Beats CAPTCHA Neural nets modeled after the
human brain's visual system could aid computer perception by Charles Q. Choi [9]

3.2.9.1 Summary of the research item


The article defines that a captcha is secure if less than 1% of bots can breach it. A San Francisco
Bay Area startup called Vicarious reveals that their AI can solve captchas at alarming rates. It
can solve ReCAPTCHA at 64.44%, Yahoo captcha at 57.44%, PayPal captcha at 57.1% and
Bot Detect at 66.66%. The article that discusses the fact that most captchas are easier for ai
than humans

3.2.9.2 Critical analysis of the research article


The article highlights the effectiveness of Vicarious AI and how successful it is at solving
various captcha systems. This shows that there is a need for a new bot screening method to get
ahead of the trend and screen bots. The article shows how quickly modern AI is making current
captcha systems obsolete and raises the need for a new captcha system to take its place.

3.2.9.3 Relationship to the proposed research work


The article highlights how advanced AI has become in breaking captchas and that there is a
need to get a different method of screening bots. Our app offers a different way to screen bots.
14
Literature review/ Related Work

3.3 Literature Review Summary Table


The following table is a summarized version of the research and review that we have done. It
has basic information about all the literature and products we reviewed and a brief description
of them.
Table 1: Products and Literature Reviewed
The summary and basic information of the products and literature we
reviewed.

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

Discusses the various new


ways to program AI bots to
CAPTCHA: Hard for Liel Strauch 26 March bypass captcha and how in
8.
Humans, Easy for Bots Hadas Weinrib 2020 a race to fool bots captchas
have become harder for
humans as well
Artificial Intelligence Beats
CAPTCHA Neural net Discusses how modern AI
26
modeled after human brain's
Charles Q. Choi bots can beat even the
9. October
IEEE spectrum most secure captcha
visual system could aid 2017
systems most of the time
computer perception

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

Chapter 4: Software Requirement Specifications


This chapter will give us a comprehensive insight into the features our system will be using.
Added to this we will be able to throw light on the anticipated purpose, use and the environment
of the website in development. In the following sub-headings, all requirements: functional and
nonfunctional requirements are discussed in detail with the software and hardware specification
of this project.

4.1 List of Features


This project offers a vast range of features for its intended audience, following are some lists
of important features this project will offer:
● Separate user interfaces for the two intended users: Model and the Recruiter.
● Separate dashboards or homepages for both users.
● Use of smart machine learning algorithms for Model Authentication.
● Filtering system will be provided to Recruiters to reduce their hassle.
● Ranking systems will be offered to improve Model performance.
● Inbuilt chat system

4.2 Functional Requirements


Things defining our system and its core functionalities of its components are our functional
requirements. As our intended users are only two types of people so our functional
requirements can be divided into two main categories:

4.2.1 Functional Requirements as a Recruiter:


● Recruiter will be able to create a new account.
● Recruiter will be able to Sign-Up.
● Recruiter will be able to Sign-Out.
● Recruiter will have a separate home page.
● Recruiter will be able to post Job Description on its home page.
● Recruiter will be able to filter models on its homepage based on categories such as:
○ gender
○ height
○ weight
○ color
○ body type
○ ethnicity
○ hair color and type
● Recruiter will be able to visit model profiles or portfolios.
17
Vogue Splash
● Recruiter will be able to rank models.
● Recruiter will be able to interact with models with inbuilt chat systems.

4.2.2 Functional Requirements as a Model:


● Model will be able to create a new account.
● Model will be able to Sign-Up.
● Model will be able to Sign-Out.
● Models will have a separate profile page which they can edit.
● Models can maintain their profiles by uploading their portfolios.
● Models can maintain their profiles by uploading their pictures.
● Model will have a separate home page, also referred to as feed.
● Models will be able to see Job Description (JD’s) posted by recruiters on their home
page.
● Models will have a notification bar on their home page.
● Model’s notification bar will notify them when:
○ someone ranks their profile, and
○ someone messages them.
● Models will be able to interact with recruiters with inbuilt chat systems.

4.3 Quality Attributes


Following are the attributes that measure the performance and quality of the application:
● The application is available to the users 99% of the time and the time to detect the fault
will not be more than 3 hours.
● The data of the person whoever creates his/her profile will not be changed and will be
easily modifiable by them only.
● The average time a user will need to perform an action will not be more than 3 seconds.
And the application will be run on any browser.
● At Least 50000 users will be handled at a time.
● The application will be available to the users 99% of the time.
● The website can be accessed by anyone who knows the use of web applications and has
the internet.
● In case if the users number increases to 10 million, the hardware will still perform very
well.
● The application will be run on different versions of the windows.
● The application will be user-friendly and easy to use. The user can navigate things very
easily.
● Each and every button and bar will return the correct response as expected by the user.
The application will be completely functional and all the navigation will be correct.
18
Software Requirement Specification
● The application will have different modules which will make it easy to test as modules
will be divided.

4.4 Non-Functional Requirements


Our project offers a vast range of services in terms of non-functional requirements, succeeding
headings will discuss them in order.

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.6 Hardware and Software Requirements


The portion below specifies the software and hardware requirements for our application.

4.6.1 Hardware Requirements


Following are the hardware requirements for our project
● The application requires a computer system for the development of this project. A
processor like core i5 or advanced will be enough for the application.
● The application requires any system that supports running the web browser.

4.6.2 Software Requirements


Following are the software requirement specifications for our project:
● Visual Studio Code for development environment
● React, Node, Mongoose, Python and Express for installing packages
● Postman for API testing
● NGrok for local testing

4.7 Use Cases


This section will list some model use-cases of our system. Most of them represent significant
and core functionalities of our project. These use-cases will help us visualize the
communication between our actor and our system.

4.7.1 Sign Up
Name Sign Up

Actors Model, Recruiter

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.

The user should not be registering with an already existing email.


Pre-Conditions
The user must not already be logged in.

The user’s session is successfully established and shall be redirected to


Post-Conditions
the home page.

Special
None
Requirements
20
Software Requirement Specification

Basic Flow

Actor Action System Response

System will display two options: either


1 The user opens the Sign-Up page. 2 signup with an existing Gmail Account or
create a new account.

The system verifies if the entered email is


The user enters all the credentials of correct and password involves characters.
3 4
the registration form. And confirm if all necessary credentials
are filled by the actor.

The user participates in a voice-based The system validates if the registered


5 6
captcha like security system person is a human or a bot.

The polaroid photo page opens up for System saves these polaroid images in the
7 8
the user. database.

System verifies if both the persons are the


9 User is prompted to give live picture 10
same or not.

Alternative Flow

The system responds with an error


The users do not fill the entire field or message:
3 4
enter an invalid email address. Entered email is not valid. Or there is a
missing credential that is not filled.

5 The user validation failed 6 Shows the user prompt again.

4.7.2 Log In
Name Log In

Actors Model, Recruiter

Model or recruiter will be able to log in to their created accounts.


Summary

Pre-Conditions The user must be a registered user.

The user’s session is successfully established and shall be redirected to


Post-Conditions
the home page.
21
Vogue Splash

Special
None
Requirements

Basic Flow

Actor Action System Response

The system displays two required fields


1 The user opens up the Login Page 2
asking for email and address

The user enters the email and The system verifies if the email and
3 4
password password are correct or not.

Alternative Flow

System displays message:


1 The user enters invalid email 2
Invalid credentials

System displays message: “Invalid


3 The user enters invalid password 4
Credentials”

User is not registered, so they click,


5 6 system directs them to the signup page
signup

4.7.3 Recruiter Home Page

Actors Recruiter

Recruiters will be shown the homepage with a random assortment of


Summary models.

Pre-Conditions The user must be a registered user.

Post-Conditions The user is shown models in a random order

Special
None
Requirements

Basic Flow
22
Software Requirement Specification

Actor Action System Response

The user open or is redirected to home The system displays models based in a
1 2
page random order

Alternative Flow

System displays message:


1 The user cannot enter home page 2
Homepage not available

4.7.4 Model Dashboard


Actors Model

Models will be shown Dashboard and can view their profile and profile
Summary
statistics.

Pre-Conditions The user must be a registered user.

Post-Conditions The model is shown information about their profile and profile statistics.

Special
None
Requirements

Basic Flow

Actor Action System Response

The user open or is redirected to home The system displays models based in a
1 2
page random order

Alternative Flow

System displays message:


1 The user cannot enter home page 2
Homepage not available

4.7.5 Add Job Description - For Recruiter


Actors Recruiter

Recruiter can add a job description which a model can see and apply for
Summary the job.
23
Vogue Splash

Pre-Conditions The recruiter must be logged in

Post-Conditions The user will write a description and can post it on the feed.

Special
None
Requirements

Basic Flow

Actor Action System Response

The user will click on the add job The system displays a page where empty
1 2
button. text fields are shown.

The system displays the message “Job


The user can write a job description in
3 4 Added “and then it will be shown on the
the fields and press the add button.
feed.

Alternative Flow

System displays message:


1 The user cannot enter home page 2
Homepage not available

System displays message:


The user does not specify the fields
3 4 “Please enter all the fields required for
required for job
job description”

4.7.6 Delete Job Description - For Recruiter


Actors Recruiter

Summary Recruiter will be able to delete job description

Pre-Conditions The user must be a registered user.

Post-Conditions The job description will be deleted.

Special
None
Requirements

Basic Flow
24
Software Requirement Specification

Actor Action System Response

The recruiter goes to profile on job The system displays all the job
1 2
descriptions. descriptions by the recruiter

The recruiter clicks on delete job


3 4 The job will be deleted.
button

Alternative Flow

System displays message:


1 The connection timed out 2
“Cannot delete job! Connection timeout”

4.7.7 Edit Profile - For Model


Actors Model, System

Models will be able to maintain their profile by editing the credentials


Summary
on their profile.

Pre-Conditions The user must be a registered user.

Post-Conditions The model is shown information about their profile and profile statistics.

Special
None
Requirements

Basic Flow

Actor Action System Response

The user opens or is redirected to their The system displays model profile
1 2
profile page. information regarding their credentials.

The system fetches the required current


User opens the credentials to edit
3 4 information and allows the update
information
information.

User deletes the current information


5 6 The system fetched the new information.
and rewrites the new information.
25
Vogue Splash

The system updates and stores the new


7 User hits the save button. 8
information in the database.

Alternative Flow

System displays message:


The user cannot try to edit critical
1 2 This is critical information that cannot be
information like: gender, age, etc.
modified!

4.7.8 Add/Upload Picture - For Model


Actors Model, System

Models will be able to maintain their profile by uploading their new


Summary
pictures.

Pre-Conditions The user must be a registered user.

Post-Conditions The model is shown information about their profile and profile statistics.

Special
None
Requirements

Basic Flow

Actor Action System Response

The user opens or is redirected to their The system displays their uploaded
1 2
profile page. pictures.

The system fetches edit requests and


3 User clicks on edit uploaded media. 4
allows edit operation.

5 User uploads the new picture. 6 The system fetched the new picture.

The system updates and stores the new


7 User hits the save button. 8
picture in the database.

Alternative Flow

User did not upload the picture System displays message:


1 2
correctly. The picture uploaded was corrupt or blur.
26
Software Requirement Specification

Please try uploading again!

System displays message:


The picture uploaded does not follow the
User uploaded a picture that doesn't
3 4 acceptable format. Please choose the
follow the required format.
format from the following options and try
uploading again!

4.7.9 Remove Picture - For Model


Actors Model, System

Models will be able to maintain their profile by deleting their old


Summary
pictures.

Pre-Conditions The user must be a registered user.

Post-Conditions The model is shown information without the deleted image.

Special
None
Requirements

Basic Flow

Actor Action System Response

The user opens or is redirected to their The system displays their uploaded
1 2
profile page. pictures.

The system fetches edit requests and


3 User clicks on edit uploaded media. 4
allows edit operation.

The system fetches the current picture and


5 User clicks a picture. 6
allows edit options on it.

The system checks the database, if already


User clicks the delete option on the more than 5 pictures exist, it allows delete
7 8
selected picture. option, otherwise error message
displayed.

Alternative Flow

System displays message:


1 After clicking the delete options. 2 Unable to delete image because of system
timeout. Please try again!
27
Vogue Splash

4.7.10 Initiate Chat


Actors Model, Recruiter

Models or recruiters can initiate chat with each other.


Summary

Pre-Conditions The user must be logged in and visit a model’s profile

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

Actor Action System Response

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

System displays message:


1 Connection timeout 2 The connection has timed out.

4.7.11 Open Model Portfolio


Actors Recruiter

Recruiters can click on the models to be redirected to their profile pages


Summary
that show model information

Pre-Conditions The user must click on the model card

The recruiter is shown all types of different information about the


Post-Conditions
requested model

Special
None
Requirements
28
Software Requirement Specification

Basic Flow

Actor Action System Response

The system redirects user to model page


1 The user clicks the model card 2
and shown the model information

Alternative Flow

The model’s profile is either deleted or System displays message:


1 2
cannot be accessed Model not available

4.7.12 Filter Jobs


Actors Model

Summary Model can search jobs based on their own preferences

Pre-Conditions The model must be on the jobs page

Post-Conditions The model is shown jobs based on their choices

Special
None
Requirements

Basic Flow

Actor Action System Response

The system shows a drop down allowing


1 The model clicks the search button 2
for user to enter search requirements

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

System displays message:


The user requirements match none of
1 2 Such a job is not available and returns a
the jobs
list of closest or partial matches
29
Vogue Splash

4.7.13 Filter Models


Actors Recruiters

Summary Recruiters can search models based on their own preferences

Pre-Conditions The recruiter must be on the Homepage/Model List page

Post-Conditions The user is shown models based on his preferences

Special
None
Requirements

Basic Flow

Actor Action System Response

The system shows a drop down allowing


1 The user clicks the search button 2
for user to enter search requirements

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

System displays message:


The user requirements match none of Such a model is not available
1 2
the models and returns a list of closest or partial
matches

4.7.14 Open Job


Actors Model

Summary Model can open the job page

Pre-Conditions The model must be on the job list page

Post-Conditions The user is shown job details etc.

Special
None
Requirements

Basic Flow
30
Software Requirement Specification

Actor Action System Response

The system directs user to the job page


1 The user clicks the job card 2
and shows them job details

Alternative Flow

The job no longer exists/ can’t be System displays message:


1 2
accessed Job is not available

4.7.15 Apply Job


Actors Models, Recruiter

Summary Models can apply for jobs

Pre-Conditions The model must be on the page for the specific job

Post-Conditions A request is sent to the recruiter for contact by model

Special
None
Requirements

Basic Flow

Actor Action System Response

The system starts a new chat with between


The user clicks the “Apply for Job”
1 2 the recruiter and model with the job as the
button
subject

The Recruiter can select the model


3 finalized button to end job and finalize 4 The system closes the job posting.
job for the model currently in chat

Alternative Flow

The job has been closed/is not System displays message:


1 2.
available Job is no longer available
31
Vogue Splash

The job Recruiter clicks the end


3 4 System deletes the chat and deletes data.
conversation button

4.7.16 Direct to Website


Name Visiting the web
Actors Models, Recruiters, Users
The website when run, will be directed to the main page
Summary where login and signup options appear

The user should run the development environment or type


Pre-Conditions the website name OR the user should click logout button.

Post-Conditions The user is successfully directed to the main page.


Special Requirements None
Basic Flow
Actor Action System Response

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

The user is directed to the main web


7 The user presses logout button 8
page

Alternative Flow

The system responds with an error


3 The server is not responding 4 message:
Cannot reach the web page

4.8 Graphical User Interface


This section will provide us with some GUI layout designs for our website, that will be snippets
from Figma - an online tool to aid developers to design their project before project
development. In addition to providing some GUI designs that will lay the ground for our front-
end development, we will clearly depict how our user-interface is going to be. Added to this, a
32
Software Requirement Specification
brief description is also provided to give a detailed flow of what tasks the respective page is
achieving and the use-cases that are linked to them.

4.8.1 Website’s Welcome Home Page


This is the main page of the website. When the user visits the website Vogue Splash, this page
will be displayed. Then it is up to the user whether he wants to sign up as a: Model or Recruiter,
or log in to an existing account. It also has a short description of the roles, giving visuals about
the website's welcome page.

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.

Figure 1: Websites Welcome Page


This figure represents the page that will be triggered when
a user hit voguesplash.com

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.

Figure 2: Sign Up pages for Un-registered Users


This figure represents the sign-up page triggered after the homepage
and the actions it allows.

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.

Figure 3: Login page for registered users


This figure shows the basic credentials needed for login

4.8.4 Home Page - For Recruiters


After logging in as a recruiter, the user will be redirected to this page shown in figure 2, where
they will be able to achieve a number of tasks here, like posting new job descriptions and
applying filters to extract a model based on their varying requirements. And as they apply a
filter with multiple filters, a list of models falling in this category will be displayed.

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

Figure 4: Recruiters Dashboard


This figure shows the home page visible and accessible to only
registered Fashion hub recruiters.

4.8.5 Home Page - For Models


The model Dashboard page appears when a model logs in or clicks on their own portfolio from
the Home Page/ Model’s List. If the profile is of the same person who is accessing this page,
they are sent to the model dashboard. Here the model can not only see the basic portfolio items
that anyone can see but also information about themselves that no one else has access to.
Models can also Add/Remove pictures and edit their profiles from this page. It also contains
model statistics like warning count, rating and job reviews left by previous jobs.
36
Software Requirement Specification

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.

Figure 5: Dashboard for Models


This image shows the basic UI that will be visible to registered end-
users - model

4.8.6 Model Portfolio - For Recruiters


This page shows a depiction of how the model profile page will look like. It will have a profile
picture with some details. A little description is also added. The Instagram and Facebook
accounts of the models will also be added if there are not enough photos on the portfolio. On
clicking the portfolio, all the details of the model will be visible to others.

This follows the use case of an open model portfolio mentioned in 4.7.11.
37
Vogue Splash

Figure 6: Portfolio page - Visible to Recruiters Only


This figure shows the basic UI of the page that is shown when anyone
visits the model’s profile page.

4.8.7 Job List


The Job List page lists all the jobs that have been posted on the platform. The job list page
allows users to click on and go to the specific job. It also allows the users to filter jobs by
specific preferences or sort jobs by a number of different attributes.

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

Figure 7: Jobs List for Users


This figure shows the basic UI for the job list page

4.9 Database Design


This section shows us how we have divided our data and model into tables based on various
subjects, this is mainly done to avoid unnecessary and duplicate information from getting
stored. The database design shows us a way to organize our data into various categories that
help us for ease of access and storage. The succeeding headings will give us a view to our ER
diagram and a data dictionary to understand that Database design.

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

Figure 8: Entity-Relationship Diagram


This figure shows graphical representation of the database design

4.9.2 Data Dictionary


Following is a table of data dictionary in table 2, that defines and lists all the entities involved
in our database, an entity is a thing that has a job. Against each entity is mentioned the attributes
that fall under this entity and their data type is also mentioned. Apart from that, a brief
description is also mentioned against each attribute name.

Table 2: Data Dictionary for Database design


A tabular form to represent relationship between entities

Data Null Relation Relation


Entity Attribute Description
Type able To Type
Review,
1 to *,1 *to
Model ID String No Verificatio Id of the model
many,1 to *
n, Chat
Model
Name String No Name of the model

Email String No Email of the model


40
Software Requirement Specification

Password of the
Password String No
account

Age Int No Age of the model

Body Size of the


Body Size String No
model

Skin Color of the


Skin Color String No
model

Hair Color of the


Hair Color String No
model

Dress size of the


Dress Size Int No
model

Profile picture of
Profile Picture String No
model

Rating of model left


Rating Int Yes
after jobs

Number of times a
complaint is
Warning Count Int Yes
launched against
model

Tags the model


Tags String Yes
identifies by

Job history on the


Job History String Yes
site and otherwise

Recruiter ID String No Jobs, Chat 1 to *,1 to * Id of the recruiter

Name String No Name of recruiter

Recruiters
Email String No Email of recruiter

Company of
Company String Yes organization the
recruiter belongs to

Job ID String No Chat 1 to * Id of job


Job
Id of recruiter who
Recruiter ID String No
posted job
41
Vogue Splash

Title String No Job Title

Description String Yes Job Details

Tags String Yes Tags to identify job

Review ID String No Id of review

Review Body String No Content of review

Model ID String No Id of model reviewed

Chat ID String No Message 1 to * Id of chat

Id of recruiter in the
Recruiter ID String No
chat
Chat Id of model in the
Model ID String No
chat

Id of job the chat is


Job ID String Yes based on of chat
started for job

Message ID String No Id of message

Id of chat the
Chat ID String No
message belongs to

Message Message String No Content of message

Timestamp of when
Timestamp Date/Time No
message was sent

Sender String No name of sender

Id of model being
Model ID String No
verified

Verificati Location of picture


Profile Picture String No
on for verification

Location of voice not


Voice Note String No
for verification
42
Software Requirement Specification

4.10 Risk Analysis


There are several risks associated with this project idea. The application is web based, so
business risks, budgeting risks and some technical risks might be associated with the project.

Few are listed below:


● The application can be a business model. So, it is dependent on people who subscribe
to our application and also the number of advertisements on the app. If less people are
subscribing and using our web, this will definitely contribute towards risks.
● The development of this application requires a schedule. The documentation and then
implementation. Basically, it’s following a waterfall model. So, if one thing is not
correctly done, it will cause a massive U-turn for the project which will take a lot of
time. So, technical risk is always there.
● To store data in the database, we have mongo DB but we are also adding images to it.
So, MongoDB gives only 500MB of free space. In case the given memory exceeds if
we go to the production phase, we have to pay for extra memory which is in tera-bytes
of sizes.
● Languages for web applications are new to us and they follow a different architectural
design. Therefore, comes a programmatic risk. Also, JavaScript has vast libraries and
using the wrong library for the wrong thing can be a major overhead.
● If things are not scheduled properly or not done in a given time, the project can cause a
lot of time for us to build. So, in order to avoid schedule risk, everything should be
planned and done on time.

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

Chapter 5: High-Level and Low-Level Design


For the development of any Software project, the team always should have a fully detailed
system design in hand with them. Deciding the system layout beforehand eases the task
implementation and may aid the developers in achieving their tasks and goals. So, in this
chapter we aim at spilling all the beans regarding our system design. Firstly, we will convert
our business idea and its requirement into our Macro-Level system design (also known as High-
level system design), then this would further be branched into another yet more detailed
architecture at Micro-Level, that will be our Low-Level design.

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.

5.1 System Overview


Describing functional and non-functional requirements of our system will be our major
concern, as it is these requirements that along with our high-level and low-level system design
contribute to our full-fledge system overview.

5.1.1 Required Features & Functionalities


Vogue Splash as a software project aims at providing a vast range of features to its users. As
mentioned earlier our users will be mainly of two types: the Model and the Recruiter. And both
users will be able to experience different environment an achieve different tasks. Following is
some basic outline of required features:

• Separate user-friendly interfaces for both intended users.


• Separate interactive dashboards, achieving tasks for respective users.
• Models should be able to:
o Post portfolios
o Post new images
o Maintain their profile
o View valid and eligible job descriptions
o Interact with recruiter via inbuilt chat system
• Recruiters should be able to:
o Post job descriptions
o Filter models based on requirements into categories
o View model profile, their images and portfolios
o Rank models based on their prior experience of work with them
o Interact with model via inbuilt chat system

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

5.1.2 Discussing Design Approaches


Transforming business/client requirements into a form helpful for the developer is the process
of software designing. The first step in Software Development Lifecycle (SDLC), is the
software design, where we convert our problem domain into our solution domain. So here using
various strategies and approaches we define how the developer is going to meet the client
requirements. There are three main levels of software designing:

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.

5.2 Design Considerations


In this chapter we will try to anticipate any assumptions regarding any issues that might hinder
our way while devising a complete design solution for our problem domain, along with
constraints affiliated with our project. Furthermore, we will also discuss some goal and
guidelines towards successful developmental methods.

5.2.1 Assumptions and Dependencies


Some dependencies that will be associated with our project for optimal user experience is the
requirement of:
• A device with internet accessibility
• The device must have a microphone and a camera to use features of the website
• A chromium-based web browser, to avail services of our website
45
Vogue Splash

5.2.2 General Constraints


Our system’s software will have a substantial amount of impact due to the following mentioned
global constraints.

1. Hardware and Software Environment


Our application is a web application so the system should have JS supported web browsers
such as google or Mozilla, Firefox. For hardware, our web application requires 2GB RAM
and 64-bit OS.

2. End-user Environment
Users can use our web application through high-speed internet and browser.

3. Availability or Volatility of resources


High speed internet and uninterrupted connection is required for better performance.

4. Interface/Protocol Requirements
Http protocols will be used for communication between client and server. Interface will be
implemented on react with browser.

5. Data repository and Distribution requirements


Data will be stored in an online database repository for which we will use MongoDB. This
will be used for data storage and retrieval.

6. Security requirements
Application will include authorization and authentication like login, signup and AI
authorization.

7. Memory & other capacity limitations


Requirements are CPU, I/O capacity, bandwidth, and computer memory.

8. Verification and validation requirements (testing)


Login will help verify if an authorized user is accessing or not.

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.

5.2.3 Goals and Guidelines


Following are some goals and principles that we will be following while implementing our
project. These are not universal principles rather they are the ones that we think will fit best to
our project requirement and its implementation.

• 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.

5.2.4 Development Methods


Using Software Development Lifecycle (SDLC) is core part of our software development, but
this offers us a vast range of various ranges of models. But following are selected from the
popular SDLC models.

• 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.

5.3 System Architecture


The following is the description of high-level system architecture along with diagram. In a
client-server architecture that we'll put into place; the user will ask the server to do specific
tasks. The database then reacts by supplying the proper data in response to the server's request
for pertinent data by the database. The data is then processed by the server and sent back to the
user, where it is then shown on the user's UI. APIs are used throughout the data transmission
process, from the front end to the server and from the server-database.
47
Vogue Splash

Figure 9: High-Level Architecture System


This figure shows the abstract view of communication between 4 modules

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 Front end


The following are the components involved in front-end design of the system:

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

The recruiter, after creating account, performs following actions:

• 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.

5.4 Subsystem Architecture


In this section, we will be looking at the details of the components. Also, we will look into the
relationship between their subcomponents.

5.4.1 REST API


An API implementation that complies with the REST architectural restrictions is known as a
REST API. It serves as a conduit. Over HTTP, the client and server communicate with one
another. The HTTP protocols are used by a REST API to establish communication between the
client and the server. REST also gives servers the option to cache responses, which boosts the
efficiency of the application.

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.

5.4.1.1 REST Endpoint


The URL of the service that the client might access is referred to as an API/REST/Backend
endpoint. For instance, a backend endpoint for retrieving user data for a specific user from the
service is https://myservice.com/users/username.The REST-based service will make this URL
available to all its clients so they may use it to retrieve the user data.

5.4.1.2 Decoupling back-end and client services

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

Figure 10: REST API


This figure shows a gateway interface to our application

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

Figure 11: MongoDB


This figure shows database entities in MongoDB

The extensive documentation that MongoDB offers us was the main factor in our decision to
use it as our NoSQL database provider.

5.5 Architectural Strategies


5.5.1 Technology Stack
Advancement in technology is offering us a number of variety of opportunities to choose from,
but we will be using the following stack for our project:

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

5.5.2 Re-use of existing components


We will use the following already existing components for our project.

5.5.2.1 React Components


Since we are utilizing NextJs, a powerful React framework, it offers a variety of built-in
components that we will use in our project rather than creating equivalent new components to
reduce development time.

5.5.2.2 Encryption Modules

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.

5.5.2.3 Modules for storage


As mentioned above, we use hybrid storage, which consists of MongoDB storage. We will use
the several built-in CURD operations provided by MongoDB rather than implementing them
from scratch

5.5.3 Future plans for extending or enhancing software


Following is our future for extending and enhancing our software.

5.5.3.1 Mobile application

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.3.2 Variety of Modeling


Our future not only include models, but we also plan to extend this app as a modeling for
different categories. For example, Hand modeling, Hat modeling etc.

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.4.3 Information Display


It is ideal to show feedback right away if consumers have completed or are completing actions
on your website. The user will be made aware of their actions.

5.5.4.4 Dialogues Displays


Users feel accomplished after an educational conversation. Inform them of the outcome of their
activity. Users will appreciate receiving a "Thank You" message, for instance, after confirming
an action.

5.5.5 Error Detection and Recovery


Making MongoDB recoveries is essential. All work will be done independently without the aid
of any third-party tools, except for scheduling, which will be handled by the node-cron
package. We will use the mongodump command to do a backup using the seed approach.
5.5.6 Memory Management
Our data will be stored in the MongoDB server including the chats and all the information
about the users.

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.5.8 Communication Mode


REST API will be used and HTTPs protocols.

5.6 Domain Model/Class Diagram


This section defines the system architecture that our product will follow. It consists of the class
diagram and outlines the main classes, their attributes and their functions. The main classes in
the system are the model, recruiter, job, review, verification, chat and messages. The Model
class is for the users that classify as Models and has attributes and functions to cover the uses
for this class. Similarly, the Recruiter class is for Users that classify as Recruiters. The
recruiters can create object of the Job class which is uses for job listings. The review and
verification are for Objects of the Models class. The chat and messages classes are used for
create a chat/messaging system for the Model/Recruiter system for Jobs. Chat is composed of
Messages. In this class diagram below, upper box represents the class names, middle box
represents the class members and the last box mentions few functions in those classes.
54
High-Level and Low-Level Design

Figure 12: Class Diagram


This figure shows all possible classes and their relationship with each other

5.7 Sequence Diagrams


In this section we will be adding all the sequence diagrams for our Use Cases. We will be
covering the sequence of events and interaction that happens when certain tasks are performed.
Listed below are the main user system interaction and the sequence of events that happens in
each case.

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.

Figure 13: Sequence Diagram for Sign-Up


This figure shows communication flow between user and the systems Home and Signup pages
56
High-Level and Low-Level Design

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.

Figure 14: Sequence Diagram for Login


This figure shows communication flow between user and Login page
57
Vogue Splash

5.7.3 Redirect to Home page/ Dashboard


Once the user logs in the system checks whether they are a model or a recruiter. If the user is a
model they are redirected to their dashboard. If they are a recruiter, then they are redirected to
the Recruiter home page, this flow is shown below in figure 15.

Figure 15: Redirect User to Respective Dashboards


This figure shows communication flow between user and the Website and user dashboards

5.7.4 Add Job - For Recruiter


Among the many features the recruiter can click on the add job button on the job page to add a
new job. And as shown in Figure 16, then they are prompted to fill in a form with the job details
and system posts the job to the job list.
58
High-Level and Low-Level Design

Figure 16: Sequence Diagram for Adding Job


This figure shows communication flow when a recruiter will create a Job

5.7.5 Delete Job - For Recruiter


The recruiter who created a job can go to a job listing and click delete job to delete the job
listing.

Figure 17: Deleting Job


This figure shows communication flow when a recruiter will delete a Job
59
Vogue Splash

5.7.6 Edit Profile - For Model


Models can click on the Edit button on their dashboard to edit profile. The system redirects
them to a page with editable fields once the fields are edited model can click save button to
finalize the changes.

Figure 18: Sequence diagram for Model Editing Profile


This figure shows communication flow when a model will view their dashboard

5.7.7 Upload Pictures - For Model


On the model dashboard under the pictures section models can click the add picture button to
add pictures to their profile. Models are prompted to select picture stored on their devices and
can click add to add them to their profile. This all has been shown pictorially in Figure 19.

Figure 19: Sequence Diagram for Uploading Pictures


This figure shows communication flow when a Model will try to upload a picture
60
High-Level and Low-Level Design

5.7.8 Remove Pictures - For Model


On the model dashboard under pictures models can click the delete button to remove pictures
from profile. They can select all the pictures they want to remove and press delete to remove
them all.

Figure 20: Remove picture - Sequence Diagram


This figure shows communication flow when a Model will try to remove a picture

5.7.9 Open Model Portfolio - For Recruiter


Recruiters can click a model on the model page to open their portfolio. So, as they click on
model’s profile they will be redirected to their page as shown in the figure below.

Figure 21: Open Model's Portfolio - Sequence Diagram


This figure shows communication flow when a recruiter will view a model’s portfolio
61
Vogue Splash

5.7.10 Filter Models - For Recruiter


Recruiters can click the filter button on the model page to filter models by their chosen criteria.
They will be prompted to enter criteria and then clicking the filter button will filter models by
that criterion. This is shown below in figure 22.

Figure 22: Sequence Diagram to Filter Models


This figure shows communication flow when a recruiter will try to filter models on category

5.7.11 Open Jobs


Models can click a job listing in the job list to open its job page and read its job description to
explore new opportunities.

Figure 23: Models Exploring New Jobs


This figure shows communication flow when a Model will try to view jobs list
62
High-Level and Low-Level Design

5.7.12 Filter Jobs


Models can click filter jobs button on the Job List page to filter jobs according to their chosen
criteria. And then they will be prompted to enter their criteria and clicking filter will filter jobs
accordingly.

Figure 24: Filtering Jobs


This figure shows communication flow when a Model will try to filter a job from jobs list

5.7.13 Apply Jobs


Models can click on apply button on any job page and they will be initiated in a chat that will
be with the recruiter who uploaded the job and will have the topic of the job title. After the chat
if the recruiter accepts the model, they can delete the job listing.

Figure 25: Applying for new Job


This figure shows communication flow when a Model will try to apply for a job
63
Vogue Splash

5.7.14 Initiate Chat


The models can click apply job and a chat is created. The recruiter is added to the chat based
on the recruiter id taken from the job listing. And as shown below in figure 26, job title is added
as the topic of the chat. Chat is added to both recruiter and models chat tabs.

Figure 26: Sequence Diagram to Initiate Chat


This figure shows communication flow when a chat is started between the two users

5.8 Policies and Tactics


Following are some policies and tactics that will be opted by our developer’s team while
implementing this project. These tactics will not affect our system’s high-level or its low-level
design, but instead they aim at providing a smooth implementation process for our developer’s.

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.

5.8.2 Coding Guidelines


Among the many high level programming languages and the stacks associated with it, our team
has decided to opt for MERN stack. MERN is abbreviation for MongoDB, Express, React,
Node. Following is the breakdown of what technology or language will be used for what
purpose.

• 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.8.3 Software Testing


For our API testing we will be getting benefits from the famous application of Postman.
Whereas for our local testing we will be using NGrok as our helping application.

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

Chapter 6: Implementation and Test Cases


As this report mostly covered stuff that is related to or that will be achieved in FYP-1 so the
last deliverable requires us to create a prototype of our project. So, in this chapter we will throw
light on how we will be implementing and developing our initial prototype. Added to this
implementation details are given below for the development of our first component. Details
like how a task was achieved? What technology or platform was used?

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.1 Models Page


The Model Page is in essence a list of all the models available on the site. The model page is
to provide a way for recruiters to browse models for their needs. The page is mainly a list of
models with their names, profile pictures and ratings. The model listings are links to the model
portfolios. There are search features provided by a search bar at the top of page. There is also
an assortment of sorting and filtering buttons next to the search bar.

6.1.2 Jobs Page


The Jobs Page is a list of all the jobs available on the site. This page provides a way for models
to search for jobs. The job listings will have the job name, a brief description,
recruiter/company name and any pay scales if provided. The job page will also have a search
bad and some filtering and sorting buttons next to it.

6.1.3 Model Dashboard


The model dashboard is the page a model is shown when they click on their profile. It has the
model’s information and their profile picture as well a separate corner for the models’ other
pictures. The dashboard also has some statistics about them that models may find useful. For
example, the models reviews and ratings as well as job acceptance rate and other statistics.

6.1.4 Model Portfolio


The model portfolio is shown when anyone other than the model opens their profile. It has the
model’s basic information, rating, profile picture, some other selected pictures and rating. This
view does not have detailed statistics like the dashboard as it is not catered to the model
themselves.
66
Implementation and Test Cases

6.1.5 Job listing


The job listing page is the page that opens when a job is clicked. The Job listing page has the
job title followed by a brief description of the job. The page also has the recruiter/company’s
history and record. The job page also has an option to open a chat with a recruiter that posted
job directly. It also has the option to apply for job. If recruiter has added a pay scale it is also
shown on this page.

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.

6.2 Test Case Design and Description


In this subheading we will be crafting test cases for our use cases. Details for each test case is
provided below, where we have mentioned all dependencies, requirements and environments
involved.

6.2.1 Sign Up Test Case

Sign Up

Test Case ID: 1 QA Test Engineer: Ahmad


Test case Version: 1 Reviewed By: Ayila
Test Date: 25-04-23 Use Case Sign up Use case
Reference(s):
Revision History: None
Objective: The user should be able to sign up
Product/Ver/Module: Sign up module
Environment: Any up-to-date browser
Any PC/Laptop
Assumptions: The system must be connected to the internet
Pre-Requisite: None
Step No. Execution description Procedure result
User clicks signup button System redirects to signup page
Comments:
Test case passed

Passed Failed Not Executed


67
Vogue Splash

6.2.2 Login Test Case

Login

Test Case ID: 2 QA Test Engineer: Ahmad


Test case Version: 1 Reviewed By: Ayila
Test Date: 25-04-23 Use Case Login use case
Reference(s):
Revision History: None
Objective: The user shall be able to login to the platform
Product/Ver/Module: Login account module
Environment: Any up-to-date browser
PC/Laptop
Assumptions: System is connected to internet
Pre-Requisite: None
Step No. Execution description Procedure result
The user clicks on login Login page shows fields
Comments:
Test cases passed

Passed Failed Not Executed

6.2.3 Recruiter Add Job Description Test Case

Recruiter Add Job

Test Case ID: 3 QA Test Engineer: Ahmad


Test case Version: 1 Reviewed By: Ayila
Test Date: Date Use Case Recruiter Add Job Use-
Reference(s): case

Revision History: None


Objective: Recruiter can add jobs
Product/Ver/Module: Recruiter add job module
68
Implementation and Test Cases
Environment: Any up-to-date browser
PC/Laptop
Assumptions: The system is connected to internet
Pre-Requisite: Recruiter must be logged in
Step No. Execution description Procedure result
Recruiter clicks on add job button The system allows recruiter to post new job
Comments:
All test cases passed

Passed Failed Not Executed

6.2.4 Recruiter Delete Job Description Test Case

Recruiter Delete Job

Test Case ID: 4 QA Test Engineer: Ayila


Test case Version: 1 Reviewed By: Ahmad
Test Date: 22-04-23 Use Case Recruiter Delete Job
Reference(s):
Revision History: None
Objective: The recruiter shall be able to delete Job
Product/Ver/Module: Recruiter delete job module
Environment: Any up-to-date browser
PC/Laptop
Assumptions: The system is connected to internet
Pre-Requisite:
Step No. Execution description Procedure result
Recruiter clicks delete job button. The recruiter job is deleted.
Comments:
All test cases passed

Passed Failed Not Executed


69
Vogue Splash

6.2.5 Model Edit’s Profile Test Case

Model Edit Profile

Test Case ID: 5 QA Test Engineer: Ayila


Test case Version: 1 Reviewed By: Ahmad
Test Date: 27-04-23 Use Case Model Edit portfolio
Reference(s):
Revision History: None
Objective: Model shall be able to update profile info
Product/Ver/Module: Model profile module
Environment: Any up-to-date browser
PC/Laptop
Assumptions: The system is connected to internet
Pre-Requisite:
Step No. Execution description Procedure result
User clicks edit profile on portfolio Editing options are anabled
Comments:
All test cases passed

Passed Failed Not Executed

6.2.6 Model Adds Picture Test Case

Model Upload Pictures

Test Case ID: 6 QA Test Engineer: Abdul Muizz


Test case Version: 1 Reviewed By: Ahmad
Test Date: 23-04-23 Use Case Model Add/Upload Picture
Reference(s):
Revision History: None
Objective: The models should be able to add/upload pictures to gallery
Product/Ver/Module: Model upload picture module.
Environment: Any up-to-date browser
70
Implementation and Test Cases
PC/Laptop
Assumptions: The system is connected to internet and picture is stored locally.
Pre-Requisite: Model should be on profile page.
Step No. Execution description Procedure result
1 Model clicks on add picture button Prompt to add pictures opens.
2 Model chooses pictures and clicks Pictures are uploaded to gallery
upload button

Comments:
All test cases passed

Passed Failed Not Executed

6.2.7 Model Remove Picture Test Case

Model Delete Picture

Test Case ID: 7 QA Test Engineer: Abdul Muizz


Test case Version: 1 Reviewed By: Ahmad
Test Date: 23-04-23 Use Case Model Delete Picture
Reference(s):
Revision History: None
Objective: Models should be able to delete pictures from their galley
Product/Ver/Module: Model picture delete module.
Environment: Any up-to-date browser
PC/Laptop
Assumptions: The system is connected to the internet and model has the picture in
gallery
Pre-Requisite: None
Step No. Execution description Procedure result
1 Model clicks delete picture button A prompt opens with gallery pictures and
checkboxes.
2 Model can select pictures and click Removes selected pictures
delete
Comments:
All test cases passed
71
Vogue Splash
Passed Failed Not Executed

6.2.8 Chat Initiation Test Case

Chat Initiation

Test Case ID: 8 QA Test Engineer: Abdul Muizz


Test case Version: 1 Reviewed By: Ayila
Test Date: 25-04-23 Use Case Initiate chat
Reference(s):
Revision History: None
Objective: Models and recruiters should be able to chat with each other
Product/Ver/Module: Chat module
Environment: Any up-to-date browser
PC/Laptop
Assumptions: The system is connected to the internet.
Pre-Requisite: Either a model is on a recruiter profile /job page or recruiter is on
model profile.
Step No. Execution description Procedure result
1 User clicks chat button Initiate a chat and redirects user to chat
page
Comments:
All test cases passed

Passed Failed Not Executed

6.2.9 Open Model Portfolio Test Case

Open Model Portfolio

Test Case ID: 9 QA Test Engineer: Ayila


Test case Version: 1 Reviewed By: Ahmad
Test Date: 20-04-23 Use Case Open model portfolio
Reference(s):
72
Implementation and Test Cases
Revision History: None
Objective: Recruiters should be able to click on models to open their portfolio
Product/Ver/Module: Open model portfolio.
Environment: Any up-to-date browser
PC/Laptop
Assumptions: The system is connected to the internet
Pre-Requisite: None
Step No. Execution description Procedure result
1 Recruiter clicks on Model Recruiter is redirected to model portfolio
Comments:
All test cases passed

Passed Failed Not Executed

6.2.10 Filter Jobs Test Case

Filter Job

Test Case ID: 10 QA Test Engineer: Abdul Muizz


Test case Version: 1 Reviewed By: Ayila
Test Date: 25-04-23 Use Case Filter Job
Reference(s):
Revision History: None
Objective: Models should be able to filter jobs on job page
Product/Ver/Module: Filter job module.
Environment: Any up-to-date browser
PC/Laptop
Assumptions: The system is connected to the internet
Pre-Requisite: The user is on Jobs page.
Step No. Execution description Procedure result
1 Model selects filter options given at A filtered list of jobs is returned according to
the top of page and clicks filter criteria
button
73
Vogue Splash
Comments:
All test cases passed

Passed Failed Not Executed

6.2.11 Filter Models Test Case

Filter Model

Test Case ID: 11 QA Test Engineer: Abdul Muizz


Test case Version: 1 Reviewed By: Ahmad
Test Date: 24-04-23 Use Case Filter Model
Reference(s):
Revision History: None
Objective: Recruiters can filter models based on their needs.
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: User is on Models page
Step No. Execution description Procedure result
1 Recruiter selects from filter options A filtered list of models is returned
given at the top of page and clicks according to criteria
filter button
Comments:
All test cases passed

Passed Failed Not Executed

6.2.12 Open Job Test Case

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

Passed Failed Not Executed

6.2.13 Apply Job Test Case

Apply job

Test Case ID: 13 QA Test Engineer: Ayila


Test case Version: 1 Reviewed By: Abdul Muizz
Test Date: 23-04-23 Use Case Apply jo
Reference(s):
Revision History: None
Objective: Models can apply for jobs
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: Model is on the page for the specific job
Step No. Execution description Procedure result
75
Vogue Splash
1 Model clicks on apply job An application for job is sent to recruiter
and a chat is initiated between model and
recruiter.
Comments:
All test cases passed

Passed Failed Not Executed

6.3 Test Metrics


We will be summarizing our test case here.

6.3.1 Test Case Metric


Metric Purpose
Number of Test Cases 13
Number of Test Cases Passed 13
Number of Test Cases Failed 0
Test Case Defect Density 0
Test Case Effectiveness 0%
Traceability Matrix Traceability matrix is in excel file submitted along with
this document.

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

Chapter 7: User Manual


Any application needs a user manual to guide its users, so that they can get maximum benefit
from the available features. Our application ‘Vogue Splash” is designed to entertain two types
of users: Models and Recruiters. Its major aim is to avoid the middle-man that was the
modelling agencies and provide a transparent system between the recruiter and the model. You
can learn about the features of the application and how to utilize them by the following set of
instructions.

• 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.

8.1 Summary Report


Based on the analysis of existing system of interaction between a model and a fashion hub
recruiter, we figured that there existed a middle-man or in layman’s term mostly referred to as
modelling agencies. These agencies have been vulnerable to a lot of discrepancies like
favoritism, money fraud, identity theft, biasness and a lot of other problems were involved. So,
we considered this as a problem and decided to provide an online platform or commonly
referred to as a website, to remove this role of an intermediator and bring transparency to this
system of interaction.

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.

8.2 Project Scope


Our project mainly aims to easen the process for recruiters to hire new models and new faces
for their products. And also provide a platform for models to search for new job opportunities
and apply for them. This way both models and recruiters can have one-to-one reliable
interaction. Furthermore, this project also aims to avoid the further problems associated when
two parties interact like the need for auditions, travelling, logistics, infrastructure and etc., as
this website will allow online hiring process now.

8.3 Challenges Involved


Even though, this project will be a website catering the needs of a certain type of users, but
there exist certain constraints that our quite important for our application design like: end-user
environments, hardware and software environment, availability/volatility of resources, security
requirements, language constraints and many others like this.

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/

You might also like