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
Master Javascript :

The JavaScript Tree 👇
|
|── Variables
| ├── var
| ├── let
| └── const
|
|── Data Types
| ├── String
| ├── Number
| ├── Boolean
| ├── Object
| ├── Array
| ├── Null
| └── Undefined
|
|── Operators
| ├── Arithmetic
| ├── Assignment
| ├── Comparison
| ├── Logical
| ├── Unary
| └── Ternary (Conditional)
||── Control Flow
| ├── if statement
| ├── else statement
| ├── else if statement
| ├── switch statement
| ├── for loop
| ├── while loop
| └── do-while loop
|
|── Functions
| ├── Function declaration
| ├── Function expression
| ├── Arrow function
| └── IIFE (Immediately Invoked Function Expression)
|
|── Scope
| ├── Global scope
| ├── Local scope
| ├── Block scope
| └── Lexical scope
||── Arrays
| ├── Array methods
| | ├── push()
| | ├── pop()
| | ├── shift()
| | ├── unshift()
| | ├── splice()
| | ├── slice()
| | └── concat()
| └── Array iteration
| ├── forEach()
| ├── map()
| ├── filter()
| └── reduce()|
|── Objects
| ├── Object properties
| | ├── Dot notation
| | └── Bracket notation
| ├── Object methods
| | ├── Object.keys()
| | ├── Object.values()
| | └── Object.entries()
| └── Object destructuring
||── Promises
| ├── Promise states
| | ├── Pending
| | ├── Fulfilled
| | └── Rejected
| ├── Promise methods
| | ├── then()
| | ├── catch()
| | └── finally()
| └── Promise.all()
|
|── Asynchronous JavaScript
| ├── Callbacks
| ├── Promises
| └── Async/Await
|
|── Error Handling
| ├── try...catch statement
| └── throw statement
|
|── JSON (JavaScript Object Notation)
||── Modules
| ├── import
| └── export
|
|── DOM Manipulation
| ├── Selecting elements
| ├── Modifying elements
| └── Creating elements
|
|── Events
| ├── Event listeners
| ├── Event propagation
| └── Event delegation
|
|── AJAX (Asynchronous JavaScript and XML)
|
|── Fetch API
||── ES6+ Features
| ├── Template literals
| ├── Destructuring assignment
| ├── Spread/rest operator
| ├── Arrow functions
| ├── Classes
| ├── let and const
| ├── Default parameters
| ├── Modules
| └── Promises
|
|── Web APIs
| ├── Local Storage
| ├── Session Storage
| └── Web Storage API
|
|── Libraries and Frameworks
| ├── React
| ├── Angular
| └── Vue.js
||── Debugging
| ├── Console.log()
| ├── Breakpoints
| └── DevTools
|
|── Others
| ├── Closures
| ├── Callbacks
| ├── Prototypes
| ├── this keyword
| ├── Hoisting
| └── Strict mode
|
| END __
15🔥3🎉2
Form Validation using JavaScript

Form validation checks user input before submission.

🧠 Why Form Validation Matters

Without validation 
• Empty forms get submitted
• Wrong emails stored
• Bad data in database

Real examples 
• Email format check
• Password rules
• Required fields

🔍 Types of Form Validation

🔹 1. HTML Validation (Built-in) 
Browser handles validation automatically. 
Example <input type="email" required> 
✔️ Checks empty field 
✔️ Checks email format 

🔹 2. JavaScript Validation (Custom Logic) 
You control validation rules. 

Used for 
• Password strength
• Custom messages
• Complex conditions

📤 Basic Form Validation Flow 
1️⃣ User submits form 
2️⃣ JavaScript checks input 
3️⃣ If invalid → show error 
4️⃣ If valid → submit form 

✍️ Check Empty Input 
HTML 
<form id="form">
    <input type="text" id="username">
    <button>Submit</button>
</form>

 
JavaScript 
const form = document.getElementById("form");
form.addEventListener("submit", (e) => {
    const username = document.getElementById("username").value;
    if (username === "") {
        e.preventDefault();
        alert("Username is required");
    }
});

 
✔️ Stops submission if empty 

📧 Email Validation Example 
Check using pattern. 
const email = document.getElementById("email").value;
if (!email.includes("@")) {
    alert("Enter valid email");
}

 
Real projects use regular expressions. 

🔐 Password Length Validation 
if (password.length < 6) {
    alert("Password must be at least 6 characters");
}

 

🎨 Show Error Message in UI (Better Practice) 
HTML 
<input type="text" id="username">
<p id="error"></p>

 
JavaScript 
if (username === "") {
    error.textContent = "Username required";
}

 
✔️ Better than alert 
✔️ User-friendly 

⚠️ Common Beginner Mistakes 
• Forgetting preventDefault()
• Using only alerts
• No user feedback
• Weak validation rules

Best Practices 
• Validate on both client and server
• Show clear error messages
• Use simple rules first
• Give instant feedback

🧪 Mini Practice Task 
• Validate username is not empty
• Check email contains @
• Ensure password length ≥ 6
• Show error message on screen

Mini Practice Task Solution – Try it yourself first

This solution covers all 4 tasks: 
Username not empty 
Email contains @ 
Password length ≥ 6 
Show error message on screen 

📝 HTML 
<form id="form">
    <input type="text" id="username" placeholder="Enter username">
    <input type="text" id="email" placeholder="Enter email">
    <input type="password" id="password" placeholder="Enter password">
    <p id="error" style="color: red;"></p>
    <button type="submit">Submit</button>
</form>

 

JavaScript 
const form = document.getElementById("form");
const error = document.getElementById("error");
form.addEventListener("submit", (e) => {
    const username = document.getElementById("username").value.trim();
    const email = document.getElementById("email").value.trim();
    const password = document.getElementById("password").value.trim();
    error.textContent = ""; // clear previous errors
    // Username validation
    if (username === "") {
        e.preventDefault();
        error.textContent = "Username is required";
        return;
    }
    // Email validation
    if (!email.includes("@")) {
        e.preventDefault();
        error.textContent = "Enter a valid email";
        return;
    }
    // Password validation
    if (password.length < 6) {
        e.preventDefault();
        error.textContent = "Password must be at least 6 characters";
        return;
    }
});

 

What this code does 
• Stops form submission if input is invalid
• Shows error message on screen
• Validates step by step
• Clears old errors automatically

🧠 Key Learning 
• Use preventDefault() to stop submission
• Use .trim() to remove extra spaces
• Show errors in UI instead of alerts
• Validate fields one by one

Double Tap ♥️ For More
18👍4
Top 10 CSS Interview Questions

1. What is CSS and what are its key features?
CSS (Cascading Style Sheets) is a stylesheet language used to describe the presentation of a document written in HTML or XML. Its key features include controlling layout, styling text, setting colors, spacing, and more, allowing for a separation of content and design for better maintainability and flexibility.

2. Explain the difference between inline, internal, and external CSS.
- Inline CSS is applied directly within an HTML element using the style attribute.
- Internal CSS is defined within a <style> tag inside the <head> section of an HTML document.
- External CSS is linked to an HTML document via the <link> tag and is written in a separate .css file.

3. What is the CSS box model and what are its components?
The CSS box model describes the rectangular boxes generated for elements in the document tree and consists of four components:
- Content: The actual content of the element.
- Padding: The space between the content and the border.
- Border: The edge surrounding the padding.
- Margin: The space outside the border that separates the element from others.

4. How do you center a block element horizontally using CSS?
To center a block element horizontally, you can use the margin: auto; property. For example:
.center {
width: 50%;
margin: auto;
}

5. What are CSS selectors and what are the different types?
CSS selectors are patterns used to select elements to apply styles. The different types include:
- Universal selector (*)
- Element selector (element)
- Class selector (.class)
- ID selector (#id)
- Attribute selector ([attribute])
- Pseudo-class selector (:pseudo-class)
- Pseudo-element selector (::pseudo-element)

6. Explain the difference between absolute, relative, fixed, and sticky positioning in CSS.
- relative: The element is positioned relative to its normal position.
- absolute: The element is positioned relative to its nearest positioned ancestor or the initial containing block if none exists.
- fixed: The element is positioned relative to the viewport and does not move when the page is scrolled.
- sticky: The element is treated as relative until a given offset position is met in the viewport, then it behaves as fixed.

7. What is Flexbox and how is it used in CSS?
Flexbox (Flexible Box Layout) is a layout model that allows for more efficient arrangement of elements within a container. It is used to align and distribute space among items in a container, even when their size is unknown or dynamic. Flexbox is enabled by setting display: flex; on a container element.

8. How do you create a responsive design in CSS?
Responsive design can be achieved using media queries, flexible grid layouts, and relative units like percentages, em, and rem. Media queries adjust styles based on the viewport's width, height, and other characteristics. For example:
@media (max-width: 600px) {
.container {
width: 100%;
}
}

9. What are CSS preprocessors and name a few popular ones.
CSS preprocessors extend CSS with variables, nested rules, and functions, making it more powerful and easier to maintain. Popular CSS preprocessors include:
- Sass (Syntactically Awesome Style Sheets)
- LESS (Leaner Style Sheets)
- Stylus

10. How do you implement CSS animations?
CSS animations are implemented using the @keyframes rule to define the animation and the animation property to apply it to an element. For example:
@keyframes example {
from {background-color: red;}
to {background-color: yellow;}
}

.element {
animation: example 5s infinite;
}


Web Development Best Resources: https://topmate.io/coding/930165

ENJOY LEARNING 👍👍
10👍3🤔1
Which method prevents a form from submitting automatically?
Anonymous Quiz
10%
A. stopEvent()
75%
B. preventDefault()
10%
C. cancelSubmit()
5%
D. blockForm()
3
Which HTML attribute makes a field mandatory?
Anonymous Quiz
9%
A. validate
18%
B. placeholder
70%
C. required
4%
D. check
3
Which JavaScript method removes extra spaces from user input?
Anonymous Quiz
12%
A. strip()
8%
B. clean()
56%
C. trim()
25%
D. removeSpace()
7👏1
🚨Do not miss this (Top FREE AI certificate courses)
Enroll now in these 50+ Free AI certification courses , available for a limited time: https://docs.google.com/spreadsheets/d/1k0XXLD2e8FnXgN2Ja_mG4MI7w1ImW5AF_JKWUscTyq8/edit?usp=sharing

LIFETIME ACCESS
Top FREE AI, ML, & Python Certificate courses which will help to boost resume & in getting better jobs.
5
Now, let's do one mini project based on the topics we learnt so far:

🚀 Interactive Form with Validation

🎯 Project Goal
Build a signup form that:
Validates username
Validates email
Validates password
Shows success message
Prevents wrong submission

This is a real interview-level beginner project.

🧩 Project Structure
project/
├── index.html
├── style.css
└── script.js

📝 Step 1: HTML (Form UI)
<h2>Signup Form</h2>
<form id="form">
<input type="text" id="username" placeholder="Username">

<input type="text" id="email" placeholder="Email">

<input type="password" id="password" placeholder="Password">

<p id="error" style="color:red;"></p>
<p id="success" style="color:green;"></p>
<button type="submit">Register</button>
</form>
<script src="script.js"></script>

🎨 Step 2: Basic CSS (Optional Styling)
body { font-family: Arial; padding: 40px; }
input { padding: 10px; width: 250px; display:block; margin-bottom:10px; }
button { padding: 10px 20px; cursor: pointer; }

Step 3: JavaScript Logic
const form = document.getElementById("form");
const error = document.getElementById("error");
const success = document.getElementById("success");

form.addEventListener("submit", (e) => {
e.preventDefault();
const username = document.getElementById("username").value.trim();
const email = document.getElementById("email").value.trim();
const password = document.getElementById("password").value.trim();

error.textContent = "";
success.textContent = "";

if (username === "") {
error.textContent = "Username is required";
return;
}

if (!email.includes("@")) {
error.textContent = "Enter valid email";
return;
}

if (password.length < 6) {
error.textContent = "Password must be at least 6 characters";
return;
}

success.textContent = "Registration successful!";
});

What This Project Teaches
- DOM element selection
- Event handling
- Form validation logic
- UI feedback handling
- Real-world frontend workflow

How to Improve (Advanced Practice)
Try adding:
Password show/hide toggle
Email regex validation
Multiple error messages
Reset form after success
Store data in localStorage

➡️ Double Tap ♥️ For More
21🔥2
Most Common Web Development Interview Q&A 💡👨‍💻

🖥️ Frontend (HTML, CSS, JavaScript)

1️⃣ Q: What’s the difference between relative, absolute, fixed & sticky positioning in CSS?
👉 Relative: Moves relative to its normal position.
👉 Absolute: Positioned relative to nearest positioned ancestor.
👉 Fixed: Stays fixed relative to the viewport.
👉 Sticky: Switches between relative and fixed when scrolling.

2️⃣ Q: Explain the CSS Box Model.
👉 It consists of: Content → Padding → Border → Margin

3️⃣ Q: How do you improve website performance?
👉 Minify files, use lazy-loading, enable caching, code splitting, use CDN.

4️⃣ Q: What’s the difference between == and === in JS?
👉 == compares ×value only× (type coercion), === compares ×value + type×.

5️⃣ Q: How does event delegation work?
👉 Attach a single event listener to a parent element to handle events from its children.

6️⃣ Q: What are Promises & how is async/await different?
👉 Promises handle async operations. async/await is syntactic sugar for cleaner code.

7️⃣ Q: How does the browser render a page (Critical Rendering Path)?
👉 HTML → DOM + CSSOM → Render Tree → Layout → Paint

🛠️ Backend (Node.js, Express, APIs)

8️⃣ Q: What is middleware in Express?
👉 Functions that execute during request → response cycle. Used for auth, logging, etc.

9️⃣ Q: REST vs GraphQL?
👉 REST: Multiple endpoints. GraphQL: Single endpoint, fetch what you need.

🔟 Q: How do you handle authentication in Node.js?
👉 JWT tokens, sessions, OAuth strategies (like Google login).

1️⃣1️⃣ Q: Common HTTP status codes?
👉 200 = OK, 201 = Created, 400 = Bad Request, 401 = Unauthorized, 404 = Not Found, 500 = Server Error

1️⃣2️⃣ Q: What is CORS and how to enable it?
👉 Cross-Origin Resource Sharing — restricts requests from different domains.
Enable in Express with cors package:
const cors = require('cors');
app.use(cors());


🗂️ Database & Full Stack

1️⃣3️⃣ Q: SQL vs NoSQL – When to choose what?
👉 SQL: Structured, relational data (MySQL, Postgres)
👉 NoSQL: Flexible, scalable, unstructured (MongoDB)

1️⃣4️⃣ Q: What is Mongoose in MongoDB apps?
👉 ODM (Object Data Modeling) library for MongoDB. Defines schemas, handles validation & queries.

🌐 General / Deployment

1️⃣5️⃣ Q: How to deploy a full-stack app?
👉 Frontend: Vercel / Netlify
👉 Backend: Render / Heroku / Railway
👉 Add environment variables & connect frontend to backend via API URL.

👍 Tap ❤️ if this was helpful!
14👍3
⚛️ React Basics (Components, Props, State)

Now you move from simple websites → modern frontend apps.

React is used in real companies like Netflix, Facebook, Airbnb.

⚛️ What is React 
React is a JavaScript library for building UI. 
👉 Developed by Facebook 
👉 Used to build fast interactive apps 
👉 Component-based architecture 
Simple meaning 
• Break UI into small reusable pieces
Example 
• Navbar → component
• Card → component
• Button → component

🧱 Why React is Used 
Without React 
• DOM updates become complex
• Code becomes messy
React solves: 
Faster UI updates (Virtual DOM) 
Reusable components 
Clean structure 
Easy state management 

🧩 Core Concept 1: Components 
What is a component 
A component is a reusable UI block. 
Think like LEGO blocks. 

✍️ Simple React Component 
function Welcome() {
    return <h1>Hello User</h1>;
}

Use component 
<Welcome />


📦 Types of Components 
🔹 Functional Components (Most Used) 
function Header() {
    return <h1>My Website</h1>;
}
 
🔹 Class Components (Old) 
Less used today. 

Why components matter 
• Reusable code
• Easy maintenance
• Clean structure

📤 Core Concept 2: Props (Passing Data) 
What are props 
Props = data passed to components. 
Parent → Child communication. 

Example 
function Welcome(props) {
    return <h1>Hello {props.name}</h1>;
}

Use 
<Welcome name="Deepak" />

Output 👉 Hello Deepak 

🧠 Props Rules 
• Read-only
• Cannot modify inside component
• Used for customization

🔄 Core Concept 3: State (Dynamic Data) 
What is state 
State stores changing data inside component. 
If state changes → UI updates automatically. 

Example using useState 
import { useState } from "react";
function Counter() {
    const [count, setCount] = useState(0);
    return (
        <div>
            <p>{count}</p>
            <button onClick={() => setCount(count + 1)}>
                Increase
            </button>
        </div>
    );
}


🧠 How state works 
• count → current value
• setCount() → update value
• UI re-renders automatically
This is React’s biggest power. 

⚖️ Props vs State (Important Interview Question) 
| Props | State |
|-------|-------|
| Passed from parent | Managed inside component |
| Read-only | Can change |
| External data | Internal data |

⚠️ Common Beginner Mistakes 
• Modifying props
• Forgetting import of useState
• Confusing props and state
• Not using components properly

🧪 Mini Practice Task 
• Create a component that shows your name
• Pass name using props
• Create counter using state
• Add button to increase count

Mini Practice Task – Solution

🟦 1️⃣ Create a component that shows your name 
function MyName() {
    return <h2>My name is Deepak</h2>;
}
export default MyName;

Simple reusable component 
Displays static text 

📤 2️⃣ Pass name using props 
function Welcome(props) {
    return <h2>Hello {props.name}</h2>;
}
export default Welcome;

Use inside App.js 
<Welcome name="Deepak" />

Parent sends data 
Component displays dynamic value 

🔄 3️⃣ Create counter using state 
import { useState } from "react";
function Counter() {
    const [count, setCount] = useState(0);
    return <h2>Count: {count}</h2>;
}
export default Counter;

State stores changing value 
UI updates automatically 

4️⃣ Add button to increase count 
import { useState } from "react";
function Counter() {
    const [count, setCount] = useState(0);
    return (
        <div>
            <h2>Count: {count}</h2>
            <button onClick={() => setCount(count + 1)}>
                Increase
            </button>
        </div>
    );
}
export default Counter;

Click → state updates → UI re-renders 

🧩 How to use everything in App.js

import MyName from "./MyName";
import Welcome from "./Welcome";
import Counter from "./Counter";

function App() {
    return (
        <div>
            <MyName />
            <Welcome name="Deepak" />
            <Counter />
        </div>
    );
}
export default App;


➡️ Double Tap ♥️ For More
31🥰4🔥1
What is used to manage changing data inside a component?
Anonymous Quiz
27%
A. Props
45%
B. State
19%
C. Variables
8%
D. Functions
5👍1
Which hook is used to manage state in functional components?
Anonymous Quiz
16%
A. useEffect()
73%
B. useState()
8%
C. useFetch()
3%
D. useData()
5
Python Quiz
3
Sample email template to reach out to HR’s as fresher

Hi Jasneet,

I recently came across your LinkedIn post seeking a React.js developer intern, and I am writing to express my interest in the position at Airtel. As a recent graduate, I am eager to begin my career and am excited about the opportunity.

I am a quick learner and have developed a strong set of dynamic and user-friendly web applications using various technologies, including HTML, CSS, JavaScript, Bootstrap, React.js, Vue.js, PHP, and MySQL. I am also well-versed in creating reusable components, implementing responsive designs, and ensuring cross-browser compatibility.

I am confident that my eagerness to learn and strong work ethic will make me an asset to your team.

I have attached my resume for your review. Thank you for considering my application. I look forward to hearing from you soon.

Thanks!


I hope you will found this helpful 🙂
13
🔤 A–Z of Web Development 🌐

A – API
Set of rules allowing different apps to communicate, like fetching data from servers.

B – Bootstrap
Popular CSS framework for responsive, mobile-first front-end development.

C – CSS
Styles web pages with layouts, colors, fonts, and animations for visual appeal.

D – DOM
Document Object Model; tree structure representing HTML for dynamic manipulation.

E – ES6+
Modern JavaScript features like arrows, promises, and async/await for cleaner code.

F – Flexbox
CSS layout module for one-dimensional designs, aligning items efficiently.

G – GitHub
Platform for version control and collaboration using Git repositories.

H – HTML
Markup language structuring content with tags for headings, links, and media.

I – IDE
Integrated Development Environment like VS Code for coding, debugging, tools.

J – JavaScript
Language adding interactivity, from form validation to full-stack apps.

K – Kubernetes
Orchestration tool managing containers for scalable web app deployment.

L – Local Storage
Browser API storing key-value data client-side, persisting across sessions.

M – MongoDB
NoSQL database for flexible, JSON-like document storage in MEAN stack.

N – Node.js
JavaScript runtime for server-side; powers back-end with npm ecosystem.

O – OAuth
Authorization protocol letting apps access user data without passwords.

P – Progressive Web App
Web apps behaving like natives: offline, push notifications, installable.

Q – Query Selector
JavaScript/DOM method targeting elements with CSS selectors for manipulation.

R – React
JavaScript library for building reusable UI components and single-page apps.

S – SEO
Search Engine Optimization improving site visibility via keywords, speed.

T – TypeScript
Superset of JS adding types for scalable, error-free large apps.

U – UI/UX
User Interface design and User Experience focusing on usability, accessibility.

V – Vue.js
Progressive JS framework for reactive, component-based UIs.

W – Webpack
Module bundler processing JS, assets into optimized static files.

X – XSS
Cross-Site Scripting vulnerability injecting malicious scripts into web pages.

Y – YAML
Human-readable format for configs like Docker Compose or GitHub Actions.

Z – Zustand
Lightweight state management for React apps, simpler than Redux.

Double Tap ♥️ For More
22🥰1😁1
JavaScript Practice Questions with Answers 💻

🔍 Q1. How do you check if a number is even or odd?
let num = 10;
if (num % 2 === 0) {
console.log("Even");
} else {
console.log("Odd");
}


🔍 Q2. How do you reverse a string?
let text = "hello";
let reversedText = text.split("").reverse().join("");
console.log(reversedText); // Output: olleh


🔍 Q3. Write a function to find the factorial of a number.
function factorial(n) {
let result = 1;
for (let i = 1; i <= n; i++) {
result *= i;
}
return result;
}
console.log(factorial(5)); // Output: 120


🔍 Q4. How do you remove duplicates from an array?
let items = [1, 2, 2, 3, 4, 4];
let uniqueItems = [...new Set(items)];
console.log(uniqueItems);


🔍 Q5. Print numbers from 1 to 10 using a loop.
for (let i = 1; i <= 10; i++) {
console.log(i);
}


🔍 Q6. Check if a word is a palindrome.
let word = "madam";
let reversed = word.split("").reverse().join("");
if (word === reversed) {
console.log("Palindrome");
} else {
console.log("Not a palindrome");
}


💬 Tap ❤️ for more!
17