Web Desing & Development
Web Desing & Development
managing websites
1.1 Differentiate the communication protocols, server hardware, operating systems and
web server software with regards to designing, publishing and accessing a website. Define
the types of DNS and the uses of it, with clarifications on how domain names are
structured.
- the main protocol used to transport material on the internet, including web pages. It
outlines how browsers, or clients, ask servers for online pages and how those servers
reply.
- an encrypted variant of HTTP that protects data sent between the client and server using
SSL/TLS certificates. Sensitive data transfer and safe online transactions depend on this.
- used to move files over a network between machines. Uploading website files to a web
server is a common usage for it.
- For email correspondence. SMTP is frequently used by web servers to send emails for
alerts, contact forms, etc.
How domain names Work - Your browser makes a query to a recursive DNS resolver when you
input a domain name. To determine the IP address linked to that domain name, the resolver
contacts authoritative DNS servers. The browser connects to the web server at that IP address
and requests the website content after locating the IP address.
Importance of DNS –
instructs the Internet to be easy to use DNS makes it possible for consumers to utilize
simple domain names rather than complicated IP addresses.
Website access: DNS is necessary to gain access to a website and other online resources.
Redundancy: DNS will withstand failures since it is spread across thousands of servers.
Allows load balancing: DNS can divide traffic among several web servers.
Second-Level Domain: This is the part of the domain name that comes before the TLD. It
usually consists of the major name of the domain representing the identity or brand of the
website. For example, in www.thamseer.com, Thamseer is the SLD.
Subdomain: This is an optional component that can be placed before the SLD. It's used to
designate specific sections or services within a website. For instance, www is a common
subdomain that often refers to the main website.
Branding: A domain name, if chosen appropriately, could make a web page solid in terms of its
brand and easily rememberable.
SEO: A relevant domain name would therefore boost the site's search engine ranking by
providing clues about the website's content and relevance to search queries.
1.1.7 Definition of search engines (Impact on websites traffic, impact on user engagement
and conversion speed and performance)
The internet's digital gatekeepers, search engines direct consumers to the information they need.
They have a significant impact on user engagement, website performance, and internet visibility.
For many websites, search engines are the main source of organic traffic. The search engine
ranks websites according to several criteria and displays a list of pertinent results when users
type in a search query. Potential customers are more likely to click on and visit websites that rank
higher in these search engine results pages (SERPs). The traffic and reach of a website can be
greatly expanded by this enhanced visibility.
Search engines prioritize websites that provide a positive user experience. When users find a
website that is easy to navigate, loads quickly, and offers relevant content, they are more likely to
stay engaged and explore further. This can lead to increased time spent on the site, higher page
views, and ultimately, improved user satisfaction.
Key SEO
It's critical to determine the pertinent terms and phrases that prospective clients are using when
searching. You can find appropriate keywords with the aid of tools such as Google Keyword
Planner.
On Page Optimization
This involves optimizing elements within your website's content and structure. Key areas
including:
Meta Tags
Heading
Content Quality
Image optimization
Techno optimization
Ensuring your website is technically sound to avoid search engine penalties. This includes:
Mobile Friendliness
Page speed
Site structure
XML Sitemap
OFF Page SEO
Building quality backlinks from other reputable websites. This can be achieved through:
Guest Posting
Link Building
Social media Marketing
The goal of front-end development is to create interactive and visible elements of a website that
people can see and use. It entails creating the functionality, layout, and user interface. Typical
front-end technologies consist of:
HTML
CSS
JavaScript
Front End Frameworks - Libraries of pre-written code that streamline front-end
development and provide reusable components. Popular frameworks include React,
Angular, and Vue.js.
CSS Processors - Languages like Sass and Less that extend CSS with features like
variables, nesting, and mixings, making it easier to write and maintain stylesheets.
The server-side logic and functionality of a website are the focus of back-end development. Data
handling, database interactions, and server-side processing are all part of it. Typical back-end
technologies consist of:
Developers who are proficient in both front-end and back-end technologies are often referred to
as full-stack developers. They have a well-rounded understanding of the entire web development
process, allowing them to work on various aspects of a project.
The primary concern of frontend frameworks is the user interface and client-side logic of a web
application. They provide a ground for constructing an interactive dynamic web page. Some
popular frontend frameworks include:
It provides a basis on which the server-side logic for a web application is written, and that would
include database interactions, routing, and API development. Popular back-end frameworks
include the following:
Django is a Python-based web framework aimed at rapid development and clean design.
It is called a batteries-included framework since it comes with quite a lot of built-in
functionality.
Ruby on Rails: A web framework for the programming language Ruby, which is based on
convention over configuration to facilitate agile development and maintainability.
Laravel: A PHP web framework that offers a variety of features like routing,
authentication, and database interactions. It's known for its elegant syntax and community
support.
Express.js is basically a web framework for Node.js that helps in making web
applications with a minimalistic approach. It has gained popularity because of its
performance and scalability.
ASP.NET Core is an open-source, cross-platform web framework developed by
Microsoft, used for building web applications using C#.
Basic tools used in writing and maintaining code include code editors and integrated
development environments. Some of the most popular options include:
Task runners and build tools are the ones that automate repetitive tasks like minification,
compilation, and testing. Some popular:
Gulp: A powerful task runner that bases its functionality on using declarative syntax.
Grunt: Also, a famous task runner works similarly to Gulp.
Webpack: Module bundler - it bundles JavaScript modules and other assets into one
single file efficiently.
Testing Tools
Testing is the process meant to ensure the quality and reliability of a web application. Common
testing tools:
Unit Test Frameworks: Jest, Mocha, and Jasmine form the popular frameworks that are
used in testing individual components of the web app.
End-to-End Testing Frameworks: These are tools used for the testing of the whole user
flow on a web application: Selenium WebDriver, Cypress.
Debugging Tools
Debuggers are utilities assisting a developer in tracing and fixing bugs in their code. Developers
use either browser developer tools or debugging extensions for code editors and IDEs.
Deployment Tools
Deployment Tools Deployment tools deploy a web application to a production server. Popular
ones are
FTP Clients: FileZilla and Cyberdeck are some popularly used FTP clients to transfer files to
web servers. Automation in Deployment Tools: Tools such as Capistrano and Ansible implement
automation in deployment.
1.1.12 Web functional management
Websites are interactive online platforms that can be used for a number of things, such as
allowing communication and commerce or offering information and services. They are made up
of linked pages that may be viewed with a web browser.
Websites can deliver text, images, videos, and other multimedia content to their users. They
allow users to interact with the content through forms, buttons, and links. Many of them keep
and manage data, such as user information, catalogs of products, or website analytics. They can
enable online shopping and transactions, facilitate communication through email, contact forms,
and online chat, create social communities and enable user interaction and collaboration, and be
optimized for search engines.
Managing Websites
Website management refers to keeping track of the creation, development, and enhancement of a
website. It involves:
Content Creation and Management: Creation and updating of the website's content will
comprise text, images, and videos.
Design and Layout: Ensuring that the website has an appealing and user-friendly design.
Technical Maintenance: Keeping the website's software and hardware up to date,
troubleshooting technical problems.
Security entailing protection from cyber threats, assurance of data privacy to the website.
SEO Optimization: Implementing strategies to improve the website's ranking in search
engines. Analytics: Tracking website performance and user behavior to make data-driven
decisions.
1.1.13 Justification of Tools and Techniques for Custom-Built Websites
There are a lot of factors that determine the choice of tools and techniques that would work in a
bespoke website, including, but not limited to, project needs, team experience, and scaling. The
justification for why web applications would be fitting in a bespoke website is detailed in the
points that follow.
Out-of-the-box websites are more flexible than using website templates or CMS platforms. They
could be tailored to specific business needs and requirements, considering unique features,
branding elements, and user experiences that meet organizational goals.
Scalability
Custom-built websites will also be easier to scale for growth and increased traffic. They can be
designed to handle larger workloads, and future scaling should pose no issue. This further helps
in optimizing performance, where one can fine-tune or scale at will.
You have full control over a custom-built website's codebase and the technology upon which it's
built. This option then affords you greater flexibility and independence. For owning the code,
maintenance updates, and customization can be made throughout without depending on third-
party platforms.
Security
A custom-built website can be designed with strong security measures put in place for the
organization. This allows for better control over security updates, patches, and management of
vulnerabilities.
Connectivity
to Other Systems Within a company, custom-built websites can be easily connected with other
apps and services. Workflow automation and effective data interchange are made possible by
this.
Cost-Effectiveness
Over Time A custom-built website may have greater initial development costs, but it may end up
being more economical in the long run. You get away from the ongoing costs connected to pre-
made platforms or templates. Custom-built websites eliminate the need for regular redesigns or
platform migrations by adapting to shifting industry trends and company needs.
Proof
Custom-built websites have been used by many prosperous businesses to accomplish their
objectives. E-commerce behemoths like Amazon and eBay, for instance, have systems that are
specifically designed to meet their needs and grow to accommodate high traffic volumes. In
order to manage billions of users and provide individualized experiences, social media sites like
Facebook and Twitter also depend on specially designed infrastructure.
L02 Categories web site technologies, tools and software used to develop
website
2.1 Define the relationships between front-end and back-end website technologies and
explain how the front-end and the back end relate to presentation and application layers.
2.1.1 Introduction to front end and back end relate to presentation and application layers
Two crucial elements of web development are front-end and back-end technologies, each of
which has a specific function. They have distinct jobs and responsibilities even if they
collaborate to build a comprehensive website.
Frontend Technologies
This will include the responsibility of the visible and interactive components of the website by
front-end technologies. They work upon the presentation layer, which actually means the design,
layout, and user interface of the website.
Back-End Technologies
Back-end technologies deal with server-side logics and functionalities of a website. They deal
with the application layer that incorporates the processing of data, database interactions, and
various server-side operations.
Key back-end technologies:
Regular programming languages are Python, Ruby, PHP, Java, and Node.js for back-end
development.
Web frameworks: Django, Ruby on Rails, Laravel, Express.js, etc., provide a structured
way of developing the back end.
Databases: MySQL, PostgreSQL, MongoDB, Oracle - used for data storage and
administration.
Server technologies: Apache, Nginx, and Microsoft IIS are used to serve web pages to the
users.
Front-end forwards the request for data or an action to the back end. Back-end processing of
requests: It performs the back-end processing, interacts with the database, and returns data or an
action that is requested. The front end is used to display results: It gets the data from the back
end and displays it to the user.
Front-end request: The front-end asks the back end to provide some data, do a query on a
database, perform a computation, or process user input.
Requests are processed by the backend, which also communicates with the database
when necessary and returns the necessary data or performs the requested action after
receiving requests from the frontend.
It sends the data or results that must be displayed to the user to the front end after
receiving responses from the back end.
To present information or additional intended actions, the frontend dynamically refreshes
the user interface after receiving data or results from the backend.
1.2.3 Connection to presentation layer and Application layer
A comprehensive web application is created by combining front-end and back-end technologies,
each of which is essential to the process. While the back end (application layer) manages the
underlying logic and data processing, the front-end (presentation layer) oversees what the user
sees and interacts with.
The Connection
Application Programming Interfaces (APIs) provide data and functionality exchange between the
front-end and back-end levels. This enables the back end to handle requests and provide the
required data or outcomes, while the front-end can request data or actions from the back end.
User Interaction: The interaction of the user with the front-end is done through the
clicking of buttons, forms, and navigation on the website.
Front-End Request: The front-end sends a request to the back end, specifying the desired
action or data.
Back-end Processing: The back end will receive the request, process it, and interact with
the database or any other operation deemed necessary. Processing or data fetching: Here,
the backend fetches the data requested or executes the action required.
Back-End Response: A response is returned to the front-end from the back end containing
the data or results.
Frontend Display: The backend feeds either the information or the results to the frontend,
which dynamically updates the UI to display the information or the desired action.
2.2 Critically compare the difference between online website creation tools and custom-
built sites. Consider Followings: design flexibility, performance, functionality, User
Experience (UX) and User Interface (UI). Compare and contrast the tools and techniques
available to design and develop a custom-built web application for Malcome and Lismore.
Select the most suitable tools, techniques and justify your selection with valid reasons.
2.2.1 Introduction to online website creation and custom-built site and the comparison
based on
When creating a website, there are two primary approaches: using online website creation tools
and building a custom-built site.
Because of their user-friendly interface, online website building tools enable people to construct
websites without requiring a lot of coding expertise. They frequently provide drag-and-drop
capabilities, pre-made themes, and integrated services like blogging and e-commerce. Weebly,
Squarespace, and Wix are a few examples.
A customized website offers far more flexibility and control, opening up even more opportunities
to guarantee a high-performance, customized experience, even while internet website building
tools offer that simple, open access to constructing a website. Naturally, the requirements and
objectives of the specific project at hand will determine which is ideal.
2.2.2 Tools and techniques Available to develop custom build web application for Malcolm
Lismore
The following resources and methods could be taken into consideration in order to develop a
unique website for freelance photographer Malcolm Lismore:
HTML5: It is an essential markup language to develop the structure of a web page, to define its
content and layout.
CSS3: A pre-defined style sheet language applied for web pages and controlling the design
aspects like colors, fonts and layout of the page.
JavaScript: It enhances the scope of web pages by enabling features such as image galleries,
contact forms, or animations. It makes web pages interactive and dynamic
Front-end frameworks: Instead of starting from scratch, one can use platforms such as React,
Angular or Vue.js to speed up the process of development, as it will come with components that
are ready for use.
Programming language: The development and backend languages used can be based on project
needs or the expertise of the team, for instance, Python, Ruby, PHP, or Node.js.
Web framework: A back-end framework like Django, Laravel, Ruby on Rails, or Express.js can
help organize the development structure of the back end.
Server: Likewise, a web server such as Apache or Nginx is necessary to serve the content of the
web site to the end user.
Development Tools:
Code editor or IDE: A tool such as Visual Studio Code, Sublime Text or IntelliJ IDEA is used for
coding or modifying the code.
Version control system: Git is a version control system used to manage code history and source
collaboration.
Task runner: A task runner such as Gulp or Grunt used to simplify lengthy processes such as
minification and compilation of files.
Package manager: npm or yarn for dependency management and package installation.
Design Software:
Adobe Photoshop or Illustrator: These are applications used for developing design artworks and
layouts.
Figma: A design software which is based in the cloud to create wireframes and prototypes as well
as user interface designs.
Deployment Tools:
FTP Client: Application such as FileZilla or Cyberdeck is used for uploading files on the web
host server.
Deployment management tools: Capistrano and Ansible help to ease the deployment of
applications on servers.
The requirements of the project, the team's experience, and the desired degree of customization
will all influence the tools and methods selected. Malcolm Lismore can build a stunning and
useful website to display his photos and draw in customers by carefully choosing the appropriate
tools and methods.
For Malcolm Lismore, not only a readymade website can be an option however a custom-built
one would be the best option because.
Design Control: He does not just need any website; 1he requires a beautiful, designed
website that speaks to his love for photography.
Performance: The high-performance website is mandatory for promoting his photography
and keeping the visitors.
Features: There are other general features that he may need such as image galleries,
contact forms, social media connections, etc.
User Experience (UX): A customized UX would improve the visitor's experience and
elevate the odds of him/her looking through the portfolio.
User Interface (UI): A custom-built site would have pleasing and functional graphics
design that goes hand in hand with his photography.
Whilst custom sites take more of an initial investment and skills to develop, they will provide
one with more options, better management control and possible longevity.
L03 Utilize website technologies, tools and techniques with good design
principles to create a multipage website
Project objectives
Show the Art of Photography: To exhibit Malcolm’s photographer expertise and talent, an
elaborate online portfolio of photographs is to be prepared.
Lead Generation: Better still, the possibility of potential customers requesting for and
contacting Malcolm over barriers must be operated.
Build Professional Image: Create an attractive and professional website with irrefutable
elements of Malcolm’s brand design.
Search Engine Optimization: Integrate all the required elements and practices in order to
enhance the website and its content even more in relation to search engines ranking
purposes.
Ensuring Positive User Interaction: Strive to make the website user friendly, aesthetically
pleasing and accessible across various devices including mobile phones.
Target audience
People and companies looking for photography services for various occasions of interest,
weddings, portraits, etc.
People who appreciate and collect artistic work, even including photography done by
Malcolm.
Website sections:
Homepage: Visually arresting homepage highlighting the best works of Malcolm along
with easy navigation to the other sections of the website.
About page: Background information about Malcolm, his qualifications and love for the
art of photography.
Portfolio: A section with a collection of photographs taken by Malcolm by different types
(including but not limited to: nature, animal, wedding photos).
Price Page: Pricing and packages for the different photography services clearly stated.
Contact Us Page: A page where potential customers can fill out booking requests and ask
to be provided with additional information.
Blog: A blog content section where ‘Photo People’ can write helpful articles, experiences
or any updates relevant to the business.
3.1.2 Requirements