Chapter 1 (
Chapter 1 (
INTRODUCTION
In the realm of digital experiences, landing pages and to-do lists stand as
indispensable tools, each offering unique benefits in different contexts. Landing pages
serve as the virtual doorways to businesses, products, or services, welcoming visitors with
curated content and persuasive messaging.To-do lists are the unsung heroes of personal
productivity, serving as digital companions in our daily lives. They provide a structured
framework for organizing tasks, setting priorities, and tracking progress. From simple
grocery lists to complex project plans, to-do lists keep us focused, motivated, and
accountable.
PROBLEM STATEMENT
Design and develop a landing page with an integrated to-do list feature using HTML and
CSS.
The landing page should serve as an introduction to a fictional product or service,
providing key information and encouraging user engagement.
The to-do list feature should allow users to add, and delete tasks, providing a simple yet
functional task management solution.
2.1.Proposed System
2.1.1.Landing Page:
2.1.2.To- Do List:
The proposed system for a To-Do List application aims to provide a simple, intuitive, and
efficient way to manage tasks and enhance productivity for users.
Central to this system is a user-friendly interface designed for seamless navigation and
task management, whether the user is tech-savvy or not.
The application will be developed using a modern tech stack, likely involving a
combination of JavaScript for the frontend, with React or Vue.js to create a responsive,
single-page application (SPA) that feels fluid and responsive across all devices.
On the backend, Node.js alongside Express could be used for a lightweight, yet powerful
server capable of handling asynchronous requests, integrated with a database like
MongoDB or PostgreSQL for storing user data and tasks.
This choice supports scalability and ease of data management, ensuring tasks can be
easily added, retrieved, updated, and deleted in real-time.
User authentication and authorization mechanisms will be implemented to ensure that
only authenticated users can access and modify their to-do lists, enhancing security.
Offline functionality will be considered, allowing users to manage their tasks even
without an internet connection, with synchronization occurring once connectivity is
restored.
Notifications and reminders can be incorporated to alert users of upcoming deadlines or
overdue tasks, helping them stay on top of their responsibilities.
The to-do list will feature a search and filter option, enabling users to quickly find
specific tasks and manage their to-do items more efficiently.
Regular data backups and recovery mechanisms will be implemented to prevent data loss
and ensure that users' task data remains secure and accessible at all times.
METHODOLOGY
3.1. Methodology
CSS Styling:
o Write CSS styles to apply visual styling to the HTML elements, following the
design specifications defined earlier.
o Use CSS selectors to target specific elements and apply styles for layout,
typography, colors, and visual effects.
o Apply responsive design techniques to ensure the landing page and to-do list are
optimized for different screen sizes and devices.
Applying logic :
o Write Javascript code for to-do list application for various operations like adding
task, completing the tasks and deleting the task.
The HTML structure defines the content and layout of the website, including sections for
the header, about, services ,Q&A
Each section is enclosed within `<div>` elements with unique IDs to facilitate styling and
JavaScript interactions.
CSS Styling:
The CSS file (`style.css`) contains rules for styling the elements of the website, such as
fonts, colors, layout, and responsiveness.
CSS classes and IDs are applied to HTML elements to achieve the desired visual
presentation and user interface design.
JavaScript Interactions:
JavaScript code snippets are embedded within `<script>` tags in the HTML document to
add interactivity and functionality to the website.
JavaScript functions control the behavior of elements, such as opening/closing the drop
down, adding or scratching the tasks and deleting the tasks.
External Dependencies:
The website relies on external resources such as the Font Awesome icon library
(`https://kit.fontawesome.com/9a5c176476.js`) for displaying icons.
External resources like images are referenced using relative paths (`images/logo2.png`,
`images/user1.png`, etc.).
Responsiveness:
The website is designed to be responsive, adapting its layout and content to different
screen sizes and devices.
The `<meta name="viewport">` tag is included in the `<head>` section to ensure proper
scaling and rendering on mobile devices.
Purpose and Usage: HTML is used to structure the content of web pages by defining
elements such as headings, paragraphs, lists, forms, and more. It provides the
foundational framework of a web page, ensuring that content is organized in a
meaningful way.
Important Features: Provides semantic markup for accessibility and search engine
optimization (SEO), supports multimedia embedding, and offers elements for creating
interactive forms and input fields. Semantic tags like <article>, <section>, and <nav>
improve the clarity and maintainability of the HTML code.
Versions and Compatibility: HTML5 is the latest version, offering improved features
for embedding audio and video without the need for external plugins. It is widely
supported by modern web browsers, ensuring compatibility across different platforms
and devices.
Enhancements: HTML5 introduces new form controls, such as date pickers and range
sliders, which improve user input methods and enhance user experience.
Performance: HTML5 offers offline storage capabilities through technologies like local
storage and web SQL, allowing for enhanced performance and offline access to web
applications.
Purpose and Usage: CSS is utilized for styling and formatting the visual presentation of
HTML elements, including colors, fonts, layouts, and responsive design. It separates
content from design, enabling more manageable and flexible web development.
Important Features: Offers a wide range of styling properties and selectors, supports
cascading and inheritance for styling hierarchy, and facilitates responsive design with
Versions and Compatibility: CSS3 is the latest version, featuring enhanced capabilities
such as transitions, animations, and advanced selectors. It is supported by modern web
browsers, ensuring consistent styling across different platforms.
Enhancements: CSS3 supports custom properties (CSS variables), which allow for more
dynamic and reusable styles, improving maintainability and scalability of CSS code.
Performance: CSS3 includes performance optimizations such as hardware-accelerated
animations, which improve the responsiveness and fluidity of web pages.
5.3 JavaScript:
Purpose and Usage: JavaScript is used for adding interactivity and dynamic behavior to
web pages, including event handling. It allows developers to manipulate HTML and CSS
elements, handle user interactions, and create dynamic content updates without requiring
a page reload.
Important Features: JavaScript supports asynchronous programming through callbacks,
promises, and async/await, enabling efficient handling of data fetching and other time-
consuming tasks. It also allows for DOM manipulation, form validation, and integration
with various APIs.
Enhancements: JavaScript frameworks and libraries such as React, Angular, and Vue.js
facilitate the development of complex web applications by providing component-based
architectures and state management solutions.
Performance: JavaScript performance can be optimized using techniques such as code
minification, lazy loading, and efficient event handling. Modern JavaScript engines, such
as V8 in Chrome and SpiderMonkey in Firefox, ensure fast execution and rendering of
JavaScript code.
Chapter 5
IMPLEMENTATION
<div class="row">
<div class="text-col">
<h2>Enjoy on your TV.</h2>
<p>Watch on smart TVs, Playstation, Xbox, Chromecast, Apple TV, Blu-ray players
and more.</p>
</div>
<div class="img-col">
<img src="netflix-img/images/feature-1.png" alt="">
</div></div>
<div class="row">
<div class="img-col">
<img src="netflix-img/images/feature-2.png" alt="">
</div>
<div class="text-col">
<h2>Download your shows to watch offline.</h2>
<p>Save your favorites easily and always have something to watch.</p>
</div></div>
<div class="row">
<div class="text-col">
<h2>Watch everywhwre</h2>
<p>Stream unlimited movies and TV shows on your phone, tablet, laptop, and
TV.</p></div>
<div class="img-col">
<img src="netflix-img/images/feature-3.png" alt="">
</div></div>
<div class="row">
<div class="img-col">
<img src="netflix-img/images/feature-4.png" alt="">
</div>
<div class="text-col">
<div class="footer">
<h2>Questions? call 000-000-000-0000</h2>
<div class="row">
<div class="col">
<a href="#">FAQ</a>
<a href="#">Investor Relations</a>
<a href="#">Privacy</a>
<a href="#">Speed Test</a>
</div>
<div class="col">
<a href="#">Help</a>
<a href="#">Jobs</a>
<a href="#">Cookies Preferences</a>
<a href="#">Legal Notices</a>
</div>
<div class="col">
<a href="#">Account</a>
<a href="#">Ways to watch</a>
<a href="#">Corporate Information</a>
<a href="#">Only on Netflix</a>
</div>
<div class="col">
<a href="#">Media Centre</a>
<a href="#">Terms of use</a>
<a href="#">Contact Us</a>
</div> </div>
<button class="language-btn">English<img
src="netflix-img/images/down-icon.png"></button>
<p class="copyright-txt">Netflix India</p>
</div></body></html>
Netflix.css:
*{ margin: 0; padding: 0; font-family: 'poppins', sans-serif; box-sizing: border-box;
}
body{
background: #000; /*black*/ color: #fff;
}
.header{
width: 100%; height: 100vh;
background-image: linear-gradient(rgba(0,0,0,0.7),rgba(0,0,0,0.7)),
url(netflix-img/images/header-image.png);
background-size: cover; background-position: center; padding: 10px 8%; position:
relative;
}
nav{
display: flex; align-items: center; justify-content: space-between; padding: 10px 0;
}
.logo{
width: 150px; cursor: pointer;
}
nav button{
border: 0; outline: 0; background: #db0001; color: #fff; padding: 7px 20px;
font-size: 12px; border-radius: 4px; margin-left: 10px; cursor: pointer; }
.language-btn{
display: inline-flex; align-items: center; background: transparent;
border: 1px solid #fff; padding: 7px 10px;
}
.language-btn img{
width: 10px; margin-left: 10px;
}
.header-content{
position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%);
text-align: center; margin-top: 100px;
}
.header-content h1{
font-size: 60px; line-height: 70px;
font-weight: 600; max-width: 650px;
}
.header-content h3{
font-weight: 400; margin-bottom: 20px;
}
.email-signup{
background: #fff; border-radius: 4px; display: flex;
align-items: center; margin-top: 30px; overflow: hidden;
}
.email-signup input{
flex: 1; border: 0; outline: 0; margin-left: 20px;
}
.email-signup button{
background: #db0001; border: 0; outline: 0; color: #fff;
font-size: 16px; cursor: pointer;
padding: 15px 30px;}
.text-col{
flex-basis: 50%; margin-bottom: 20px;
}
.img-col{
flex-basis: 50%; margin-bottom: 20px;
}
.img-col img{
display: block; width: 90%;
margin: auto;
}
.features h2{
font-size: 50px; font-weight: 600;
margin-bottom: 20px;
}
.accordian .content{
background: #303030; text-align: left; padding: 0 20px;
max-height: 0; overflow: hidden; transition: max-height 0.5s, padding 0.5s;
}
.accordian input[type="radio"]:checked + label + .content{
max-height: 600px; padding: 30px 20px;
}
.accordian input[type="radio"]:checked + label::after{
transform: rotate(135deg);
}
.faq .email-signup{ max-width: 600px; margin: 20px auto 60px;}
.faq small{
font-size: 13px;}
/*----------footer-----*/
.footer{
padding: 50px 15% 10px;
border-top: 6px solid #333;
color: #777;}
.footer h2{
font-size: 18px;
font-weight: 400;
margin-bottom: 30px;
}
.footer .col{
flex-basis: 25%;
flex-grow: 1;
margin-bottom: 20px;
}
.footer .col a{
display: block;
text-decoration: none;
color: #777;
font-size: 14px;
margin-bottom: 10px;
}
.footer .row{
align-items: flex-start;
padding: 10px 0;
}
.footer .language-btn{
color: #fff;
padding: 10px 20px;
border-radius: 3px;
}
.copyright-txt{
font-size: 14px;
margin-top: 20px;
margin-bottom: 10px;
}
.email-signup button{
font-size: 12px;
padding: 10px 15px;
}
.text-col, .img-col{
flex-basis: 100%;
}
.features h2{
font-size: 30px;
}
.features p{
font-size: 15px;
}
.row:nth-child(2), .row:nth-child(4){
flex-direction: column-reverse;
}
.features .row{
padding: 10px 0;
}
.faq h2{
font-size: 20px;
}
.accordian.content{
font-size: 14px;
}
.accordian li label{
padding: 10px;
font-size: 14px;
}
label::after{
font-size: 22px;
}
}
6.2 To-Do List:
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
body {
margin: 0; min-width: 250px; background-repeat: no-repeat;
background-size: cover;
background-image:
url('https://t4.ftcdn.net/jpg/04/23/41/89/240_F_423418912_Ax6jqcGVvw8HyeSjGwr5yywRTQ
VPnnQo.jpg'); }
* { box-sizing: border-box;
}
ul { margin: 10px; padding: 10px;
}
ul li {
cursor: pointer; position:relative; padding: 12px 8px 12px 40px;
list-style-type: style type box;; background: #eee; font-size: 18px;
transition: 0.75s;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
ul li:nth-child(odd) {
background: #f9f9f9;
}
ul li:hover {
background: #ddd;
}
ul li.checked {
background: #888;
color: #fff;
text-decoration: line-through;
}
ul li.checked::before {
.addBtn:hover {
background-color: #bbb;
}
</style></head>
<body>
<div id="myDIV" class="header">
<h2 style="margin:5px">My To Do List</h2>
<input type="text" id="myInput" placeholder="Title...">
<span onclick="newElement()" class="addBtn">Add</span>
</div>
<ul id="myUL">
<li>Hit the gym</li>
<li class="checked">Pay bills</li>
<li>Meet George</li>
<li>Buy eggs</li>
<li>Read a book</li>
<li>Organize office</li>
</ul>
<script>
var myNodelist = document.getElementsByTagName("LI");
var i;
for (i = 0; i < myNodelist.length; i++) {
var span = document.createElement("SPAN");
var txt = document.createTextNode("\u00D7");
span.className = "close";
span.appendChild(txt);
myNodelist[i].appendChild(span);
}
var close = document.getElementsByClassName("close");
var i;
RESULT
7.1 Netflix Webpage:
REFLECTION NOTES
8.1 Technical Outcomes:
Utilizing version control systems like Git and platforms such as GitHub, I learned to
manage code repositories, track changes, and collaborate effectively with team members.
This experience improved my understanding of collaborative development workflows,
including branching strategies and pull requests, and reinforced the importance of
maintaining a clean and organized codebase.
Through projects involving responsive web design, I honed my skills in creating layouts
that adapt seamlessly to different screen sizes and devices. I learned to use media queries,
flexible grids, and modern CSS frameworks, ensuring an enhanced user experience and
improved accessibility.
References:
https://www.freecodecamp.org/
https://www.w3schools.com/html/
https://web.dev/learn/css
https://www.javascript.com/
https://html.com/