You are on page 1of 10

Introduction

CourseWork
to information systems

By Fedyashin Ivan MDI202


Student Number: 210550773
1_Database_Project_Report
1.1

In 2020, I picked up a new hobby — web-design. Today I’m a competent web-


designer with ambitions to excel in that sphere. In my path, I noticed that
there are limited amount of services that can provide reliable way to sell your
work on the internet. It could be a template for logo, presentation, website,
etc. As a designer I feel an absence for such services; I took responsibility
to fill that gap for the creators of digital goods. Thus, for the subject
of my course work, I chose to create a database for the platform for designers
to publish their work for sale, with an easy process of transferring it to the
buyer.

1.2

A simple use case diagram considering this particular database.

Figure 1
Website
UCD
Register
Register

Upload the design

file Make an offer

View amount

of offers View different

designs
Creator Client
Accept or decline

an offer Contact the creator

There are basically two actors: creator of content (designer) and client (buyer),
too can see it in the Figure 1. The creator, first off-all have to register on the
website and insert some personal information: their name and contact info.
After registration account is created, then he is able to upload his designs
with specifications. In this instance it is the style of the work and its price.
After publishing his work creator is able to see the number of designs
he uploaded in his account. From the side of the client he goes through
a similar procedure of registration, but there is no contact information
necessary. Client is able to view the designs, if he finds it interesting, the offer
can be made. Price can differ from the one set by creator. If the price suits the
artist, he can accept the offer or decline it. Client can also contact the creator
directly to get more information about his work.

Student Number: 210550773 2


1.3

There are three primary keys: user_d_id, d_id, user_c_id. User_d_id is the
primary key in User Creator class. A user can have an unlimited amount of his
work uploaded to the platform, or none. User_info is optional for the creator
to fill in. Designs can have only one User Creator, as shown in Figure 2. There
is no straight connection between User Client and User Creator; they are
linked through Designs. User Client can make unlimited or none offers for
sustain design; also designs can have unlimited amount of offers applied.
That connection between the two classes is called Many-to-Many, and can
create unwanted duplication of information, so it should be normalized.

Design User Creator

-d_id: int
-user_d_id: int

-d_style: string
-user_name: string

-price: int
0..* 1 -project_amount: int

-user_info: string

0..*

User Client

-user_c_id: int

0..* -user_c_name: string

-d_style_needed: int

Figure 2

Class Diagram

1.4

Figure 3 represents the normalised version of the class diagram in the form
of an ER diagram. To eliminate denormalised parts 1NF, 2NF, 3NF, and
4NF should be applied, transforming 4 initial tables into 5 tables.
As mentioned above, connection Many-to-Many can disturb the structure
of the database, because different designs can have various number of offers
from clients, that contradicts the 1NF (That no table column can have tables
as values and or no repeating groups).

The new entity holds information about offers proposed by the client, the
price of the design, and the end price that the work was sold for. That
enables to structure the table by the design id, client id, and the buying
process (price, offer, end price). Client can make multiple offers, but there
is only one client for each offer, the same with designs, and offer relation.

Student Number: 210550773 3


d_id
user_d_id

d_style
user_name

Designs Has User_designer

price
project_amount

contact_info (O)

Has Figure 3

ER Diagram

user_c_id

user_c_name

price

Offer Makes User_client

c_offer

c_offer

end_price d_style_needed

1.5

Here is a small sample of the data from the database.

Figure 5

User Client Table

Figure 4

Design Table

Figure 6

User Designer Table

Figure 7

Offer Table

Student Number: 210550773 4


1.6

Visualization and ideas for design of the service

Register Figure 8

First page

Figure 9

Buyer Creator Register page

To get started create an account!

Design 101 Edit Info or smthg Create account

/file not found


Name of name

Style of style

¿?uPlOaD SoMeThInG...?¿ Do you read this? If yes, Price

Offers

Name and the price offer


Accept
Name and the price offer
Decline
Figure 10

Design dispaly page


Name and the price offer

1.7

Code and design visualization for the query that displays information for the
client of bought work and gives an option to contact the creator.

Perchase History Back to whatever

Name and the price offer Name and the price offer

Name and the price offer


Contact The Creator
Name and the price offer

Name and the price offer

Name and the price offer

Name and the price offer

Name and the price offer

Figure 11
Figure 12

Query page Query code

Student Number: 210550773 5


1.8

A brief discription of how does the system operates


Designer or the client creates an acoount
Uploads his work to the plaform
Sets the price
Client reveiws the project
Client makes an offer, if he likes the work
Creator accepts or declines the offer
If acceptes, client can contact the creator fot further colaboration.

Student Number: 210550773 6


A B C D
00
11
22
Spreadsheet Report
2.1

While I was writing the first part of this course work, I remembered how hard
it was as a beginner to correctly evaluate your work. As an amateur designer
you never want to overprice or undersell your project, but it is not always clear
how to value it. Therefore, I decided to integrate a calculator that could help a
beginner designer and will integrate it with the website. For the user it will be
easy to use, because there are 4 different categories that should be filled in,
for further evaluation. Figure 13 represents a Used Case Diagram that
illustrates a case done by the creator, who is evaluating his work, and the
system that applies the formula to the input data.

Figure 13
System
UCD Inputs Data Applies

the formula

Analize popular Adds new values


categories
Evaluates new inputs
Creator System

2.2

The main part of the whole spreadsheet is the formula that calculates the
estimated price. I conducted some research among my fellow creators and
also included my own experience to create this formula: (0,3*(amount of hours
spent)+0,3*(the complexity of the work)+0,2*(the style of the project)+0,2*(the
size of the canvas))*1000. The work is done in the Numbers program, which is
the alternative to Excel from Apple. In Excel this formula would have used the
SUM function. Most valuable inputs are the amount of hours and the
complexity of the project. Hours and complexity are self-explanatory
categories, but the style and the size require some explanation. The style of
the project highly influences the complexity of the project; for example
brutalism is one of the most complex styles in design, so in my formula it is the
highest scored style. The size of the project means the amount of content
displayed in the project that also influences the complexity and the amount of
work done. This formula applies mostly to beginner designers and for the
more advanced creators it is not fully useful. I also included a situation where
the creator tries to input an uncertified style or size.
Student Number: 210550773 7
In that situation, the system will forward the input to the administration and
they will evaluate alternative input. There is a button for this that creates a
request. Evaluation of alternative inputs is done by professional designers and
quickly added to the system. Figure 14

Formula

ƒ= (0,3*(amount of hours spent)+0,3*(the complexity of the work)

+0,2*(the style of the project)+0,2*(the size of the canvas))*1000

2.3

There are 4 different tables in the system. The first one is already uploaded
projects; the second table is a reference table with the type of style and the
equivalent in score; the third table functions the same as the second but
regarding the size of the project. The last table functions as an input table.

This table represents already uploaded work to visualize how the formula
works. I used this data to construct the formula because it is based on the
more advanced creators and the information I conducted from them. After
applying my formula, I asked them about the output price to confirm that the
formula was correct. The first iteration of the formula was different, but after
the feedback I adapted it for it to be more realistic.

Figure 15

Uploaded projects

This table represents the evaluation score for the specific design according to
the complexity of the style. The data could be altered by the administration to
add new styles.

Figure 16

Different styles

Student Number: 210550773 8


This table represents the evaluation score for the size of the project. It can
also be changed by the administration.

Figure 17

Different sizes

Last of all, this table gives representation for the input for the user with all
descriptions of different categories. In the bottom right cell recommended
price will be outputted.
Figure 18

Input table
2.4

Using colors is the following: dark brown represents cells that can’t be altered
by the user; for example in the table for the input the recommended price cell
is in dark brown. Also, the same color is used to highlight different types of
styles and sizes, that too cannot be changed.

Figure 19

Colour scheme

2.5

All the data that is altered by the administrator is checked by data validations
and filters for the user to correctly input the data. For example, complexity is
measured from 1 to 5, so only those values can be inputed. The same filters
are in the input table

Figure 20

Data Validation

Student Number: 210550773 8


2.6

A brief description of how the system works.


User inputs all the values to evaluate recommended price for the project.
The system outputs the recommended price according to the formula.
If the input is not according to the system, it is forwarded to the admin.
Admin verifies and evaluates the new input and adds it to the system.

2.8

The creator can also open analytics to research which complexities and styles
are the most popular to focus on them to create more desirable designs. The
popularity of style is represented in a pie chart, because, in my opinion, it is
the most convenient way to consume statistics of such sort. The second graph
is a bar chart, which is also great for visualizing such data.

Figure 21

Pie chart

Figure 22

Bar chart

Made on MacBook Pro with the help of: Figma, Numbers, ERD Plus, DBeaver

Student Number: 210550773 9

You might also like