=Paper= {{Paper |id=Vol-2604/paper69 |storemode=property |title=Information System of Photostock Web Galleries Based on Machine Learning Technology |pdfUrl=https://ceur-ws.org/Vol-2604/paper69.pdf |volume=Vol-2604 |authors=Vasyl Andrunyk,Andriy Berko,Bohdan Rusyn,Liubomyr Pohreliuk,Sofia Chyrun,Bohdan Dokhniak,Ihor Karpov,Maksym Krylyshyn |dblpUrl=https://dblp.org/rec/conf/colins/AndrunykBRPCDKK20 }} ==Information System of Photostock Web Galleries Based on Machine Learning Technology== https://ceur-ws.org/Vol-2604/paper69.pdf
    Information System of Photostock Web Galleries Based
              on Machine Learning Technology

          Vasyl Andrunyk[0000-0003-0697-7384]1, Andriy Berko[0000-0001-6756-5661]2,
    Bohdan Rusyn[0000-0001-8654-2270]3, Liubomyr Pohreliuk[0000-0003-1482-5532]4, Sofia
 Chyrun[0000-0002-2829-0164]5, Bohdan Dokhniak6, Ihor Karpov[0000-0003-4885-5078]7, Maksym
                                 Krylyshyn[0000-0002-2964-9546]8
                       1-2,6-8
                       Lviv Polytechnic National University, Lviv, Ukraine
                 3-4
                   Karpenko Physico-Mechanical Institute of the NAS Ukraine
                             5
                               IT Step University, Lviv, Ukraine

          vasyl.a.andrunyk@lpnu.ua1, Andrii.Y.Berko@lpnu.ua2,
              rusyn@ipm.lviv.ua3, liubomyr@inoxoft.com4



        Abstract. The purpose of this work is to create a software product to facilitate
        the dissemination of photos among users of the network and beyond, as well as
        sell their works and store all relevant information, which is extremely relevant
        in our time. The object is the methods and tools for automated photography,
        which will provide a process of sharing photos between users using modern
        technologies that are accessible to any user working with a computer. This sys-
        tem is designed to solve the problems of transferring an unlimited number of
        photos between any cities on our planet. The subject of this system are the proc-
        esses of activity of this web resource. This automated system for uploading,
        sharing and storing photos is made following all international standards and
        meets all requirements.

        Keywords. Information System, Photostock, Web Gallery, Machine Learning


1       Introduction

In the modern world with the development of technology and smartphones, the num-
ber of photos taken by people around the world in a second is many times more than
the number of photos taken in the first 50 years after the opening of the camera [1-4].
More and more people are beginning to bring certain moments of their life to the me-
mory of their smartphone: from meeting with friends to traveling and celebrating
family and national holidays [5-8]. Accordingly, there is a need to exchange and dis-
seminate such memories [9-12]. Ten years ago, this problem was solved using Blue-
tooth technology or external storage [13-18]. However, the world is out of place and
this technology can no longer compete with the time and number of photos transmit-
ted between users every second across the globe [19-24]. It is the process of sharing
photos between people, ways of finding the most profitable and less resource-
    Copyright © 2020 for this paper by its authors.
    Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0).
intensive ways and is the subject of the system under study [25-29]. However, there
are also difficulties in working with photobanks: first, just being a good photographer
is not enough to become a participant of a photobank: you need to be really profes-
sional, have a great experience, have not only creative thinking, but also be a good
businessman for orientation in the trends of the modern market of photography and
illustration [30-36]. Secondly, the development of photographic banks often does not
allow high competition, because many world-famous photographers have long
marked their position and entrenched themselves in the market of photographic banks,
which complicates the work of newcomers [37-41].


2      Advantages and Disadvantages of Photo Gallery
       Computerization

Not too long ago, everyone remembers the time people stored photos in ordinary
photo albums, and the only opportunity to spread them was when the whole family
gathered at a holiday table and looked at old photos. Nevertheless, over time, the col-
ors of the photos printed on the special photo - paper fade, and classic paper albums
may be open to damage caused by external factors. And as a rule, photos in photo
albums are stored in a single copy without being recoverable. There is also the other
side of the coin. It is often the case that the people we want to share with or just show
photos are at a distance. Thanks to state-of-the-art technology and email, we can send
photos to any corner of the world where there is an Internet network, but this is usu-
ally not very convenient because the services we use to send letters are often not
adapted to send large numbers of large-sized photos. So despite all the downsides, it
is still worth pursuing an alternative to classic photo albums - a photo stack. Let's take
a closer look at this question. The major drawbacks are the cost of serious resources
in terms of implementation, implementation, and support of this type of product. Also
analysis of profitability in the market and popularity among users is the main advan-
tages and disadvantages of starting with the disadvantages:

 The cost of buying / renting equipment, including server parts for product mainte-
  nance.
 Cost of implementation of the software product.
 The cost of marketing and third-party advertising
 Product support in case of server outages. Also online help and support for re-
  source users.
 Great competition with products that have been on the market for a long time.
Advantages of computing :

 The ability to access photos from anywhere in the world
 Use of Machine Learning technology for photo validation, which will compete
  with existing products in the market.
 Profitability thanks to profile popularity and photo quality.
 Simplify the process of working with photos.
3      Analysis of Existing Solutions

To date, there are several dozen photo banks in the world that take jobs from private
photographers and sell them online. The following systems were selected from the
existing systems for analysis:
 Shutterstock.
 Dreamstime.
 Depositphotos.
 Bigstockphoto.
Shutterstock is the best photobank to date, is the undisputed leader in microstock
photography agencies, both in the number of clients worldwide and in payments to
photographers. In this photobank, photographers, illustrators, and videographers can
make the greatest profit, compared to other agencies, through the model of work and
the huge popularity of the photobank. Shutterstock helps inspire designers, creative
directors, video editors, directors, web developers, and other creative professionals,
providing a wide variety of content for businesses, marketing agencies, the media, and
media organizations around the world. Content creators submit their work to Shut-
terstock, where end users can buy and use it in a variety of creative personal and busi-
ness projects. It is a two-way market that opens new opportunities for all authors.
Also, the advantages of this photo stock can be distinguished by its simple and clear
user interface, as well as the popularity in the market and the volume of databases of
users who actively use it. It is also a simple sign-up process and a short guide for new
users, helping to increase the client base of the site.




                   Fig. 1. The homepage of the Shutterstock photo stack

Dreamstime is Europe's largest photobank, one of the largest (over 50 million im-
ages), created in 2004. The site offers various images, videos, and audio. Loyal to
image quality. It pays about 50% of the cost of the image. Accepts RAW and vector
formats. For their purchase, the photographer receives twice the value of the largest
size in JPG format. Registered users have the opportunity to use the free photos sec-
tion.
                   Fig. 2. The sign-up process for new Shutterstock users




                        Fig. 3. Dreamstime photo stack home page

Registration is standard. According to a study by PDN, this resource pays the highest
deductions in the entire photo sales industry. The average profit on Dreamstime is $
0.68 to $ 3, but "bonuses" (such as acquiring unique author status) allow you to earn
up to $ 40 per post. It is necessary to realize that such sums earn units, only the best.




                 Fig. 4. The registration process for new Dreamstime users
Uploading an image is not accepted immediately. She is being tested. As a result,
either the item will appear on your account or a message will be sent to the post stat-
ing the reason for the opt-out and tips for fixing the defects. If you can correct these
shortcomings, it is possible to download the files again. If the pictures for sale are
accepted and the files appear on the site, they are awarded the first level. Depending
on the quality of the image, its size, composition, and subject, this file will sell better
or worse than similar images. Once a photo has a certain amount of sales, its level
automatically rises, allowing you to sell it at a higher price.
   Depositphotos is young photo bank, which now forms the basis of photographs and
therefore offers many events for photographers. The Photobank website supports the
Russian language. Very easy system for attribution of images with AutoFill option.
The first photobank to start paying by phone via SMS.




                       Fig. 5. PhotoStack Home Page Depositphotos

Among the main advantages is convenient search on the site even for unregistered
users. Images are convenient to search, the keywords can be entered in both Russian
and English. Another advantage of DepositPhoto is that it can be used as a photo bank
of free high-resolution photos. The weekly stream sends registered users an invitation
to download free images and videos. They are few, but it is quite possible to pick
something for yourself. Photo Bank is developing dynamically, although it is quite
recent in the market. Has an author-friendly rating and rating system. The higher the
level of the author, the more sales commission he receives. They behave calmly and
correctly towards all clients.
   Bigstockphoto is a small photo bank, the main advantage of which is a convenient
photo search system and simple image quality requirements. Even photographers with
digital soaps can work with this photo bank. There is a high percentage of image ac-
quisition, but good sales only start with a solid portfolio.
   The system has the possibility of one week of free use. To access it, you need to
subscribe by entering your bank card number and selecting a rate. Within a week, you
will be able to receive five pictures a day, with any permission.
   You can also sign up for a week of free video, you can upload one video a day.
                   Fig. 6. The homepage of the Bigstockphoto photo stack

Finding a photo is no different from searching for other stock - enter keywords in
English, refine your query. Not the most convenient search service, but not the worst.
Stock is interesting for those who constantly need images. Such users have attractive
wholesale rates - from $ 0.16 per image. You can also take advantage of the week of
free download and get 35 high-quality photos, which is not bad. Having analyzed
several alternatives we can draw the following table of comparisons:

                           Table 1. Analyzed several alternatives
Photobank               Shut-      Dreamstime           Depositpho-    Bigstockphoto
                        terstock                        tos
Minimal size       of
                            4              3                 3,8               2
picture (in Mpx)
File types                         JPG, EPS, RAW,        JPG, EPS,     JPG, EPS, AI, PSD,
                        JPG, EPS
                                      AI, CDR               AI             PNG, PDF
Minimal payment for
                           $75            $100              $50               $30
photos
Comfortable search
                           no             yes                yes             Т yes
on website

So, looking at alternative products and solutions, we can see that the more content is
filled and the more popular a site is, the more difficult it is to make user-friendly file
searches. To solve this problem, the product being developed within this project will
be added "Advanced Search", which will help the user to search the image not only by
name but also by various parameters, which the author specifies when uploading it to
the site. Also, the bigger and more popular this resource becomes, the more difficult it
will be to support and add new functionality. Therefore, this aspect is very important
to consider when choosing an architectural solution and code deployment systems on
the server. Summarizing all of the above, we can conclude that none of the analyzed
photostack systems has integrated validation with Machine Learning, which will
make our product unique and fresh on the market. Moreover, it will save users from
third-party content, and servers from the unnecessary load of invalid data. That is why
analyzing existing products in the market, their weaknesses and strengths will make
this product competitive.


4       Description of the Goals and Objectives of the Company

The goal of each company is to maximize profits. The activity of this company is
related to the development and maintenance of a web resource such as "photostack".
The main functionality includes [42-49]:
 Uploading files to a resource.
 Normal file search.
 Advanced file search.
 Creating albums.
 Attaching photos to an album.
 Opportunity to buy and sell.
 Web resource and content security.
For a comprehensive picture of the essence of the system under study, we depict a
tree of goals.




                                    Fig. 7. Goal tree

To detail the system and its specific implementations, I decided to use a simple and
accessible Structured Analysis and Design Technique (SADT) method. This chart will
contain two external entities [50-51]:

 External User entity that can interact with other user entities or custom entities. It
    all depends on the specific account and the purpose of registering on the web prop-
    erty.
 The external essence of the "Client". Typically, it interacts with examples of
  "User" entities whose input is the file parameters specified by the Client entity.




          Fig. 8. Contextual diagram of data flows in the Heine-Sarsano notation

In the construction of systems distinguish the basic and auxiliary processes. The main
processes are those that define the quality and cover the main goals of the web ser-
vice. The ability to upload, share and sell photos. Ancillary processes determine the
additional capabilities of the system that determine demand and place in the mar-
ket. A very important point is when the auxiliary processes are complementary to the
basic processes and they work smoothly in the system and do not interfere with each
other's functions.




                    Fig. 9. The flow chart in Heine-Sarsano notation 1

Each system consists of processes that are performed in the middle of it, so to under-
stand how the system worked, you need to familiarize yourself with its simplest unit -
the processes, and more precisely detail it. Since this system includes a variety of
functionalities, it would be advisable to split it into parts, which during implementa-
tion will allow parallel work between developers, which will also simplify the under-
standing of the system and will make it more secure and flexible in future support.
Because the smaller the dependencies between the parts of the system and the easier it
is to divide it into subsystems, the easier it will be to realize it. So, using the AllFu-
sion Process Modeler software, we create a hierarchy of tasks for this system.




              Fig. 10. Detailing the process of "Adding a Photo to an Album"




                       Fig. 11. The hierarchy of tasks of this system

A very important feature is that it can be represented as a graphical diagram. This
greatly facilitates domain analysis. There are several options for denoting the ele-
ments of the entity-relationship diagram, each of which has its positive features and
provides a powerful enough tool for data modeling during the analysis and design
stages. Diagrams also help you understand and understand the logical structure of
subject data, complex data objects, and existing relationships between them.


5      Formulation of the Site Design Process

The whole design process is divided into the following steps:
 Analysis of the subject area.
 Website design development.
 Creating a layout.
 Creating a Database that the site will access.
 Creating the server-side of the site.
 Integration of site layout with base and server part.
 \Testing the site.
To create a successful project, first of all, you need a successful start with clearly
defined tasks that our project must solve. So, there were 3 main tasks:
 An analysis of the functionality that a software product should perform
 Highlight the main functional characteristics of the project
 Conduct research on usability
In this product, the basic unit will be a photo. That is why the basic logic of the site
should directly relate to this unit:
 Each user has their profile.
 Each profile can add and delete photos and albums for it.
 Other users can rate, comment, or add a photo to their album.
 The uninitiated user also can view photos.
After analyzing the functionality that the product should perform, we conclude that
the main functionality of the product should be:

 Add, delete, and edit photos.
 Create and delete albums.
 The ability to add and delete photos from an album.
 Ability to link both photos and albums to the user's profile.
 The functionality of comments and likes.
 The ability to view user photos even if the user is unlocked.
 Ability to search and advanced photo search.
Having conducted basic research into the functionality that should cover our project,
we can conclude that the database scheme that interacts with the current product will
look like this as Fig. 6. In the broadest sense, the term usability refers to the degree of
usability of a particular item. In some ways, it is in line with the concept of "ergonom-
ics" - a scientific discipline that studies the effectiveness of human work in creating
certain conditions. For sites, and more specifically for user interfaces, usability
means:
 logic and simplicity of arrangement of various graphic elements;
 ease and convenience of navigation;
 thoughtful arrangement of controls;
 overall ease of perception of the design of the Internet resource.
In the aggregate, everything is listed and determines the usability of the site.
   Numerous researches of psychologists and Internet marketers show that modern
users are becoming more impatient and superficial every year. According to the latest
data from research firm Nielsen Norman Group, the average length of time a user is
on one page of the site is only 27 seconds. At the very end, only some visitors scroll
through the page. This means that the main goal of the creators of the site is to be able
to interest the user. And it takes seconds to reach this goal. In less than half a minute,
the casual visitor needs to explain where he/she is, how this resource differs from the
others, and what benefits can be obtained here. If a person does not have time to get
this information in the same 27 seconds, he just goes to another site. Questions about
how to attract and retain a visitor site, and deals with usability.




           Fig. 12. Scheme of the interaction of photo functionality in the database

So, we begin to analyze this software product from its thorough and comprehensive
audit, in other words, analysis. The usability audit reveals the most relevant issues of
the site in terms of its usability and user-friendliness. It deals with many different
aspects: navigation, internal search, design, content filling, etc. Let's take a closer look
at the most important ones. After conducting the research, we highlight the basic us-
ability rules for the following elements of the site: Navigation, Internal search and
Home page.
   Navigation. To make it easier to use the product and improve its place in the popu-
larity rating of users, we make navigation the same everywhere. This improves its
perception and makes it easier for the user to find the information they need. Also, in
the context of improving site navigation, we recommend:
 place a web site logo or title on all pages with a link to the homepage. As a rule,
  the logo is in the upper left corner of the page;
 place detailed contact information not only in the "basement" (at the bottom of the
  page) but also in the site header;
 make the first level menu on all pages;
 specify the name of the site section on web pages;
 provide for "bread crumbs".
Also, on all pages, the user should immediately understand what is and what is not a
link. At the same time, the links throughout the site should be underlined, the same
color and font. Developing user-friendly and intuitive navigation is one of the corner-
stones of site creation.
   Internal search. The usability audit necessarily involves analyzing the effective-
ness of an internal search. To them, contrary to the popular opinion of the site owners
themselves, visitors are used very often.
   So, to make your site search easy, you must:
 place it in the upper right corner on all pages;
 limit the length of the query input field to 27-30 characters (optimal value);
 make the search purely internal, only by photos. It is not necessary to offer visitors
  also external search, on third-party sites on the Internet - it will distract them from
  ours;
 use the query spell check feature. If the user enters a query with an error, a line
  should appear with the message "Did you mean [query with correct spelling]?".
  The search must be able to recognize errors in the queries, otherwise, the customer
  will not be able to find the product you are looking for.
Also, usability experts advise you to design a page with search results in the manner
and appearance of known search engines. It must contain a field for entering the
query, links to finding pages with their description. It is also recommended to specify
the section of the site to which the pages found are related.
   But does the site always need an internal search? Well-known usability expert
Jacob Nielsen believes that effective search should only be done on large resources
with more than 1,000 pages. If the site contains between 100 and 1,000 pages, it is
quite possible to do a simpler search engine. And on smaller sites with less than a
hundred pages, the search function must navigate.
   Home page. The homepage is one of the most important elements of any site, so
when doing its audit analysis you should pay attention to the following points:

 At a glance at the homepage, it should be clear to the visitor what site it is on and
  why it was created. To facilitate the process of "recognition" of the resource, on the
  home page will not hurt to put the company slogan and text of a small greeting.
 All information about current promotions, discounts, and great deals should be
  posted on the homepage. There should also be space in the main for the news col-
  umn and the user authorization panel. It is important that the homepage is updated
  periodically and up-to-date - a positive signal for both search engine robots and us-
  ers.
 Some usability experts suggest posting a "Where do I start?" The card on the
  homepage, which can be made in the form of a link. This advice seems quite ra-
  tional since such a prompt prompts the user to immediately go to the product cata-
  log or other important section, and not to run around the site in search of the in-
  formation he needs.
Machine Learning. To keep up with the times, it is necessary to use state-of-the-art
technologies that already occupy a "lion's share" in the business solutions market. One
of these is Machine Learning. Software products that use this technology are ex-
tremely popular and productive on the market, which is why we integrate machine
learning technology into this product. We'll do this with Microsoft's ML.NET - .Net
framework. With this feature, you can make automatic forecasts using data available
for your application, free use or research. The following diagram represents the pro-
gram code structure as well as the iterative process of model development (Fig. 13).




                              Fig. 13. Scheme of ML .NET
Database. The server is in many cases used to handle data, so you need to select at
least one database technology. The best software solution for this product would be a
relational database using SQL (Structured Query Language) developed by IBM in the
early 1970s. In 1986, SQL was first standardized by ANSI organizations.
   SQL is a powerful and at the same time not difficult language for database man-
agement. It is supported by almost all modern databases. SQL will be divided into
two sets of commands: DDL (Data Definition Language) and DML (Data Manipula-
tion Language). DDL commands are used to create new databases, tables, and col-
umns, and DML commands are used to read, write, sort, filter, and delete data.
   After choosing the main way to interact with the database, we can continue work-
ing on the design of its schemes, namely user placement schemes, access rights and
roles in the database. After analyzing, we conclude that the scheme of placing users in
the database will look as follows.




                 Fig. 14. Scheme of placement of users and related entities


6      Description of the Created Software Solution

The successful development of a software product requires several tasks, namely:
 Develop user interface and site design.
 Prioritize the core functionality tasks and begin designing them using appropriate
  design templates for an easy and convenient code support process in the future.
 Create a data repository and connect it to the executable code
To create a site design, you need to analyze the functions that will perform this web -
resource and adapt them to the needs of the user.
   So after the analysis, the registered user was able to edit, add and delete their pho-
tos. Also, a registered user has the opportunity to comment and put "likes" as their
own and others' photos, which can not be done by an unauthorized user. In this way,
the unregistered user can only view the photos and albums of the users, which al-
lowed any user to share, without the possibility of physically modifying the photos,
which can "cause" irreversible changes on the server-side. This stage helps to improve
the security of the service and distribute roles among users

6.1    Design of Web Service
To please our users from the early days, we need to implement a simple, easy and
reliable interface that can be understood by anyone in a few minutes, even when in-
teracting with these types of resources for the first time. The most important point
here is the hybrid interface, that is, an adaptive interface that will equally play on
devices of any size, with different screen extensions. Here comes the help of a
framework, which gained its fame precisely because of the perfect execution of this
item - Bootstrap. Simple, easy and easy to use, it fits perfectly into the technology
stack of this site. Also, one must take into account another indispensable item - cross-
browser. That is, even if the screen extension is the same, our functionality must be
adapted to the major browsers that occupy the "lion's share" of the market for provid-
ing software for Internet access. These browsers include Safari, Mozilla Firefox,
Google Chrome, Opera. Versioning is also required. Different versions of the browser
may perceive the same design differently. This problem can arise with Internet Ex-
plorer, which is why we should take this into account. So, highlighting the major is-
sues that developers may face while performing this task, should be taken into ac-
count so that the appropriate solution is the best and one is likely to encounter one of
these problems in the future.


6.2    Design of the Client Part of the Site
The main part of the client-side of the site will consist of 2 main components: a navi-
gation menu and open albums for users to view. The navigation menu is pinned to the
top of the site and will remain unchanged when navigating between pages of the
site. The main menu will consist of the following functionality:
 Service name (with the hyperlinked homepage)
 An album menu containing all the functionality associated with creating and edit-
  ing user albums.
 Photo menu that contains all the functionality associated with creating and editing
  user photos
 A search bar that performs basic photo search on a site
 Display the login under which the user is logged in to the site
 Ability to log out of your account.
If a user is not logged in to the site under their profile, then the navigation bar will
look different for them, namely:

 Service name (with the hyperlinked homepage)
 A search bar that performs basic photo search on a site.
 Login Button (for Registered Users)
 Registration button (for unregistered users)



           Fig. 15. The appearance of the navigation panel for the authorized user.




                  Fig. 16. Navigation bar layout for an unauthorized user.

So, now let's disassemble all the basic functionality of the user in the process of its
implementation and try to reproduce its main "flow". As soon as the user accesses the
site for the first time, he sees the following interface:




                    Fig. 17. Home page layout for an unauthorized user

After opening this resource in the browser, the user sees open albums of users that
allowed them access to them. Also, the unauthorized user can view the content inside
the album, that is, the photos themselves without the ability to leave comments or
"swearing".




                       Fig. 18. Album layout for an unauthorized user
As a user of this site for the first time, they need to sign up. The registration form is as
follows:




                               Fig. 19. User registration form

It should be noted that the password for this resource must be insoluble, containing
more than 6 characters, both letters, and numbers. Also, the password should not be
simple or easy to guess, which will allow all kinds of gross-ford attacks to quickly
"break" the user's profile. To do this, the system has a "hardwired" special technology
for authorization and validation of user input for registration - Microsoft Identity, a
system of synchronization of user credentials, the system allows you to manage users,
credentials, policies, and access in the organization. Also, MIM 2016 features hybrid
environments and privileged access management capabilities, as well as support for
new platforms. After registration, the user will see the following window:




                          Fig. 20. User registration was successful

Now, as a registered user, he has access to advanced functionality, for example, he
can create his album and upload images to it. To do this, we need to left-click once on
the " Albums " tab by selecting " Create Album ":




                    Fig. 21. Selection of an option in the navigation menu

Then you will see a form for creating the album. It consists of the following fields:
 Album name
 Date of creation
 Description for the album
After filling in the fields, press the " Create " button, sending the form together with
the entered data for processing on the server. It should be noted that the form is re-
quired fields, such as " Name " and " Date of creation. "




                         Fig. 22. Completed album creation form.

After that, the service redirects us to the main page with the album already cre-
ated. By default, all new albums use the default album image, which can be modified
in the future by uploading photos.




                       Fig. 23. Successful creation of a new album.

Now let's look at the process of uploading a photo to a profile. To do this, select "
Upload Photo " in the Photos tab of the navigation menu




                   Fig. 24. Selection of an option in the navigation menu

Then you will see a form for uploading a photo to the site. The system has a set of
validation rules, some of which use special libraries with artificial intelligence. For
example, we can't upload images larger than 1 MB (in the trial version), there are also
restrictions on the format of uploaded photos - it should only be '. jpeg '. Also, the
system itself checks whether the downloaded image is an image. That is, for example,
if we create a simple text document with the extension '. jpeg 'and write there a virus
which is less than 1 megabyte the system recognizes such replacement and will not
create an entry in the database, giving a warning message that this file is not an im-
age, although it is suitable for size and extension. This is because uploading an image
to the site takes two different types of validation: on the site (validation front, which
is easy to deceive, but it can detect the most simple violations of the rules of upload-
ing photos to the server, which unloads it and increases the reliability of the service),
and the server-side where the validation system is built more precariously and you
simply won't be fooled. To prove this, we create a text file with a possible virus in it
that does not exceed 1 megabyte in size and change its extension to '. jpeg ' :




                    Fig. 25. Creation of file for system validation testing

After creation we will try to download our "virus" file to the server:




                         Fig. 26. The server response to a virus file

After uploading the file to the server, we get an answer identical to Figure 4.12. This
is because when receiving and processing an image on the server-side, it is first to cut
into bytes, tested using streams and special libraries using artificial intelligence, and
then special services try to draw it again. If the drawing is successful, the service ad-
vances it to the next level, named DAL ( Data Access Layer ). This layer already
performs basic data operations, namely, associates them with a database, creates re-
cords in it, edits them, and deletes them. That is why validation is an extremely im-
portant part of this web resource.
   If validation passes successfully for potentially dangerous content, it threatens the
operation of the site, namely the entry of malicious software and destruction of the
resource from the middle.
  If there is still something we will download content that meets all the validation re-
quirements, then we will get the following page:




             Fig. 27. The image has passed all stages of verification - successful

After creating an album and uploading an image to it, the user can attach the photos to
the middle of the album. To do this, the user has to go to his albums, then select the
album in which he wants to upload the photos, open it and click the " Add photos "
button.




                   Fig. 28. The appearance of the button " Add photos ".

This will open a page with all the user's photos. The user can select an unlimited
number of photos from his collection and upload them all to the selected album. It
looks like this:




                          Fig. 29. The process of attaching photos.

The photos will then appear in the user's album. You can also unlink them from the
album or make them the main image of the album by using the ' Detach ' and ' Set as
album title ' buttons.
        Fig. 30. The attached photo can be unpinned or the main photo of the album

  As you can see from the picture below, you can like and leave comments.




                        Fig. 31. Leave a comment under the photo.

Also, for convenience, users have an integrated search and advanced search:




                             Fig. 32. Search by image name.

Advanced search for ' Flash ':




                     Fig. 33. Advanced search for parameter ' Flash '
So, having gone through the entire workflow, we can conclude that the user interface
is quite clear and easy to use, also make sure that all the functions work flawlessly.


7      User Manual

The user does not need to install any additional software that may take up disk space
or create additional boot to the user processor. All you need to do is open the browser,
open the search engine it uses and enter the search bar: " PhotoOverFlow " - the name
of the product that we successfully deploy on the server, and then it will be accessible
to the user from anywhere in the world.
   Unauthorized user, the prospect can view open albums and photos of other users,
the number of likes and comments, but cannot add their likes or comments. To access
the full functionality, the user must be logged in, thereby creating his profile on the
system. After registration, the user has the opportunity to create their albums, upload
photos, add "likes" and comments on other users' photos. You can also buy photos
from other users and sell your ones. An administrator with access must review the
information of the profile just created, check the accuracy of the information and the
uniqueness of the photos that were uploaded by the user for resale.


8      Analysis of the control example

The site testing phase took 20 days. Test - Plans and Stages. Testing was performed
after the process of " code freeze " - the point in time at which the changes to the
source code are stopped. Each module of the system has been tested separately after
development or reconstruction. The purpose of the testing was to identify hidden de-
fects, malfunctioning of the system and check the ability of the site modules to per-
form the tasks. After finding the malfunction of the system to the obtained results, it
was corrected and retested. As a result of the work, the errors in the work of the re-
source were discovered and eliminated and the design was changed for the conven-
ience of the user.
   Modern information technologies provide tremendous benefits for comfortable and
reliable software development. But you should pay attention directly to the design of
this web resource in the development process, which should be an intuitive user with
any level of computer ownership. After developing and launching the site, it must
comply with all the basic rules, namely to be functional and to include only the neces-
sary and necessary modules. Software quality is an extremely important factor in
terms of quality and reliability. An excellent software product should be simple and
fast, anticipate all non-trivial situations caused by the user and find the best solution
to solve them.
9      Economic characteristics of the design solution

The proposed PhotoStack Photo Exchange system using Machine Learning is de-
signed to simplify the process of sharing, selling and buying user photos from any-
where on the earth at any time. At present, there are alternative solutions in the world
to fulfill the tasks of such a business model. However, from section 1 we can con-
clude that each of them has several disadvantages. Taking into account all the draw-
backs and concluding, we can design and build a system with a high enough profit-
ability, the revenue of which will cover all costs in less than a year. Also, the system
will introduce the latest achievements of the Information Technology market, which
will increase the security and relevance of the system, simplify the process of main-
taining it in the future, and the simplicity and ease of design will quickly give it popu-
lar among users of any age categories, which in the future will provide it with one of
the flagship positions on the market. The system will be hosted on a global Internet
network, enabling anyone who needs this system to use it. Since this photo-sharing
system is a source of information accumulation, the system can be used to develop
similar or related systems of similar activity, to use its resources for adjacent busi-
nesses under pre-agreed bilateral conditions, so the developed system will have a
wide range of applications. The software solution today has a high level of technical
and market value. However, we are running the risk of implementing this system
because it is difficult to evaluate the profitability of the system in the first place. De-
spite a large number of successful projects of recent years that are relevant to this
area, we can optimistically evaluate the future implementation of this system of man-
agement of the public system.
   We have become quite popular in starting our own business. No matter what indus-
try, market or country you want to start a business, it needs a name and logo. Later, if
the company succeeds, this logo will grow into a brand that will be known to the
whole world, which is why it is necessary to approach his choice wisely. It is now a
very popular decision to use as a logo a specific image of animals, nature or anything
else that surrounds us. This image can be found, purchased or simply downloaded
from our web site. After all, the main point of our service is different from the others
is safe and proven graphic information. Also, resources of our site can be used in
different spheres of life: from sharing albums of photos from some significant event
between relatives and their families to selling sketches of paintings, custom portraits,
or simply well-done photographs, plans of architectural projects, submitted images.
   Professional photographers try to show the world the way they see it at a certain
point in time, and they need to be able to share their work with the world without
losing quality in one click. The availability of such a resource will solve their tasks as
suppliers and those of companies looking for brand images. The resource will also be
able to be used as a storage device for family photos and shared with relatives around
the world. The choice of such a software solution in this work is due to their popular-
ity, publication of the list of completed IT projects, the stated list of functionalities
and the regularity of updates.
   Implementing such a system will solve a certain range of tasks and will simplify
the work of many people. But for the system to function normally, it is necessary to
carry out economic analysis and determine the profitability of the product. Because of
the rapid and high-quality implementation of the product, there is a need for encour-
agement for developers and a platform for its implementation. To finally decide
whether this solution was cost-effective, it was necessary to evaluate the project to
identify the best paths and opportunities. Accordingly, an estimate of the cost of
product development was calculated and its cost was calculated, taking into account
tax and administrative and sales costs.


10     Conclusions

Therefore, having carried out a detailed analysis we can conclude that every stage and
part of the process of realization of our product is irreplaceable and must be imple-
mented in a certain period. However, in the process of each development, sooner or
later, you have to deviate from the plan and make unplanned changes. Such changes
may be caused by UAT ( User acceptance testing ) - otherwise known as beta, appli-
cation, or end-user testing - often considered the last stage of the web development
process, the one before the final installation of the software on the client's site, or its
final distribution. Use the software by the target audience and record and correct any
defects detected. This gives users the ability to interact with the software and find out
if everything works as it should if features were missed, misunderstood, not reported,
and so on. The purpose of user acceptance testing is to evaluate whether the system
can support daily business scenarios and user scenarios and to ensure that the system
is operational and correct. That is why when designing this product, attention should
be paid to solutions for easy maintenance and development of the product in the fu-
ture. You should also pay attention to the user interface. There are many sites with
interesting content and the necessary functionality, and despite the wrong design, the
user often leaves the resource by viewing only the main page of the site. Therefore,
the content and appearance of the home page of this product should not only encour-
age the user to go from the home page to the main functionality, but also to continue
to use the site for their own and business purposes, and recommend this resource
later, to their colleagues and loved ones.


Reference
 1. Budikova, P., Batko, M., Botorek, J., Zezula, P.: Search-based image annotation: Extract-
    ing semantics from similar images. In: International Conference of the Cross-Language
    Evaluation Forum for European Languages,. 327-339. (2015)
 2. Lee, A. L., Lim, C.: Contents Development of Web Services for Artificial Intelligence-
    based Stock Photos. In: The Journal of the Korea Contents Association, 19(2), 1-10.
    (2019).
 3. Amornpashara, N., Arakawa, Y., Tamai, M., Yasumoto, K.: Landscape photo classifica-
    tion mechanism for context-aware photography support system. In: International Confer-
    ence on Consumer Electronics (ICCE), 663-666. (2015)
 4. Batko, M., Botorek, J., Budikova, P., Zezula, P.: Content-based annotation and classifica-
    tion framework: a general multi-purpose approach. In: 17th International Database Engi-
    neering & Applications Symposium, pp. 58-67. (2013).
 5. Lytvyn, V., Vysotska, V.mailto:Victoria.A.Vysotska@lpnu.ua, Mykhailyshyn, V., Pe-
    leshchak, I., Peleshchak, R., Kohut, I.: Intelligent system of a smart house. In: 3rd Interna-
    tional Conference on Advanced Information and Communications Technologies, 282-287.
    (2019)
 6. Lytvyn, V., Peleshchak, I., Peleshchak, R., Vysotska, V.: Information Encryption Based on
    the Synthesis of a Neural Network and AES Algorithm. In: 3rd International Conference
    on Advanced Information and Communications Technologies, AICT, 447-450. (2019)
 7. Kravets, P., Burov, Y., Lytvyn, V., Vysotska, V.: Gaming method of ontology clusteriza-
    tion. In: Webology, 16(1), 55-76. (2019)
 8. Gozhyj, A., Kalinina, I., Gozhyj, V., Vysotska, V.: Web service interaction modeling with
    colored petri nets. In: Proceedings of the 2019 10th IEEE International Conference on In-
    telligent Data Acquisition and Advanced Computing Systems: Technology and Applica-
    tions, IDAACS 2019, 1,8924400, pp. 319-323 (2019)
 9. Shu, C., Dosyn, D., Lytvyn, V., Vysotska V., Sachenko, A., Jun, S.: Building of the Predi-
    cate Recognition System for the NLP Ontology Learning Module. In: Proceedings of the
    2019 10th IEEE International Conference on Intelligent Data Acquisition and Advanced
    Computing Systems: Technology and Applications, IDAACS, 802-808 (2019)
10. Lytvyn, V., Gozhyj, A., Kalinina, I., Vysotska V., Shatskykh, V., Chyrun, L., Borzov, Y.:
    An intelligent system of the content relevance at the example of films according to user
    needs. In: CEUR Workshop Proceedings 2516, pp. 1-23 (2019)
11. Antonyuk N., Vysotsky A., Vysotska V., Lytvyn V., Burov Y., Demchuk A., Lyudkevych
    I., Chyrun L., Chyrun S., Bobyk І.: Consolidated Information Web Resource for Online
    Tourism Based on Data Integration and Geolocation. In: 14th International Scientific and
    Technical Conference on Computer Science and Information Nechnologies, 15-20. (2019)
12. Lytvyn V., Vysotska V., Peleshchak I., Basyuk T., Kovalchuk V., Kubinska S., Chyrun L.,
    Rusyn B., Pohreliuk L., Salo T.: Identifying Textual Content Based on Thematic Analysis
    of Similar Texts in Big Data. In: 2019 IEEE 14th International Scientific and Technical
    Conference on Computer Science and Information Nechnologies (CSIT), 84-91. (2019)
13. Vysotsky A., Lytvyn V., Vysotska V., Dosyn D., Lyudkevych I., Antonyuk N., Naum O.,
    Vysotskyi A., Chyrun L., Slyusarchuk O.: Online Tourism System for Proposals Forma-
    tion to User Based on Data Integration from Various Sources. In: 14th International Scien-
    tific and Technical Conference on Computer Science and Information Nechnologies
    (CSIT), 92-97. (2019)
14. Vysotska V., Lytvyn V., Kovalchuk V., Kubinska S., Dilai M., Rusyn B., Pohreliuk L.,
    Chyrun L., Chyrun S., Brodyak O.: Method of Similar Textual Content Selection Based on
    Thematic Information Retrieval. In: 2019 IEEE 14th International Scientific and Technical
    Conference on Computer Science and Information Nechnologies (CSIT’2019), 1-6. (2019)
15. Lytvyn, V., Vysotska, V., Shakhovska, N., Mykhailyshyn, V., Medykovskyy, M., Pelesh-
    chak, I., Fernandes, V. B., Peleshchak, R., Shcherbak, S.: A Smart Home System Devel-
    opment. In: Advances in Intelligent Systems and Computing IV, 1080, 804-830. (2020)
16. Lytvyn, V., Kowalska-Styczen, A., Peleshko, D., Rak, T., Voloshyn, V., Noennig, J. R.,
    Vysotska, V., Nykolyshyn, L., Pryshchepa, H.: Aviation Aircraft Planning System Project
    Development. In: Advances in Intelligent Systems and Computing IV, Springer, Cham,
    1080, 315-348. (2020)
17. Lytvyn, V., Vysotska, V., Shatskykh, V., Kohut, I., Petruchenko, O., Dzyubyk, L., Bo-
    brivetc, V., Panasyuk, V., Sachenko, S., Komar, M.: Design of a recommendation system
    based on Collaborative Filtering and machine learning considering personal needs of the
    user. In: Eastern-European Journal of Enterprise Technologies, 4(2-100), 6-28. (2019)
18. Vysotska, V., Chyrun, L.: Methods of information resources processing in electronic con-
    tent commerce systems. In: Proceedings of 13th International Conference: The Experience
    of Designing and Application of CAD Systems in Microelectronics, CADSM 2015-
    February. (2015)
19. Andrunyk, V., Chyrun, L., Vysotska, V.: Electronic content commerce system develop-
    ment. In: Proceedings of 13th International Conference: The Experience of Designing and
    Application of CAD Systems in Microelectronics, CADSM 2015-February. (2015)
20. Alieksieieva, K., Berko, A., Vysotska, V.: Technology of commercial web-resource proc-
    essing. In: Proceedings of 13th International Conference: The Experience of Designing and
    Application of CAD Systems in Microelectronics, CADSM 2015-February. (2015)
21. Lytvyn V., Burov Y., Kravets P., Vysotska V., Demchuk A., Berko A., Ryshkovets Y.,
    Shcherbak S., Naum O.: Methods and Models of Intellectual Processing of Texts for
    Building Ontologies of Software for Medical Terms Identification in Content Classifica-
    tion. In: CEUR Workshop Proceedings, of the 2nd International Workshop on Informatics
    & Data-Driven Medicine (IDDM 2019), Vol-2362, 354-368. (2019)
22. Lytvyn, V., Sharonova, N., Hamon, T., Cherednichenko, O., Grabar, N., Kowalska-
    Styczen, A., Vysotska, V.: Preface: Computational Linguistics and Intelligent Systems
    (COLINS-2019). In: CEUR Workshop Proceedings, Vol-2362. (2019)
23. Emmerich, M., Lytvyn, V., Yevseyeva, I., Fernandes, V. B., Dosyn, D., Vysotska, V.:
    Preface: Modern Machine Learning Technologies and Data Science (MoMLeT&DS-
    2019). In: CEUR Workshop Proceedings, Vol-2386. (2019)
24. Lytvyn, V., Vysotska, V., Mykhailyshyn, V., Rzheuskyi, A., Semianchuk, S.: System De-
    velopment for Video Stream Data Analyzing. In: In Advances in Intelligent Systems and
    Computing, 1020, 315-331. (2020)
25. Zdebskyi, P., Vysotska, V., Peleshchak, R., Peleshchak, I., Demchuk, A., Krylyshyn, M.:
    An Application Development for Recognizing of View in Order to Control the Mouse
    Pointer. In: CEUR Workshop Proceedings, Vol-2386, 55-74. (2019)
26. Vysotska, V., Burov, Y., Lytvyn, V., Oleshek, O.: Automated Monitoring of Changes in
    Web Resources. In: Advances in Intelligent Systems and Computing, 1020, 348–363.
    (2020)
27. Burov, Y., Vysotska, V., Kravets, P. Ontological approach to plot analysis and modeling.
    CEUR Workshop Proceedings, Vol-2362, 22-31 (2019)
28. Lytvyn, V., Vysotska, V., Demchuk, A., Demkiv, I., Ukhanska, O., Hladun, V., Koval-
    chuk, R., Petruchenko, O., Dzyubyk, L., Sokulska, N.: Design of the architecture of an in-
    telligent system for distributing commercial content in the internet space based on SEO-
    technologies, neural networks, and Machine Learning. In: Eastern-European Journal of En-
    terprise Technologies, 2(2-98), 15-34. (2019)
29. Lytvyn, V., Peleshchak, I., Vysotska, V., Peleshchak, R.: Satellite spectral information
    recognition based on the synthesis of modified dynamic neural networks and holographic
    data processing techniques, 2018 IEEE 13th International Scientific and Technical Confer-
    ence on Computer Sciences and Information Technologies, CSIT 2018 – Proceedings 1,
    330-334 (2018)
30. Gozhyj, A., Vysotska, V., Yevseyeva, I., Kalinina, I., Gozhyj, V.: Web Resources Man-
    agement Method Based on Intelligent Technologies, Advances in Intelligent Systems and
    Computing, 871, 206-221 (2019)
31. Lytvyn, V., Vysotska, V., Dosyn, D., Burov, Y.: Method for ontology content and struc-
    ture optimization, provided by a weighted conceptual graph, Webology, 15(2), 66-85
    (2018)
32. Lytvyn, V., Vysotska, V., Dosyn, D., Lozynska, O., Oborska, O.: Methods of Building In-
    telligent Decision Support Systems Based on Adaptive Ontology, Proceedings of the 2018
    IEEE 2nd International Conference on Data Stream Mining and Processing, DSMP 2018,
    145-150 (2018)
33. Gozhyj, A., Kalinina, I., Vysotska, V., Gozhyj, V.: The method of web-resources man-
    agement under conditions of uncertainty based on fuzzy logic, 2018 IEEE 13th Interna-
    tional Scientific and Technical Conference on Computer Sciences and Information Tech-
    nologies, CSIT 2018 – Proceedings 1, 343-346 (2018)
34. Rusyn, B., Lytvyn, V., Vysotska, V., Emmerich, M., Pohreliuk, L.: The Virtual Library
    System Design and Development, Advances in Intelligent Systems and Computing, 871,
    328-349 (2019)
35. Rusyn, B., Vysotska, V., Pohreliuk, L.: Model and architecture for virtual library informa-
    tion system, 2018 IEEE 13th International Scientific and Technical Conference on Com-
    puter Sciences and Information Technologies, CSIT 2018 – Proceedings 1, 37-41 (2018)
36. Su, J., Sachenko, A., Lytvyn, V., Vysotska, V., Dosyn, D.: Model of Touristic Information
    Resources Integration According to User Needs, 2018 IEEE 13th International Scientific
    and Technical Conference on Computer Sciences and Information Technologies, CSIT
    2018 – Proceedings 2, 113-116 (2018)
37. Vysotska, V., Lytvyn, V., Burov, Y., Gozhyj, A., Makara, S.: The consolidated informa-
    tion web-resource about pharmacy networks in city. In: CEUR Workshop Proceedings,
    239-255 (2018)
38. Vysotska, V., Chyrun, L.: Analysis features of information resources processing. In: Com-
    puter Science and Information Technologies, Proc. of the Int. Conf. CSIT, 124-128 (2015)
39. Vysotska, V., Chyrun, L., Chyrun, L.: Information Technology of Processing Information
    Resources in Electronic Content Commerce Systems. In: Computer Science and Informa-
    tion Technologies, CSIT’2016, 212-222 (2016)
40. Vysotska, V., Rishnyak, I., Chyrun L.: Analysis and evaluation of risks in electronic com-
    merce, CAD Systems in Microelectronics, 9th International Conference, 332-333 (2007).
41. Lytvyn, V., Vysotska, V., Peleshchak, I., Rishnyak, I., Peleshchak, R.: Time Dependence
    of the Output Signal Morphology for Nonlinear Oscillator Neuron Based on Van der Pol
    Model. In: International Journal of Intelligent Systems and Applications, 10, 8-17 (2018)
42. Lytvyn, V., Vysotska, V., Veres, O., Rishnyak, I., Rishnyak, H.: The Risk Management
    Modelling in Multi Project Environment.. In: Computer Science and Information Tech-
    nologies, Proc. of the Int. Conf. CSIT, 32-35 (2017)
43. Boreiko, O. Y., Teslyuk, V. M., Zelinskyy, A., Berezsky, О.: Development of models and
    means of the server part of the system for passenger traffic registration of public transport
    in the "smart" city. In: Eastern-European Journal of Enterprise Technologies, 1(2-85), 40-
    47. (2017)
44. Kazarian, A., Teslyuk, V., Tsmots, I., Tykhan, M.: Implementation of the Face Recogni-
    tion Module for the “Smart” Home Using Remote Server. In: Advances in Intelligent Sys-
    tems and Computing III, AISC 871, Springer, 17–27. (2019)
45. Rusyn, I. B., Valko, B. T.: Container landscaping with Festuca arundinaceae as а mini bio-
    electrical systems in a modern buildings. In: International Journal of Energy for a Clean
    Environment, 20(3), 211-219. (2019).
46. Rusyn, I. B., Hamkalo, Кh. R.: Bioelectricity production in an indoor plant-microbial bio-
    technological system with Alisma plantago-aquatica. Acta Biologica Szegediensis, 62 (2),
    170-179. (2018).
47. Antonyu,k N., Medykovskyy, M., Chyrun, L., Dverii, M., Oborska, O., Krylyshyn, M.,
    Vysotsky, A., Tsiura, N., Naum, O.: Online Tourism System Development for Searching
    and Planning Trips with User’s Requirements. In: Advances in Intelligent Systems and
    Computing IV, Springer Nature Switzerland AG 2020, 1080, 831-863. (2020)
48. Lozynska, O., Savchuk, V., Pasichnyk, V.: Individual Sign Translator Component of Tour-
    ist Information System. In: Advances in Intelligent Systems and Computing IV, Springer
    Nature Switzerland AG 2020, Springer, Cham, 1080, 593-601. (2020)
49. Rzheuskyi, A., Kutyuk, O., Voloshyn, O., Kowalska-Styczen, A., Voloshyn, V., Chyrun,
    L., Chyrun, S., Peleshko, D., Rak, T.: The Intellectual System Development of Distant
    Competencies Analyzing for IT Recruitment. In: Advances in Intelligent Systems and
    Computing IV, Springer, Cham, 1080, 696-720. (2020)
50. Rusyn, B., Pohreliuk, L., Rzheuskyi, A., Kubik, R., Ryshkovets Y., Chyrun, L., Chyrun,
    S., Vysotskyi, A., Fernandes, V. B.: The Mobile Application Development Based on
    Online Music Library for Socializing in the World of Bard Songs and Scouts’ Bonfires. In:
    Advances in Intelligent Systems and Computing IV, Springer, 1080, 734-756. (2020)
51. Andrunyk, V., Pasichnyk, V., Antonyuk, N., Shestakevych, T.: A Complex System for
    Teaching Students with Autism: The Concept of Analysis. Formation of IT Teaching
    Complex. In: Advances in Intelligent Systems and Computing IV, 1080, 721-733. (2020)