Professional Documents
Culture Documents
INFORMATION TECHNOLOGY
ASSIGNMENT 1 & 2:
UNIT: PROGRAMMING
i
ii
ASSIGNMENT 1 FRONT SHEET
Student declaration
I certify that the assignment submission is entirely my own work and I fully understand the
consequences of plagiarism. I understand that making a false declaration is a form of malpractice.
Student’s signature
Grading grid
P1 P2 P3 P4 M1 M2 M3 D1
iii
Assignment Feedback
Action Plan
Summative feedback
iv
ACKNOWLEDGMENTS
First of all, I would like to thank my family for allowing me to study at Btec
International College, one of the most modern schools in Vietnam. Next, I would like to
thank Mr. Vo Duc Hoang for sharing the experiences and ways we should use to study this
subject well, and I think that a good teacher is a teacher. study for students, not submit
knowledge to students. Next, I would like to thank my K2 IT students of Btec FPT because
they helped me complete this report in the best way.
v
ASSURANCE
I certify that this assignment is my own work, based on my personal study and that I
have acknowledged all material and sources used in its preparation, whether they be
books, articles, reports, lecture notes, and any other kind of document, electronic or
personal communication. I also certify that this assignment has not previously been
submitted for assessment in any other unit, except where specific permission has been
granted from all unit coordinators involved, or at any other time in this unit, and that I have
not copied in part or whole or otherwise plagiarised the work of other persons.
Learners declaration
I certify that the work submitted for this assignment is my own and research sources
are fully acknowledged.
Student signature: Date:
vi
TABLE OF CONTENT
ASSURANCE.............................................................................................................vi
TABLE OF CONTENT..............................................................................................vii
LIST OF FIGURES......................................................................................................x
LIST OF TABLES......................................................................................................xii
INTRODUCTION.........................................................................................................1
1.1 Identify the purpose and types of DNS, including explanations on how
domain names are organised and managed (P1).............................................................2
1.1.1 Definition...................................................................................................2
1.2.5 Relationship............................................................................................18
vii
1.4 Review the influence of search engines on website performance and
provide evidence-based support for improving a site’s index value and rank through
search engine optimisation (M2)......................................................................................23
2.1 Discuss the capabilities and relationships between front-end and back-end
website technologies and explain how these relate to presentation and application layers
(P3). 31
2.2 Discuss the differences between online website creation tools and custom
built sites with regards to design flexibility, performance, functionality, User Experience
(UX) and User Interface (UI) (P4)....................................................................................47
2.2.2 Differences between online website creation tools and custom-built sites
54
2.3 Evaluate a range of tools and techniques available to design and develop a
custom built website (M3)................................................................................................57
2.3.1 Tools.......................................................................................................57
2.3.2 Technique...............................................................................................58
viii
3.1 Justify the tools and techniques chosen to realise a custom built website
(D1). 60
3.1.3 Languages..............................................................................................62
CONCLUSION..........................................................................................................70
REFERENCES..........................................................................................................71
ix
LIST OF FIGURES
Figure 17 HTML5......................................................................................................34
Figure 18 CSS3.........................................................................................................35
Figure 19 Bootstrap..................................................................................................36
Figure 20 SASS........................................................................................................36
Figure 21 javaScript..................................................................................................37
Figure 27 C# language.............................................................................................41
Figure 38 Balsamiq...................................................................................................60
Figure 39 Photoshop.................................................................................................62
Figure 40 HTML5......................................................................................................63
Figure 41 CSS3.........................................................................................................63
Figure 42 javaScript..................................................................................................65
Figure 43 jQuery.......................................................................................................65
Figure 46 Xampp.......................................................................................................67
Figure 47 Apache......................................................................................................68
Figure 48 MySQL......................................................................................................68
Figure 49 PHP...........................................................................................................69
LIST OF TABLE
xi
Table 1 Hardware Requirements..............................................................................13
Table 5 Differences between online website creation tools and custom-built sites. 56
xii
xiii
INTRODUCTION
1.1 Identify the purpose and types of DNS, including explanations on how
domain names are organised and managed (P1).
1.1.1 Definition
DNS stands for Domain Name System, which means full name resolution system.
Most shortly, DNS is a system that converts the website domains we are using,
in www.tenmien.com form to a digital IP address corresponding to that domain and vice
versa.
1.1.2.1 Purpose
When "translating" like that, the browser will understand and log in. And when a
user logs in to a website, instead of having to remember and enter a range of hosting IP
addresses, just enter the website name and the browser automatically recognizes it.
Every computer on the Internet has a unique IP address. This IP address is used to
establish a connection between the server and the client to initiate a connection.
Whenever you visit an arbitrary website or send an email, DNS plays a very important role
in this case.
In countless websites around the world, no one will be able to remember every
sequence of IP addresses in every login. Hence, the concept of domain names was
introduced, from which each website would be identified with its unique name.
As a matter of fact, after receiving a request from DNS Recursive Resolver, the
Root Name Server will respond that it should look for specific top-level domain name
servers (TLD Name Servers).
DNS Recursor:
As mentioned above, this "hard handle" acts as an industrious employee, taking on
the task of retrieving and returning information to the browser to find the right information
they need.
In other words, DNS Recursor is responsible for communicating with other servers
in response to the user's browser. Of course, in the process of retrieving information,
sometimes it will also need the help of the Root DNS Server.
TLD Nameserver:
When you want to access Google or Facebook, usually, your extension is ".com"
right? So I want you to know that it is one of the Top-level Domains there. And the Server
for this type of Top-level domain is called TLD Nameserver. This is the entire information
system manager of a generic domain name extension.
In sequence, the TLD Name Server will respond from the DNS Resolver, then refer
it to an Authoritative DNS Server - or the official repository for that domain's data source.
On the other hand, the Authoritative Name Server contains information about which
address the domain name is tied to. This will give Recursive Resolver the necessary IP
address found in its list of records.
The working principle and process of DNS are divided into the following steps:
Step 1:
The client proposes a domain name resolution request and sends the request to the
local domain name server.
Step 2:
When the local domain name server receives the request, it first queries the local
cache. If there is this record, the local domain name server directly returns the result of the
query.
Step 3:
If the local cache does not have the record, the local domain name server directly
sends the request to the root domain name server, and then the root domain name server
returns the primary domain name of the domain (the subdomain of the root) of the local
domain name server. The address of the server.
Step 4:
The local server sends a request to the domain name server returned in the
previous step, and then the server that accepts the request queries its cache. If there is no
such record, it returns the address of the relevant lower-level domain name server.
Step 5:
Repeat step 4 until you find the correct record.
Step 6:
The local domain name server saves the returned results to the cache for the next
use and returns the results to the client.
It serves as the home address or zip code to locate. The web browser needs a
domain name to direct you to a website.
When you enter a domain name into your web browser, it first sends an access
request to a global network of servers forming the Domain Name System (DNS).
These global servers then look for a server whose name is associated with the
domain and forward the request to those nameservers.
ns1.foodweb.vn
ns2.foodweb.vn
The Name Server is the server that holds the database used for the conversion of IP
addresses and domain names managed by the domain name service provider. This
company will forward the user's request for access to the computer where the website is
hosted. This computer is called a Web Server. Web Server can be hardware or software,
or both.
As hardware, a Web Server is a real computer that stores the components of a website
(HTML, CSS, image files, ...) and can connect to the internet and distribute website
information to people's devices. end-use.
Like software, a Web Server consists of several components that control how web
users access files stored on an HTTP server (HTTP server) - the software that
understands URLs and HTTPs.
Whenever the browser needs data stored on the Web Server, the browser sends the
request over HTTP. When a request reaches the correct web server (hardware), the HTTP
server (software) sends the requested document back, also via HTTP.
The job of this layer is to define the interface between the user and the OSI
environment. Includes a variety of application protocols that provide ways for users to
access network environments and provide distributed services. When the Application
Entity (AE) is established, it will call the Application Service Element (ASE). Each
application instance can consist of one or more application service elements. Application
service elements are coordinated in the application entity's environment through
associations called Single Association Object (SAO). SAO controls communication and
allows the serialization of communication events.
The presentation layer solves problems related to the syntax and semantics of the
information being transferred. Representing user information by the network's working
information and vice versa. Usually the source and target application information
representation can be different because the applications running on the systems can differ.
The presentation layer is responsible for converting data sent on the network from one
representation to another. To that end it provides a generic media representation that
allows conversion from local to generic and vice versa.
The session layer allows users on different machines to establish, maintain, and
synchronize communication sessions between them. In other words, the session layer
establishes "transactions" between the terminal entities.
The session service provides a link between two endpoints that use the session
service to synchronously exchange data and release the link when it ends. Using Token
(Token) to perform data transmission, synchronize and cancel the link in simultaneous or
alternate transmission methods. Set up synchronization points in the conversation. When
problems occur, it is possible to restore conversations starting from an agreed
synchronization point.
The top layer is concerned with protocols for data exchange between open
systems, controlling the data transmission from node to node (End-to-End). Procedures in
the three lower layers (physical, data link, and network) only serve the data transmission
between adjacent layers in each system. The peer-to-peer entities talk to each other
during data transmission.
The transport layer does the division of large packets into smaller packets before
sending them and number the packets and ensure they move in the correct order. As the
last layer responsible for the security of data transmission, the transport layer protocol
depends heavily on the nature of the network layer. The carrier layer can multiplex several
links into the same link to reduce costs.
The network layer performs the functions of selecting a route for source to
destination packets that can be on the same or different networks. The path can be fixed, it
can also be defined at the start of the conversation, and it is possible that the dynamic
path can change with each packet according to the instantaneous load status of the
network. In the network, the broadcast type (Broadcast) routing is very simple.
Another important function of the network layer is the Congestion Control function. If
there are too many packets traveling on the same route, congestion can occur. Performs
the function of communicating between networks as packets travel from one network to
another to reach the destination.
The main function of the data link layer is to establish links and maintain and
destroy data links. Error control and flow control.
Divide the information into frames, transmit sequential frames, and process
Acknowledgment Frames from the receiver. Unstructured frames are converted to the
physical layer. The second layer receives and reconstructs the bit sequence into frames of
Perfomed Student: BDAF190002-TranVanMinhNhat 10
information. Physical transmission can cause errors, so the data link layer has to deal with
error control, flow control, and traffic control, preventing the source node from flooding the
data to the receiver. lower speed. In broadcast networks, the Medium Access Sublayer
(MAC) sublayer controls the maintenance of link entry.
The physical layer is the lowest in the 7-layer OSI model. Layer entities
communicate with each other over a physical path. The physical layer defines the
electrical, mechanical, and optical functions and procedures to activate, maintain, and
release physical connections between networks. Providing electrical mechanisms,
functions, procedures, ... to make the connection of network elements into a system by
physical methods. Ensures the switching requirements work to create real paths for the
information bit chains. The standards in the physical layer are the standards that define the
user interface and the network environment. Physical layer protocols are of two types:
asynchronous and synchronous transmission.
The word “server” is sometimes a little confusing because a server can refer to
computer hardware or the programs that run on that hardware. Here we are talking about
the actual hardware itself.
Servers are computers designed to wait for any requests from users or other
computers and then act on that request. Their main purpose is to be there for you, to share
data, and perform tasks to keep your workflow smooth and productivity elevated.
The higher the webshop requirements, the higher hardware specifications of the web
and database servers are. To begin with, you can think of the environment with the
following specifications that are for the Sana Commerce solution only:
Combined web
Web server Web server Combined web
&database
Item &database
(minimal) (recomended) server(recomme
server(minmal)
nded)
Processor 1,6 GHz CPU 2 x 1,6 GHz CPU 2 x 1,6 GHz CPU 4 x 1,6 GHz CPU
RAM 1,75 GB RAM 3,5 GB RAM 3,5 GB RAM 7 GB RAM
1x 40 GB of free space or more is recommended for the webshop data (non-
system drive is preferred)
HDD
1x 40 GB of free space or more is recommended for the software that is
listed in the software requirements (system drive)
Recommended
Microsoft Azure Basic medium Basic medium
Basic small VM Basic large VM
Virtual Machine VM VM
Configuration
Table 1 Hardware Requirements
1.2.3 Web server software
A web server includes several parts that control how web users access files stored
on an HTTP server. An HTTP server is a software that understands URLs (web
addresses) and HTTP (the protocol your browser uses to view web pages).
At its most basic, whenever a browser needs a file stored on a web server, the
browser requests the file over HTTP. When a request arrives at the correct web server
(hardware), the HTTP server (software) sends the requested document back, also over
HTTP.
A dynamic web server consists of a static web server plus software extensions,
most commonly an application server and a database. We call it "dynamic" because the
application server updates the cached files before sending them to your browser via the
HTTP server.
For example, to create the web pages you see in the browser, the application
server could populate an HTML template with the content retrieved from a database. Sites
like MDN or Wikipedia have thousands of web pages, but they are not actual HTML
documents, but just a few HTML templates and a huge database. This setup makes it
easier and faster to maintain and distribute content.
The web server where you install the Sana Commerce webshop and back office
application must meet the software requirements listed in the following table:
The database server where you install the Sana Commerce database must meet the
software requirements listed in the following table:
Component Notes
Enterprise, Business Intelligence,
Microsoft SQL Server 2012 Standard, Web, Express
Enterprise, Business Intelligence,
Microsoft SQL Management Studio 2012 Standard, Web, Express
Microsoft SQL Server 2008 R2 Express, Workgroup, Web, Standard,
-or- Enterprise, and Datacenter editions are
supported
Microsoft SQL Server 2008 with Service Pack 1
or later The web edition is recommended
Express edition can only be used if the
-or- database size is under 4GB
Microsoft SQL Server 2005 with Service Pack 2
or later
Microsoft SQL Management Studio 2008 R2
Express, Workgroup, Web, Standard,
-or-
Enterprise, and Datacenter editions are
Microsoft SQL Management Studio 2008 supported
-or-
Microsoft SQL Management Studio 2005
Table 3 Software Requirements for Database Servers
It is one of the most popular web servers in the world today developed by the
Apache Software Foundation. Apache is open-source software that supports almost all
operating systems including Linux, Unix, Windows, FreeBSD, Mac OS X, and others.
Approximately 60% of the computers run on the Apache Web server.
Customizing the Apache web server is easy because it has a modular structure.
Since it's open-source, you can add your own modules to the server as needed and make
modifications to suit your needs.
Apache is more stable than any other web server and it is also easier to handle
administrative problems. The more recent versions of apache offer the ability to handle
more requests when compared to previous versions.
IIS is a product of Microsoft. This web server also has all the same features as that
of Apache. However, this is not open source, moreover, adding individual modules is not
easy and modifications are more or less difficult. Microsoft is the developer of this web
server, so it runs on all platforms of the windows operating system. And Microsoft also
provides attentive customer support when there is any problem.
The host operating system is most commonly used to describe an operating system
that interacts with hardware and runs Type 2 hypervisors, also known as hosted
hypervisors, that run on the operating system. operator rather than direct interaction with
hardware. This Type 2 hypervisor can then create multiple virtual machines (VMs) that
each run a guest operating system. In this case, the guest operating system does not need
to be the same as the host operating system.
The term host operating system can also be used to describe an operating system
that uses virtualization-based on containers. Containers are logical partitions used to
separate applications on the same server. Instead of cloning the entire operating system
for each application, as is the case in virtual machines, containers allow applications on
the same server to share the same operating system kernel while providing isolation.
Hardware. This shared operating system is called the host operating system.
The server administrator may also encounter a confusing situation where the virtual
machine's guest operating system also serves as the host operating system for the
container. For example, consider a server running VMware's ESXi Type 1 hypervisor
hosting a virtual machine running a Linux distribution as the guest operating system. The
Linux guest operating system can then be used to create multiple Linux kernel sharing
containers, which in turn can be regarded as the host operating system.
1.2.5 Relationship
Some protocols are used in both the front and back end website technology. These
protocols are found in the application layer of the OSI 7-layer model.
HTTP (HyperText Transfer Protocol) – this protocol determines how resources are
transferred across the internet. HTTP is used to deliver data on the internet, it provides a
regulated method for computers to be able to communicate with one another. HTTP is an
application protocol that runs on the top level of the TCP/IP. The HTTP protocol uses port
80.
SMTP (Simple Mail Transfer Protocol) – The mail protocol uses the SMTP protocol
to send emails on the internet, it only sends the mail from one user to another. To receive
the emails, then the POP3 protocol is used to collect the mail from the receiver. This
protocol works with the Mail Transfer Agent (MTA) protocol to send your communication to
the correct computer and email inbox. The port number used by SMTP is 25.
Apache is the most commonly used web server software on the market 6. Apache
is open-source software and is maintained by a community of developers whilst being
backed by the Apache Software Foundation. Apache is a good software to use on a web
server as it is free to use and download and is most often used on Linux servers. Microsoft
has its web server software called IIS (Internet Information Services) it is not free like
Apache and requires a license and will only run on its Windows operating systems. The
Microsoft software comes with a tidy but takes some time getting used to GUI, it comes
with a panel to manage the connected servers, but everything is one place to is very easy
to manage.
It also comes with good security features such as the TLS certificate management
and binding for enabling HTTPS and SFTP on your websites. It also has software patches
that are regularly rolled out to keep up with the latest security threats in the world. The
security features in Microsoft’s software help to keep websites on the servers up and
running and keep downtime to a very low level, this will help companies keep their
financial losses down if their website does get attacked.
Most companies will use servers to host their websites, it is not essential but is
recommended as servers are needed to run all day every day of the year. A server needs
to be reliable more reliable than workstations in a business as they are always on. The
main job of a web server is to deliver the content of a hosted website on the internet to the
client. All computers that host websites must have web server programs, the most widely
used web server program is Apache. Any computer as long as it is connected to the
internet can be used as a web server as it has the appropriate software installed. Web
servers typically host many websites, some only host a few. Servers that host multiple
websites are called shared host while servers that host a website for a single company or
person is called a dedicated host, these dedicated hosts are appropriate for websites with
a high volume of traffic and sites that require custom server modifications.
The framework is a set of source code built, developed, packaged, and distributed
by professional programmers. The framework will provide developers with a standard
development structure on which developers build and develop projects. Attached to it is a
library repository consisting of many classes - handlers are placed in separate packages
or namespaces. Professional programmers will use their programming skills and
algorithms to create the most optimal processing classes, solving requests in the fastest
and most accurate way.
Although web-enabled applications are commonplace on the Internet and are used
every day by most Internet-connected individuals, they are still in their infancy when it
comes to developing tactics and tools. This is why it’s so important to have a web
framework to act as a support system for the development and deployment of such
applications. A web application framework is one such tool, and this article shows how it
can help to build a web app that complies with the most modern web standards.
Efficiency: Frameworks eliminate the need to write a lot of repetitive code that you
will find being used in many different applications. The advantage of efficiency will never
be underestimated. You can expect to build a project in much less time than would be
achieved by writing code without a framework.
Integration: For building almost any type of application (including a website) where
you want to store some data, you will typically use a database. There also exist many
other tools that link to web development. Many frameworks will thus make it easier to link
to these tools and also communicate with them
Scalability: When you develop a software alone, there are high chances that you
will release it to a few of your close friends to test it out, and give you some feedback that
you hope to use to fix any issues or proceed with the release. This is not dependable, and
you might end up making some grave mistakes that you can regret in the future.
Development frameworks are tested by millions of users and thousands of developers;
hence it is highly likely that your software will scale better than the one you develop alone.
Libraries: In real life, libraries are places where you can access information for
free. But as far as programming is concerned, a library is a collection of objects, functions,
and methods (depending on the language) that can be reused and shared among multiple
applications. A library performs specific, well-defined operations. A library is usually
created when a problem of a certain domain starts to be frequently encountered in
programming. A common example is operations and data structures that are not built into
the language – like reactive extensions, advanced collections, etc.
You learn the framework, not the language: I believe this to be a significant
issue. If you’re making use of a framework and you know very little about the language
behind it, you will certainly find out the framework and not the language itself. The method
you code jQuery is different from the way you code javascript. Simply put, if you know
jQuery, it doesn’t imply you understand javascript.
Restriction: The framework’s core behavior cannot be modified, indicating that when
you utilize a framework, you are required to respect its limitations and work the way it is
required. Ensure you choose a framework that fits your needs.
The goal is to decrease the number of decisions the programmer has to make and
eliminate the complexity of having to configure all and each of the areas of application
development. The immediate result is that you can create many more things in less time.
Besides, the IDE integrates other supporting tools such as compiler (Compiler),
interpreter (Interpreter), error checking (Debugger), format or highlight code, code
directory organization, code search ...
In the simplest sense, IDE is a software that includes other software packages, IDE
helps programmers to develop software applications.
Localization is the process of translating your app into multiple languages. But
before you can localize your app, you internationalize it. Internationalization is the process
of making your app able to adapt to different languages, regions, and cultures. Because a
single language can be used in multiple parts of the world, your app should adapt to the
regional and cultural conventions of where a person resides. An internationalized app
appears as if it is a native app in all the languages and regions it supports.
The App Store is available in over 150 different countries, and internationalizing your
app is the first step to reach this global market. In-App Store Connect, you specify whether
your app is available in all territories or specific territories. Then you customize your app
for each target market that you want to support. Users in other countries want to use your
app in a language they understand and see dates, times, and numbers in familiar, regional
formats.
Validation is an automatic check to ensure that the data entered is sensible and
feasible.
When programming, it is important that you include validation for data inputs. This
stops unexpected or abnormal data from crashing your program and prevents you from
receiving impossible garbage outputs.
1.3.2.5 Testing
In general, testing is finding out how well something works. In terms of human beings,
testing tells what level of knowledge or skill has been acquired. In computer hardware and
software development, testing is used at key checkpoints in the overall process to
determine whether objectives are being met. For example, in software development,
product objectives are sometimes tested by product user representatives. When the
design is complete, coding follows and the finished code is then tested at the unit or
module level by each programmer; at the component level by the group of programmers
involved; and at the system level when all components are combined. At the early or late
stages, a product or service may also be tested for usability.
Search engines work by retrieving a list of known URLs, then going to the
scheduler. The scheduler decides when to crawl each URL. The crawled pages then go to
the parser where the critical information is extracted and indexed. The parsed link goes to
the scheduler, which prioritizes crawling and recrawl.
When you search for something, search engines return relevant pages and
algorithms that rank them according to relevance.
1.1.1.1 Scheduling
The scheduler assesses the relative importance of the new and known URLs. It
then decides when to recrawl new URLs and how often to recrawl known URLs.
1.1.1.2 Crawling
A crawler is a computer program that downloads websites. Search engines discover
new content by regularly recrawling known pages where new links are often added over
time.
1.1.1.3 Parsing
The parser extracts links from the page, along with other important information. It
then sends the extracted URLs to the scheduler and extracts the data for indexing.
1.1.1.4 Indexing
Indexing is where information parsed from crawled pages is added to a database
called a search index.
The better a web page's search engine optimization, the higher a ranking it will
achieve in search result listings. SEO can help a website beat out competitors offering a
similar product or service.
Have you enabled a security key for your website? When a visitor comes to your
website, HTTPs in the address bar will let the user know that your website is trustworthy
and secure.
Especially for e-commerce sites, where you enter your customers' personal and
account information, a lack of security could cause your potential customers to leave your
site.
The website server is the place where you store your website, you have to make
sure your website is running at the best speed for your users. As you know, web speed is
a technical ranking factor so server performance matters!
Since the introduction of Smart Phone, internet users have changed to use web
surfing, mobile search rather than the computer.
If your site is not mobile optimized, your rankings will suffer and your bounce rate
will increase. Here's how to make your mobile-friendly version of your website effective:
Use the extension or the Google Developer Console to see what your mobile
version looks like while developing your website
Use the Search Console to fetch both mobile and desktop versions of your website
Make sure to have a fully responsive website
1.4.4.4 Confirm that your Content is being indexed by Google
If your site is not indexed by Google, then all SEO efforts are completely void.
To see if google has Indexed your website, you can check it by typing in a search
engine with the content "site: domain name". If Google immediately displays the search
results on your website, it is indexed. Note when Google Index:
Make sure the H1 & Meta Description tags are correctly displayed
Check the google Index with the Google Search Console tool
1.4.4.5 Pay attention to your Website Map
When submitting your page directly to Google through Search Console, the easiest
way is to resubmit the sitemap. A sitemap makes navigation easier for spiders to crawl
through your website's content. Have a good sitemap that indexes the deep or one-level
pages that you want most.
You really need to audit the outbound links from your website. Looking for high
quality content while linking really high domain authority sites. Here are some items to
check out:
Search Console helps to track your website status on SERPs. It helps troubleshoot
error reporting, track website traffic to your website, performance and mobile usability
issues with your website. It allows you to track the "health" of your website.
Understanding what people are searching for is essential for the success of any
Google Ads campaign, especially during the process of developing an effective campaign
strategy and creating highly relevant ads. Understanding what people are searching for is
essential for the success of any Google Ads campaign, especially during the process of
developing an effective campaign strategy and creating highly relevant ads.
There are a variety of ways you can discover which keywords people are using to
search online when it comes to developing a campaign for your business, including using
the Google Keyword Planner tool and Google Trends.
Keyword Planner Tool: Google Keyword Planner, a free-to-use tool within Google
Ads, provides extremely important insights into online behavior. It shows what people are
searching for online and the amount of times, per month, a specific keyword or phrase has
been searched. With this data, you can tailor your campaigns to ensure your online ads
will be relevant to your potential customers and be able to find them with the right
keywords, especially as you can also search by geographical location. This will also help
improve your chances of appearing at the top of the search engines for specific terms you
are bidding on as part of your overall online marketing strategy.
You know content marketing plays a significant role in influencing buyer decisions
because it lends credibility to your brand, increases brand awareness, and can generate
more leads or sales. Synchrony Financial, formerly GE Capital Retail Bank, conducts an
annual Major Purchase Shopper Study and found that 80% of shoppers aiming to buy
something above $500 begin their research online – a 20% increase from the year prior.
Keyword research, using search engine tools like Google AdWords, Bing’s Keyword
Research Tool, io, AnswerThePublic.com, and Ubersuggest.io,
Ask your staff what questions they get asked every day. Include anyone who talks
to prospects or clients – from customer support members to sales reps.
Have a chat with your market research analyst to dig through company studies and
surveys, identifying what your customers are most concerned about.
Look through the data from a chat feature on your website; it may be an information
gold mine.
Talk with those who worked your booth at your latest trade show to see what topics
were most prominent in conversations.
Share your content marketing goals company-wide, and empower team members
to share ideas as they come with your content team.
User-friendly URLs are URLs that are easy for the user to remember, encouraging
users to revisit the page frequently by putting the URL in the address bar of an internet
browser.
A long URL with numbers and symbols is more difficult to remember than a simple
“www.example.com/faq” for the FAQ section of the company’s website.
Quality: After you adjust the dimensions of your image you need to reduce its
quality so it gets even lighter. Before you get all scared about that, reducing its quality it’s
not about making it look ugly and cheap. No. It’s about lowering the amount of data we use
to represent it on the website. On major design or photo editing apps, the quality of an
image can be reduced from 100% to 0%.
File format: The most common formats for images on the web are JPEG (or JPG),
PNG, and GIF. In most cases, JPEG is the format that results in a lighter image. It
compresses the image and allows you to choose a quality degree, as I explained before.
PNG is mostly used when you need the image to have a transparent background, which
JPEG doesn’t allow. Like when using a logo, an illustration, etc. It creates higher quality
images (because it doesn’t compress the images as JPEG does), but also heavier files.
Therefore, it’s mostly used in smaller amounts and for smaller images.
Tools to do all this: Now that we covered the 3 factors involved, here’s how to
achieve it. There are 2 ways of managing dimensions, quality, and file format: Using
software like Photoshop / Illustrator / Sketch. Using an online tool like Reduce Images
CDN is a network located all over the world with powerful web servers that take
care of loading your site’s files to the visitor using the closest server to him, geographically
speaking.
Headers are the easiest way to split up text into easy-to-read content.
If you are promoting an article for your website, and you title it with anything that
has a number, your audience is going to scan for those points.
So if your headline is "6 Simple Weight Loss Tips", then your readers are going to
land on your site, and quickly scan to see what those tips are. They are going to see if
those tips are helpful. If they are useful, then your reader may dive deeper into each tip.
If you do not use numbers in your headline but have a "how-to" or "guide" in your
title, then the same idea applies. Your reader needs to be able to scan the article enough
to see if your guide can help them.
Most importantly, make sure your headings are clear! The heading isn't the place to
be clever, if your reader can't tell right off the bat what you are trying to get across, they
will leave.
2.1 Discuss the capabilities and relationships between front-end and back-
end website technologies and explain how these relate to presentation
and application layers (P3).
A static website is a website with constant content. The user cannot alter its content
interactively.
A static Web site can be a blog or a news site with pre-built content and images.
The end users can only read and redirect pages through the links and cannot change the
content displayed. It can be understood that the "static" Website is merely a text, we can
only read and not manipulate it.
A Web page is considered "static" if it contains only HTML documents, CSS Code,
and does not contain JavaScript scripts that handle interactions.
A "dynamic" Web site is a web page with modifiable content. Users can interact with
the website to change its displayed content without having to reload the page.
Structurally, a dynamic website always contains three elements: HTML text, CSS
code, and JavaScript code that handles interactions. JavaScript's job is to change the
Node elements in the DOM (in this case, HTML) based on user interactions.
The front-end is the opposite of the back-end. It’s all the components of a website
that a visitor can see (pages, images, content, etc).
While web design is the way a website looks, front-end development is how that
design gets implemented on the web.
Front-end developers link together the world of design and technology, packaging
up the utility of the back-end in an inviting way for users to interact with. Core elements of
front-end development include design/layout, content, buttons, images, navigation, and
internal links.
HTML stands for HyperText Markup Language [1] is used to create a web page, on
a website it can contain many pages and each page is defined as an HTML document
(sometimes I will write it as an HTML file). The father of HTML is Tim Berners-Lee, also
the creator of the World Wide Web and the president of the World Wide Web Consortium
(W3C - the organization that sets standards on the Internet).
An HTML file will contain HTML elements and are saved under a .html or .htm
extension.
HTML4 has worked very well, but it has some drawbacks. The HTML5 development
team certainly has a higher take on the next step of HTML, which means HTML5 must be
built on top of the following principles:
The <header> and <footer> tags help you separate the top and bottom sections of
content blocks. To be able to use multiple times on a single page.
The <article> tag helps to identify a specific piece of content, for example, a blog
post or a reader comment.
The <nav> tag identifies which sections are considered navigation blocks.
The <section> tag allows you to define a certain piece of content; is similar to the
current <div> tags.
The <audio> and <video> tags to mark content that include audio or video.
The <canvas> tag allows you to draw graphics using a separate scripting language.
The <embed> tag is used to embed external content or applications on the web
page.
HTML5 also removes some tags: <acronym>, <applet>, <font>, <frame>, <frameset>,
<noframes>, and others.
Figure 22 HTML5
CSS is a language to create the style for the website - Cascading Style Sheet
language. It is used to style and style elements written in a markup language, such as
HTML. It can control the formatting of multiple web pages at the same time to save the
effort of web writers. It distinguishes the appearance of the web page from the main
content of the page by controlling the layout, color, and font.
CSS was developed by the W3C (World Wide Web Consortium) in 1996, for a
simple reason. HTML is not designed to be tagged to help with web page formatting. You
can only use it to "bookmark" your site.
Tags like <font> were introduced in HTML version 3.2, which causes a lot of trouble
for programmers. Because the website has many different fonts, different background
colors, and styles. To rewrite your website code is a long, arduous process. So the CSS
generated by W3C is to solve this problem.
The correlation between HTML and CSS is very close. HTML is the markup
language (the foundation of the site) and the CSS that defines the style (all that makes the
website look), they are inseparable.
Theoretically, there is no CSS, but then the website will not just be a page
containing text but nothing else.
Figure 23 CSS3
2.1.2.2.4 Bootstrap
Bootstrap is a framework that allows for faster and easier responsive website
design
Figure 24 Bootstrap
2.1.2.2.5 SASS
Figure 25 SASS
2.1.2.2.6 JavaScript
animated graphics
photo slideshows
autocomplete text suggestions
interactive forms
An even better way of understanding what JavaScript does is to think about certain
web features you use every day and likely take for granted—like when your Facebook
The results of JavaScript may seem simple, but there’s a reason why we teach an
entire segment on JavaScript in both our Front End Web Developer and Break into Tech
Blueprints. Underneath all those great animations and autocompletes—there’s some pretty
fascinating stuff happening. This guide will break down exactly how JavaScript works and
why and how to use it, plus the best ways to learn JavaScript if you’re realizing you need it
in your skillset.
Figure 26 javaScript
2.1.2.2.7 Responsive Design
Responsive design is an approach to web design that makes your web content
adapt to the different screen and window sizes of a variety of devices.
For example, your content might be separated into different columns on desktop
screens, because they are wide enough to accommodate that design.
If you separate your content into multiple columns on a mobile device, it will be hard
for users to read and interact with.
Perceived performance can be described as simply how fast does your website
feels when it loads? This can be slightly different than how fast your website loads.
Perceived performance is all from the perspective of the user, not from a website speed
test tool. Generally, the two go hand in hand, but that's not always the case. Below are a
couple of examples of things that might speed up your site, but not necessarily help your
perceived performance.
The bottom of the web page is the part that is hidden from the view of regular
website visitors, in the back, if you wish. Back-end enables front-end experience,
information structure processing, and applications.
Think of the user interface as part of an iceberg on water. That's what the user sees
- the website looks good. The back end is the rest of the tape; It cannot be seen by the
end-user, but it is the most basic element of a web application. The back-end runs on the
server, or it is often referred to as the "server-side".
VCS stands for Version Control System is a type of software that helps us manage
changes in the project's source code over time easily and conveniently.
The VCS stores every change in the project's source code in a special database.
We can easily query for a change in source code in a file at any one time. And if needed
we can easily reverse the source code in the file back to an earlier point in time.
Debugging:
Debugging is the process of fixing a bug in the software. It can defined as the
identifying, analyzing and removing errors. This activity begins after the software fails to
execute properly and concludes by solving the problem and successfully testing the
software. It is considered to be an extremely complex and tedious task because errors
need to be resolved at all stages of debugging.
Full Stack is also called a programmer, it can be said that this is the person
responsible for all jobs related to Server, DataBase, Front End, Back End, UX, UI ... etc ...
In the above role, a Full Stack developer can also undertake the following related jobs:
Sever, network, and hosting. Why they can take on this role is because no one is
knowledgeable about the hardware, operating system, environment, and system settings
for deploying applications. So they will capture many factors to be able to handle this job.
Database. Referring to the database, people in the technology industry will think
about database analysis and design. Yes, Full Stack Developer will be the person who
analyzes and designs the database and uses the database management systems such as
MySQL, SQLServer, NoSQL ... Full Stack programmers must be able to write the queries
in this role.
API / Back-end code. This is the job that Full Stack programmers can use one or
more server-side languages as well as other programming languages such as Ruby,
Python, PHP, Java, C # ... to write web applications and Web service also known as web
service.
Front-end code: programmers use HTML5, CSS3, Javascript, and frameworks like
Bootstraps, Jquery, AngualarJS for web and web application setup. - UI / UX.
Client work. Also, the final role of a Full Stack developer can communicate and take
requests from their customers and write down other technical documentation such as
technical specs. Architecture documents and documentation.
The front-end part of a website is the interface to interact with the user. All the
elements that you can see on the website belong to the front-end from fonts, colors to
menu bars, up and down sliders. They are all a combination of HTML, CSS, and
JavaScript.
For the front-end of a website to work, the back-end must be well-built. The back-
end consists of a server, an application, and a database. Code written by the back-end
developer is the part that will help the front-end communicate and interact with the user.
Any element that cannot be easily seen with the eye belongs to the job of the back-end
developer.
Back-end:
In addition to making functions for the website, back-end web developers are also
responsible for finding ways to optimize their functions, ensuring the processing speed and
performance of the entire website.
Furthermore, back-end web developers are also people who have to work with
databases. This is an indispensable part of a website to store information about users,
products, ... The database that is familiar with back-end web developers is MySQL,
MongoDB, or PostgreSQL.
Web design is a web development process that aims to create a website that
focuses on aesthetic elements such as layout, user interface, and other visual images to
make the website attractive and easy to use. used more. Web designers use various
programs and tools to achieve the desired look, such as Dreamweaver, Photoshop, and
many others. In order to create a winning design, web designers need to think about their
audience, the purpose of the website, and the design's visual appeal.
Front End (also known as client-side) is all about what a user sees when they visit a
website, including design categories and languages like HTML or CSS.
Users interact directly with many aspects of the front-end such as: identifying the
location of the logo, main colors, searching and reading information, using buttons and
features on the web ... End purpose Front End is intended to bring an eye-catching
interface, making it easy for users to manipulate and use.
Front-end Back-end
Interacting with customers and users Interact with the server
Gather the user's information Handling user information
Developed a graphical user experience and Redeveloping the brain of the web makes the
interactive interface website work again more efficiently
Esponsible for accessibility, search engine
Security, backup according to process, logic
optimization
While both frontend and backend form the basis of how a website works, they have
their fair share of
Differences in terms of functionality. Despite everything, they are like two sides of
the same coin. While the
Former is everything a user sees and interacts with, the latter is what a user cannot
see. Frontend refers to the
Client-side, whereas backend refers to the server-side of the application. Both are
crucial to web
Development, but their roles, responsibilities, and the environments they work in are
different.
The frontend is basically what users see whereas the backend is how everything
works.
2.1.5 How Front-end and Back-end relate to presentation and application layer
The representation layer is concerned with the syntax and semantics of the data
between two systems.
The application layer allows users and software to access the network, provides a
user interface and support for services such as mail, file access/transfer, database
sharing, and distribution services. other canopies.
2.2 Discuss the differences between online website creation tools and
custom built sites with regards to design flexibility, performance,
functionality, User Experience (UX) and User Interface (UI) (P4).
Website creation support website can be understood as websites where users can
access, use available features to set up a website of their own with a system of unique
interfaces and features. . Free website creation support website is considered as a means
of bringing convenience to many individuals and units who do not have much experience
or expertise in creating a website in the form of coding, programming with software,
machines…
Now, with websites that support free website creation, users can freely edit, set up,
and customize their websites until they are satisfied. Thanks to this convenience, many
websites are offering free website creation services for visitors.
The website builder is a program, or tool, that helps you build a website.
Web-based online website builder and running on vendor service. Unlike the offline
website builders, you don't need to download or install software on your computer - all you
need is a web browser (i.e. Chrome, Firefox, or Internet Explorer) and a connection.
Internet. This allows you to work on your website from anywhere and from any device.
Another benefit is that the website builder comes with web hosting services, so you don't
need to buy and/or set up separately. Many online website builders are designed for
people with little or no coding experience.
Online website builders are designed to be very easy to use, allowing anyone –
beginners or experienced designers – to create an entire website within minutes using a
drag-and-drop editor. Users build a website simply by dragging elements and dropping
them to the desired location, no coding knowledge or experience is required. It’s as easy
as moving file icons on your computer.
Step 1:
You start by choosing a design template that best fits your needs. All online
website builders come with a library of website templates.
Step 2:
Each template comes with built-in elements and content. To edit an element (ie.
replace the text and images with your own) all you need to do is click on it. This will open
the editor where you can make changes.
Step 3:
Step 4:
Once you are happy with your new website, just click on the Publish button and
your website will be viewable online.
Custom built websites involve a team behind your business. It starts with a creative
process to understand who is your target audience, who do you want to reach, how you
want/need the website to function and how do you want to look on the internet.
SEO plays a big role in the success of any website. There are rules to follow when
building a site and not all themes are capable of abiding by these rules. This is why
custom-built websites are so much more superior, the developer can optimize the site
during creation to allow for google and other search engines to read each page to give the
end-user a more relevant search result thus, giving custom-built sites naturally a better
ranking on the system. This goes beyond keyword research.
Custom built websites tend to take longer than themes, this is because everything is
being built and catered to a particular business. It will save time in the long run because
when it's built from the ground up it’s a lot easier to customize the site to ensure your site
It can be helpful to write down one or more clearly defined goals, or a summary of
the expected goals. This will keep the design in the right direction. Make sure you
understand your site's target audience and develop a working knowledge of the
competition.
This isn’t necessarily a problem for designers, as it can often lead to more work. But
if the increased expectations aren’t matched by an increase in budget or timeline, the
project can rapidly become utterly unrealistic.
Building a site without a sitemap is like building a house without a blueprint. And
that rarely turns out well.
First, content engages readers and drives them to take the actions necessary to
fulfill a site’s goals. This is affected by both the content itself (the writing), and how it’s
presented (the typography and structural elements).
Dull, lifeless, and overlong prose rarely keeps visitors’ attention for long. Short,
snappy, and intriguing content grabs them and gets them to click through to other pages.
Even if your pages need a lot of content — and often, they do — properly “chunking” that
content by breaking it up into short paragraphs supplemented by visuals can help it keep a
light, engaging feel.
Purpose 2: SEO
Content also boosts a site’s visibility for search engines. The practice of creating
and improving content to rank well in search is known as search engine optimization or
SEO.
Getting your keywords and key-phrases right is essential for the success of any
website. I always use Google Keyword Planner. This tool shows the search volume for
Images are taking on a more significant role in web design now than ever before.
Not only do high-quality images give a website a professional look and feel, but they also
communicate a message, are mobile-friendly, and help build trust.
Step 6: Testing
Once the site has all its visuals and content, you’re ready for testing.
Thoroughly test each page to make sure all links are working and that the website
loads properly on all devices and browsers. Errors may be the result of small coding
mistakes, and while it is often a pain to find and fix them, it’s better to do it now than
present a broken site to the public.
Step 7: Launch
Now it’s time for everyone’s favorite part of the website design process: When
everything has been thoroughly tested, and you’re happy with the site, it’s time to launch.
Don’t expect this to go perfectly. There may be still some elements that need fixing.
Web design is a fluid and ongoing process that requires constant maintenance.
Web design — and, design in general — is all about finding the right balance
between form and function. You need to use the right fonts, colors, and design motifs. But
the way people navigate and experience your site is just as important.
Skilled designers should be well versed in this concept and able to create a site that
walks the delicate tightrope between the two.
A key thing to remember about the launch stage is that it’s nowhere near the end of
the job. The beauty of the web is that it’s never finished. Once the site goes live, you can
continually run user testing on new content and features, monitor analytics, and refine your
messaging.
2.3.1 Tools
Advantages Disadvantages
It provides a very It’s very heavyweight, has a
comprehensive overview lot, A LOT of plugins, and some
It combines theory and of them you never need them.
practice You can’t customize it, I mean
Netbean It provides many samples. you cannot uninstall the
It is a "living book" plugins to make the IDE faster.
It is not for beginners only. The debugger is really slow,
compared with the IntelliJ or
eclipse.
Identifying the different In addition to the ability to
vendor coding within the text. manually comparing the text
Easy to use and provides many file, Sublime has the feature of
preferences that suit all users' automatically comparing the
needs. files but it's hard to use and
Manipulating text is easy and needs to be improved because
efficient. it's a useful feature.
The ability to add package Although Sublime Text has the
Sublime text controls. features of identifying the
You can freely evaluate the many vendor's coding, many
app. other vendors' coding can not
be identifying like Cisco-IOS
coding.
Adding the ability to mark or
highlight the text with
different colors would be nice.
Advantages Disadvantages
Large choice of available Declining popularity
specialists Lack of dedicated libraries for
Plentiful documentation modern needs
Improved loading speed Security flaws
The wide selection of databases
Inexpensive open-source
software
PHP Cheaper hosting services
Excellent combinability with
HTML
Good flexibility
Compatibility with cloud services
Simple Performance
Object-Oriented Look and Feel
Platform-Independent Single-Paradigm Language
Distributed computing Memory Management
Java Secure
Memory allocation
Multithreaded
3.1 Justify the tools and techniques chosen to realise a custom built website
(D1).
After researching on the internet, I have chosen for myself a tool to design
wireframe for my website that is Balsamiq.
Figure 43 Balsamiq.
When designing a website, Photoshop can be one of your allies when making the
site look vibrant and unique. There is a plethora of customization that can be achieved by
the software that had over 10million users on its 20th anniversary in 2010. In the 6 years
that have followed this, this number has surely increased, which means that a huge
number of people can reap the advantages of Photoshop.
Out of this number, however, quite a minority would use the software for the sole
purpose of designing a website. This means that people may not fully understand the
advantages of using Photoshop for web design due to the limited resources available on
this matter. This list will help to change that by highlighting just how helpful Photoshop can
be when designing a website.
Image Scalability
Photoshop also prides itself on providing clear images that will retain their clarity
even if they are changed in size. By clicking and holding the shift button then dragging the
image to whatever size you require. This is great for website pages that require larger
images as backgrounds, or smaller images to integrate into product pages, blog posts, etc.
So Many Fonts!
Photoshop offers a range of fonts themselves, however, if you are looking for
something a little funkier, then by using sites such as DaFont and 1001 Fonts, you can
implement a wide range of fonts that go beyond the realms of Photoshop. These include
famous fonts such as the Star Wars font and Harry Potter font, which can be great if you
are looking to create websites along with these themes.
Figure 44 Photoshop
3.1.3 Languages
3.1.3.1 HTML5
HTML5 is the latest and most enhanced version of HTML. Technically, HTML is not
a programming language, but rather a markup language. In this tutorial, we will discuss the
features of HTML5 and how to use it in practice.
This tutorial has been designed for beginners in HTML5 to make them understand
the basic-to-advanced concepts of the subject.
Cascading Style Sheets (CSS) is a language that is used to illustrate the look, style,
and format of a document written in any markup language. In simple words, it is used to
style and organize the layout of Web pages. CSS3 is the latest version of an earlier CSS
version, CSS2.
Figure 46 CSS3
Speed: JavaScript tends to be very fast because it is often run immediately within
the client's browser. So long as it doesn't require outside resources, JavaScript isn't
slowed down by calls to a backend server. Also, major browsers all support JIT (just in
time) compilation for JavaScript, meaning that there's no need to compile the code before
running it.
Rich interfaces: JavaScript can be used to create features like drag and drop and
components such as sliders, all of which greatly enhance the user interface and
experience of a site.
Versatility: There are many ways to use JavaScript through Node.js servers. If you
were to bootstrap Node.js with Express, use a document database like MongoDB, and use
JavaScript on the frontend for clients, it is possible to develop an entire JavaScript app
from front to back using only JavaScript.
jQuery is a fast, small, and feature-rich JavaScript library. It makes things like HTML
document traversal and manipulation, event handling, animation, and Ajax much simpler
with an easy-to-use API that works across a multitude of browsers. With a combination of
versatility and extensibility, jQuery has changed the way that millions of people write
JavaScript.
Figure 48 jQuery
3.1.3.5 Bootstrap
Microsoft Visual Studio Code is my favorite because there are lots of useful code-
editing features packed in a single software.
It saves time--it has a feature that automatically writes the rest of the code (Intelligent
Code Completion).
It has a very easy-to-use interface (UI) unlike any similar product in the market.
3.1.5.1 Xampp
Microsoft Visual Studio Code is my favorite because there are lots of useful code-
editing features packed in a single software.
It saves time--it has a feature that automatically writes the rest of the code (Intelligent
Code Completion).
It has a very easy-to-use interface (UI) unlike any similar product in the market.
Figure 51 Xampp
3.1.5.2 Apache
In addition to its popularity, it’s also one of the oldest web servers, with its first
release back in 1995. Many cPanel hosts utilize Apache today. Like other web servers,
Apache powers the behind-the-scenes aspects of serving your website's files to visitors.
Because Apache doesn’t perform as well in some benchmarks, especially for static
websites or websites with high traffic, Kinsta uses the NGINX web server instead of
Figure 52 Apache
3.1.5.3 Mysql
Websites and systems that store a lot of information like usernames, passwords,
and other customer data can get difficult to navigate. Without a structured database or
collection, accessing this information for various purposes is almost impossible. This is
where MySQL can be of help. The database management program lets you organize data,
so you can easily use it while keeping it safe from any breaches.
With years under its belt, MySQL has evolved to become a pioneer in database
service and management. It helps individuals, as well as corporations, collect and store
data. And this data can range from user information to polls to browser history to any other
information you intend to capture. The software is highly efficient, and companies
like Facebook, Google, Drupal, and WordPress, use it often.
Figure 53 MySQL
Figure 54 PHP
I had a lot of trouble completing this Assignment because there was so much new
knowledge to me, it took me a lot of practice and research to understand this knowledge.
Besides this knowledge in Assignment has helped to know more about the website field so
that I can improve my own programming skills such as the process that a website works,
how to design wireframe, tutorial on how to use frameworks, how to standardize SEO,
knowledge of the Front-end as well as the Back-end. Thereby I can improve my coding
skills, this knowledge will help me go further in my future work.
[2] Agranat, I. D., Giusti, K. A., & Lawrence, S. D. (1999). U.S. Patent No. 5,973,696. Washington, DC: U.S.
Patent and Trademark Office.
[3] Lubbers, P., Albers, B., Salim, F., & Pye, T. (2011). Pro HTML5 programming (pp. 107-133). New York,
NY, USA:: Apress.
[5] Welling, L., & Thomson, L. (2003). PHP and MySQL Web development. Sams Publishing.