Web Development
77.2K subscribers
1.31K photos
1 video
2 files
606 links
Learn Web Development From Scratch

0️⃣ HTML / CSS
1️⃣ JavaScript
2️⃣ React / Vue / Angular
3️⃣ Node.js / Express
4️⃣ REST API
5️⃣ SQL / NoSQL Databases
6️⃣ UI / UX Design
7️⃣ Git / GitHub

Admin: @love_data
Download Telegram
Which image attribute improves accessibility for screen readers?
Anonymous Quiz
41%
A. src
10%
B. title
8%
C. class
41%
D. alt
12
Now, let's move to the next topic:

Web Basics Part 3 - CSS Basics

• CSS means Cascading Style Sheets
• It controls look and layout
• HTML gives structure
• CSS gives presentation

How CSS works
• Browser reads HTML
• Browser applies CSS rules
• Rules match elements using selectors

Basic CSS syntax
• selector
• property
• value

Example: Change paragraph text color and font size
p {
color: blue;
font-size: 16px;
}


Selectors
• Element selector: p, h1, div
• Class selector: .card (reusable styles)
• ID selector: #header (unique elements)
• Group selector: h1, h2, h3

Box Model
Every element is a box with:
• Content
• Padding
• Border
• Margin

Colors
• Color names: red, black
• Hex: #000000, #ffffff
• RGB: rgb(255, 0, 0)
• RGBA: adds opacity
Best practice: Use hex or rgb, limit palette, maintain contrast

Fonts
• font-family
• font-size
• font-weight
• line-height
Use rem for scalable text, add fallback fonts

Mini practice task:
Create a card layout with:
• Padding and margin
• Background color
• Font family
• Line height 😊

Double Tap ♥️ For More
18
Now, let's move to the the next topic:

CSS & Layouts Part-1: Flexbox and Grid

🚧 Problem Layouts Solve
- HTML stacks elements vertically by default
- Real websites need alignment and spacing
- Navbars break
- Cards misalign
- Pages look unstructured

Layouts help you control:
- Direction
- Alignment
- Spacing

Modern CSS gives you two tools:
➡️ Flexbox
➡️ Grid

🔹 Flexbox
Flexbox controls layout in one direction.
- Horizontal or vertical
- Best for components
- Parent controls children

🧠 Mental Model:
- One container
- Multiple items
- Items follow a single axis

🧭 Flexbox Axes
- Main axis: Direction items move
- Cross axis: Perpendicular direction

If direction is row:
- Main axis → horizontal
- Cross axis → vertical

If direction is column:
- Main axis → vertical
- Cross axis → horizontal

🎛️ Key Flexbox Properties
📦 Container controls layout:
- display: flex: Turns on Flexbox
- flex-direction: row, column
- justify-content: Aligns items on main axis (start, center, space-between)
- align-items: Aligns items on cross axis (center, stretch)

📌 Where Flexbox Works Best
- Navigation bars
- Buttons with icons
- Cards in a row
- Centering content

🎯 Classic use case:
- Vertical centering
- Horizontal centering
- Both together

🔹 Grid
Grid controls layout in two directions.
- Rows
- Columns
You design structure first.

🧠 Mental Model:
- Page divided into cells
- Items placed inside cells
- Layout stays stable

Why Grid Exists
- Flexbox struggles with full page layout
- Multiple rows become messy
- Uneven spacing appears
Grid solves this cleanly.

🎛️ Key Grid Concepts
- display: grid
- Columns
- Rows
- Gap

You decide:
- Number of columns
- Column widths
- Row behavior

📌 Where Grid Works Best
- Page layouts
- Dashboards
- Galleries
- Admin panels

🧩 Example Structure:
- Header full width
- Sidebar left
- Content center
- Footer bottom
Grid handles this without hacks.

⚖️ Flexbox vs Grid. Simple Rule
Use Flexbox when:
- You align items
- You control flow
- You build components

Use Grid when:
- You design structure
- You control rows and columns
- You build page skeletons

🚫 Common Beginner Mistakes
- Using Flexbox for full page layout
- Deep nesting of Flexbox
- Ignoring Grid for dashboards

Real-World Best Practice
- Grid for page layout
- Flexbox inside components
This is how production apps are built.

🧪 Mini Practice Task
- Build a navbar with Flexbox
- Build a card grid with Grid
- Resize screen and observe behavior


Mini Task Solution

🧭 1. Navbar using Flexbox
HTML
<nav class="navbar">
  <div class="logo">MySite</div>
  <ul class="menu">
    <li>Home</li>
    <li>About</li>
    <li>Contact</li>
  </ul>
</nav>

CSS
.navbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 24px;
  background-color: #222;
  color: #fff;
}
.menu {
  display: flex;
  gap: 20px;
  list-style: none;
}

What happens:
- Logo stays on left
- Menu stays on right
- Items align vertically
- Layout stays clean on resize


🗂️ 2. Card Grid using CSS Grid
HTML
<div class="grid">
  <div class="card">Card 1</div>
  <div class="card">Card 2</div>
  <div class="card">Card 3</div>
  <div class="card">Card 4</div>
</div>

CSS
.grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  padding: 20px;
}
.card {
  padding: 40px;
  background-color: #f2f2f2;
  text-align: center;
  border-radius: 8px;
}

What happens:
- Cards align in rows and columns
- Equal width columns
- Clean spacing using gap


📱 3. Responsive Behavior on Resize
Add this media query:
@media (max-width: 768px) {
  .grid {
    grid-template-columns: repeat(1, 1fr);
  }
  .menu {
    gap: 12px;
  }
}

Observed behavior:
- Grid shifts from 3 columns to 1 column
- Navbar stays aligned
- No overlap
- No broken layout

Tap ❤️ For More
19🤔1
Which CSS property activates Flexbox on a container?
Anonymous Quiz
7%
A. position: flex
10%
B. layout: flex
72%
C. display: flex
12%
D. flex: container
4
Which property aligns Flexbox items along the main axis?
Anonymous Quiz
37%
A. align-items
17%
B. align-content
45%
C. justify-content
2%
D. place-items
2
Which CSS property defines the number and size of columns in Grid?
Anonymous Quiz
9%
A. grid-auto-flow
37%
B. grid-column
46%
C. grid-template-columns
7%
D. column-count
7👏1
Now, let's move to the next topic:

CSS Layouts Part-2: Responsive Design with Media Queries

🔍 What Responsive Design Means
• Your site adapts to screen size
• Content stays readable
• Layout stays usable
• No horizontal scrolling
Real screens you design for:
• Mobile: 360 to 480px
• Tablet: 768px
• Laptop: 1024px and above

Why Responsive Design Matters
• 60%+ traffic comes from mobile devices
• Google ranks mobile-friendly sites higher
• Users leave broken layouts fast

🧠 Core Idea Behind Responsiveness
• Same HTML
• Different CSS rules
• Applied based on screen width
This is where media queries work.

📐 What a Media Query Is
• A conditional CSS rule
• Runs only when condition matches
• Based on screen size or device features

Think of it as:
• If screen width is small
• Apply these styles

🧩 Basic Media Query Syntax
@media (max-width: 768px) {
/* CSS rules here */
}


Meaning:
• Screen width is 768px or less
• Styles inside activate

📱 Common Breakpoints You Should Know
• 480px: Small phones
• 768px: Tablets
• 1024px: Laptops
These are practical, not fixed laws.

🧱 What You Usually Change in Media Queries
• Grid columns
• Flex direction
• Font size
• Padding and margins
Example thinking:
• Desktop: 3 cards in a row
• Mobile: 1 card per row

Best Practices You Should Follow
• Mobile-first approach
• Use relative units
• Test on real devices
• Keep breakpoints minimal

🧪 Mini Practice Task
• Create a 3-column grid
• Collapse to 1 column below 768px
• Convert navbar row to column on mobile

Mini Practice Solution: https://whatsapp.com/channel/0029VaiSdWu4NVis9yNEE72z/1379
5👍2
5 Misconceptions About Web Development (and What’s Actually True):

You need to learn everything before starting 
Start with the basics (HTML, CSS, JS) — build projects as you learn, and grow step by step.

You must be good at design to be a web developer 
Not true! Frontend developers can work with UI/UX designers, and backend developers rarely design anything.

Web development is only about coding 
It’s also about problem-solving, understanding user needs, debugging, testing, and improving performance.

Once a website is built, the work is done 
Websites need regular updates, maintenance, optimization, and security patches.

You must choose frontend or backend from day one 
You can explore both and later specialize — or become a full-stack developer if you enjoy both sides.

💬 Tap ❤️ if you agree!
19👍5
Now, let's move to the the next topic:

CSS Animations & Transitions Breakdown

Why animations matter
- Guide user attention
- Improve user experience
- Make UI feel alive
- Give feedback to actions
Good animation is subtle, not flashy.

🔁 Transitions vs Animations

🔹 Transition
- Used for simple state changes
- Triggered by hover, focus, click
- One start → one end

🔹 Animation
- Runs automatically
- Can repeat
- Multiple steps

Rule of thumb
👉 Use transitions for interactions
👉 Use animations for continuous effects

🎯 CSS Transitions Explained
Transition smoothly changes a property.

Basic properties
- transition-property
- transition-duration
- transition-timing-function
- transition-delay
Most common shorthand transition: all 0.3s ease;

🖱️ Transition Example. Button hover
button {
background-color: #007bff;
color: white;
padding: 12px 20px;
border: none;
transition: background-color 0.3s ease;
}
button:hover {
background-color: #0056b3;
}

What happens
- Color changes smoothly
- No sudden jump

🎞️ CSS Animations Explained
Animations use keyframes.
Keyframes define steps.
Basic syntax
@keyframes fadeIn {
from { opacity: 0; }
to { opacity: 1; }
}

Apply animation
.box {
animation: fadeIn 1s ease-in-out;
}

🎛️ Animation properties you must know
- animation-name
- animation-duration
- animation-timing-function
- animation-delay
- animation-iteration-count
Example animation: bounce 1s infinite;

📌 Real-world animation examples
- Loading spinner
- Fade-in cards
- Button pulse
- Skeleton loaders

⚠️ Common beginner mistakes
- Overusing animations
- Long durations
- Animating layout-breaking properties
- Ignoring performance

Avoid animating
- width
- height
- margin

Prefer animating
- opacity
- transform

Best practices
- Keep duration between 0.2s–0.5s
- Use ease or ease-in-out
- Animate only when needed
- Test on low-end devices

🧪 Mini practice task
- Add hover transition to a button
- Animate card fade-in on load
- Create a simple loading spinner

Mini Practice – Solutions

🎨 CSS Transitions & Animations

🟦 1️⃣ Add hover transition to a button

HTML
<button class="btn">Click Me</button>

CSS
.btn {
background-color: #007bff;
color: white;
padding: 12px 24px;
border: none;
border-radius: 6px;
cursor: pointer;
transition: background-color 0.3s ease, transform 0.2s ease;
}
.btn:hover {
background-color: #0056b3;
transform: scale(1.05);
}

Result
- Smooth color change
- Slight zoom on hover
- Feels responsive

🗂️ 2️⃣ Animate card fade-in on page load

HTML
<div class="card">Card Content</div>

CSS
@keyframes fadeIn {
from { opacity: 0; transform: translateY(10px); }
to { opacity: 1; transform: translateY(0); }
}
.card {
padding: 30px;
background-color: #f2f2f2;
border-radius: 8px;
animation: fadeIn 0.6s ease-in-out;
}

Result
- Card fades in smoothly
- Slight upward motion
- Professional UI feel

🔄 3️⃣ Create a simple loading spinner

HTML
<div class="spinner"></div>

CSS
.spinner {
width: 40px;
height: 40px;
border: 4px solid #ddd;
border-top: 4px solid #007bff;
border-radius: 50%;
animation: spin 1s linear infinite;
}
@keyframes spin {
from { transform: rotate(0deg); }
to { transform: rotate(360deg); }
}

Result
- Continuous spinning loader
- Used during API calls
- Common in real apps

🧠 Key takeaway
- Transitions handle interactions
- Animations handle motion
- transform and opacity are performance-friendly
- Less animation = better UX

Double Tap ♥️ For More
16👍3
Now, let's move to the the next topic:

JavaScript Fundamentals

📌 Variables, Data Types, Operators

What JavaScript is
- JavaScript makes web pages interactive
- Runs in the browser
- Controls logic and behavior

HTML → structure
CSS → design
JavaScript → brain

📦 Variables (Storing data)
Variables store values in memory.

Three ways to declare variables:
🔹 let
• Value can change
• Block scoped
• Most commonly used

🔹 const
• Value cannot be reassigned
• Used for fixed values

🔹 var
• Old style
• Function scoped
• Avoid in modern JS

Example:
let age = 25;
const name = "Deepak";

🧾 Data Types in JavaScript

JavaScript is dynamically typed.

🔢 Number let score = 90;

📝 String let city = "Delhi";

Boolean let isLoggedIn = true;

📦 Undefined let x;

🚫 Null let data = null;

🧠 Object let user = { name: "Amit", age: 30 };

📚 Array let skills = ["HTML", "CSS", "JS"];

Operators Explained

🔹 Arithmetic Operators + - * / %
🔹 Assignment Operators = += -=
🔹 Comparison Operators == === != !== > <

Important rule
== checks value only
=== checks value + type

Always use ===

🔀 Logical Operators
- AND → &&
- OR → ||
- NOT → !

Example: age > 18 && isLoggedIn

⚠️ Common Beginner Mistakes
- Using var
- Mixing string and number
- Using == instead of ===
- Forgetting const for fixed values

🧪 Mini Practice Task
- Create variables for name, age, isStudent
- Create an array of skills
- Compare age with 18
- Print result using console.log

Mini Practice Task – Solution 🧠

📌 1️⃣ Create variables for name, age, isStudent
const name = "Deepak";
let age = 25;
let isStudent = true;

- const used for fixed value
- let used where value may change

 

📚 2️⃣ Create an array of skills
let skills = ["HTML", "CSS", "JavaScript"];

- Arrays store multiple values
- Order matters

 

🔍 3️⃣ Compare age with 18
let isAdult = age >= 18;

- Returns true or false

 

🖨️ 4️⃣ Print result using console.log
console.log("Name:", name);
console.log("Age:", age);
console.log("Is Student:", isStudent);
console.log("Skills:", skills);
console.log("Is Adult:", isAdult);

➡️ Double Tap ♥️ For More
24
Which keyword should be used for a variable whose value should not change?
Anonymous Quiz
10%
A. var
7%
B. let
77%
C. const
6%
D. static
6
What will be the result of this expression?

10 + "5"
Anonymous Quiz
18%
A. 15
57%
B. 105
20%
C. Error
6%
D. NaN
5
Now, let's move to the next topic:

🔁 Javascript Conditions and Loops

🔹 Why Conditions Loops Matter
• They help your program make decisions
• They let your code repeat tasks
• Without them, JavaScript is useless for logic

Real use cases: Login validation, Form checks, Iterating data from APIs

🧠 Conditions (Decision Making)
Conditions run code only when a condition is true.

if statement
let age = 20;
if (age >= 18) {
console.log("Eligible to vote");
}
• Code runs only if condition is true

 

🔁 if–else
if (age >= 18) {
console.log("Adult");
} else {
console.log("Minor");
}
• Two paths • One always runs

 

🔂 else if
let marks = 75;
if (marks >= 90) {
console.log("Grade A");
} else if (marks >= 70) {
console.log("Grade B");
} else {
console.log("Grade C");
}
• Multiple conditions checked in order

 

🔀 switch statement
Used when checking one value against many cases.
let day = 2;
switch (day) {
case 1:
console.log("Monday");
break;
case 2:
console.log("Tuesday");
break;
default:
console.log("Invalid day");
}
⚠️ Always use break to avoid fall-through.

 

🔁 Loops (Repetition)
Loops run code multiple times.

🔹 for loop
Best when number of iterations is known.
for (let i = 1; i <= 5; i++) {
console.log(i);
}
 

🔹 while loop
Runs while condition is true.
let i = 1;
while (i <= 3) {
console.log(i);
i++;
}
 

🔹 do–while loop
Runs at least once.
let i = 5;
do {
console.log(i);
i++;
} while (i < 3);
 

📦 Loop Control Keywords
• break → stops loop
• continue → skips iteration
for (let i = 1; i <= 5; i++) {
if (i === 3) continue;
console.log(i);
}
 

⚠️ Common Beginner Mistakes
• Infinite loops
• Missing break in switch
• Using == instead of ===
• Wrong loop condition

 

🧪 Mini Practice Task
• Check if a number is even or odd
• Print numbers from 1 to 10
• Print only even numbers
• Use switch to print day name

Mini Practice Task – Solution 🔁

🟦 1️⃣ Check if a number is even or odd
let num = 7;
if (num % 2 === 0) {
console.log("Even number");
} else {
console.log("Odd number");
}

Uses modulus operator • Remainder 0 → even • Otherwise → odd

 

🔢 2️⃣ Print numbers from 1 to 10
for (let i = 1; i <= 10; i++) {
console.log(i);
}
 

🔁 3️⃣ Print only even numbers from 1 to 10
for (let i = 1; i <= 10; i++) {
if (i % 2 === 0) {
console.log(i);
}
}
 

📅 4️⃣ Use switch to print day name
let day = 3;
switch (day) {
case 1:
console.log("Monday");
break;
case 2:
console.log("Tuesday");
break;
case 3:
console.log("Wednesday");
break;
case 4:
console.log("Thursday");
break;
case 5:
console.log("Friday");
break;
default:
console.log("Invalid day");
}


➡️ Double Tap ♥️ For More
14👍1
Now, let's move to the the next topic:

🧠 Javascript Functions & Scope

Why functions matter
- Avoid repeating code
- Make logic reusable
- Improve readability
- Easier debugging
Real use cases:
- Form validation
- Calculations
- API handling
- Button click logic

🔧 What is a function
A function is a block of code designed to perform a task.
Think of it as 👉 Input → Logic → Output

✍️ Function Declaration

function greet() {
console.log("Hello World");
}


Call the function
greet();

📥 Functions with parameters

function greetUser(name) {
console.log("Hello " + name);
}


greetUser("Deepak");
- name is a parameter
- "Deepak" is an argument

🔁 Function with return value

function add(a, b) {
return a + b;
}
javascript
let result = add(5, 3);
console.log(result);

- return sends value back
- Function execution stops after return

Arrow Functions (Modern JS)
Shorter syntax
Commonly used in React and APIs

const multiply = (a, b) => {
return a * b;
};


Single line shortcut
const square = x => x * x;

🧠 What is Scope
Scope defines where a variable can be accessed.
Types of scope you must know:
- Global scope
- Function scope
- Block scope

🌍 Global Scope

let city = "Delhi";
function showCity() {
console.log(city);
}

- Accessible everywhere
- Overuse causes bugs

🏠 Function Scope

function test() {
let msg = "Hello";
console.log(msg);
}

- msg exists only inside function

🧱 Block Scope (let & const)

if (true) {
let age = 25;
}

- age cannot be accessed outside
- let and const are block scoped
⚠️ var ignores block scope (avoid it)

🚫 Common Beginner Mistakes
- Forgetting return
- Using global variables everywhere
- Confusing parameters and arguments
- Using var

🧪 Mini Practice Task
- Create a function to calculate square of a number
- Create a function that checks if a number is positive
- Create an arrow function to add two numbers
- Test variable scope using let inside a block

Mini Practice Task – Solution 🧠

🔢 1️⃣ Function to calculate square of a number

function square(num) {
return num * num;
}


console.log(square(5));
✔️ Output → 25

2️⃣ Function to check if a number is positive

function isPositive(num) {
if (num > 0) {
return "Positive";
} else {
return "Not Positive";
}
}
javascript
console.log(isPositive(10));
console.log(isPositive(-3));

✔️ Output
- Positive
- Not Positive

3️⃣ Arrow function to add two numbers

const add = (a, b) => a + b;
console.log(add(4, 6));
✔️ Output → 10

🧱 4️⃣ Test variable scope using let inside a block

if (true) {
let message = "Hello Scope";
console.log(message);
}
// console.log(message); Error

✔️ message exists only inside the block

🧠 Key takeaways
- Functions make code reusable
- return sends output
- Arrow functions are concise
- let respects block scope

➡️ Double Tap ♥️ For More
10👍1
3
What will happen if you try to access a let variable outside its block?
Anonymous Quiz
33%
A. It prints undefined
19%
B. It returns null
38%
C. It throws an error
10%
D. It works normally
1
Which type of scope is created by let and const?
Anonymous Quiz
26%
A. Global scope
26%
B. Function scope
44%
C. Block scope
4%
D. Module scope
4
1
Which keyword is used to send a value back from a function?
Anonymous Quiz
6%
A. break
15%
B. console.log
77%
C. return
2%
D. output
3