[
  { "id": 1, "title": "Getting Started with JavaScript", "body": "JavaScript is a versatile programming language that runs in the browser. It allows you to create dynamic and interactive web pages with ease.", "category": "tech" },
  { "id": 2, "title": "CSS Grid Layout Guide", "body": "CSS Grid is a powerful two-dimensional layout system. It lets you arrange elements into rows and columns with precise control over sizing and positioning.", "category": "design" },
  { "id": 3, "title": "Understanding REST APIs", "body": "A REST API is an interface that allows different applications to communicate over HTTP. It uses standard methods like GET, POST, PUT, and DELETE.", "category": "tech" },
  { "id": 4, "title": "Typography Basics for Web", "body": "Good typography improves readability and user experience. Choosing the right font size, line height, and letter spacing makes content easier to read.", "category": "design" },
  { "id": 5, "title": "Introduction to MySQL", "body": "MySQL is one of the most popular relational database systems. It stores data in tables and uses SQL queries to retrieve and manipulate records.", "category": "backend" },
  { "id": 6, "title": "Flexbox vs Grid", "body": "Flexbox is best for one-dimensional layouts, while Grid handles two-dimensional arrangements. Understanding when to use each will improve your CSS workflow.", "category": "design" },
  { "id": 7, "title": "PHP Session Management", "body": "Sessions in PHP allow you to store user data across multiple pages. They are commonly used for login systems and shopping carts.", "category": "backend" },
  { "id": 8, "title": "Event Handling in JavaScript", "body": "JavaScript events let you respond to user actions like clicks, key presses, and form submissions. The addEventListener method is the recommended approach.", "category": "tech" },
  { "id": 9, "title": "Color Theory for Designers", "body": "Understanding color relationships helps create harmonious designs. Concepts like complementary, analogous, and triadic colors guide effective color choices.", "category": "design" },
  { "id": 10, "title": "Working with localStorage", "body": "localStorage allows web applications to store key-value pairs in the browser persistently. Data remains available even after the browser is closed and reopened.", "category": "tech" },
  { "id": 11, "title": "SQL JOIN Types Explained", "body": "SQL JOINs combine rows from two or more tables. INNER JOIN returns matching rows, LEFT JOIN includes all rows from the left table, and RIGHT JOIN does the opposite.", "category": "backend" },
  { "id": 12, "title": "Responsive Design Principles", "body": "Responsive design ensures your website looks good on all screen sizes. Using flexible grids, images, and media queries are the core techniques.", "category": "design" },
  { "id": 13, "title": "Fetch API and Promises", "body": "The Fetch API provides a modern way to make HTTP requests in JavaScript. It returns Promises, making it easy to handle asynchronous operations with async/await.", "category": "tech" },
  { "id": 14, "title": "PDO and Prepared Statements", "body": "PDO is a PHP extension for database access. Prepared statements separate SQL code from data, effectively preventing SQL injection attacks.", "category": "backend" },
  { "id": 15, "title": "Web Accessibility Basics", "body": "Accessible websites can be used by everyone, including people with disabilities. Using semantic HTML, proper alt text, and keyboard navigation are good starting points.", "category": "design" },
  { "id": 16, "title": "DOM Manipulation Techniques", "body": "The Document Object Model represents the structure of a web page. JavaScript can add, remove, or modify elements and attributes dynamically using DOM methods.", "category": "tech" },
  { "id": 17, "title": "Database Indexing Strategies", "body": "Indexes speed up data retrieval in databases. Adding indexes to frequently searched columns can significantly improve query performance on large datasets.", "category": "backend" },
  { "id": 18, "title": "CSS Variables and Theming", "body": "CSS custom properties allow you to define reusable values in your stylesheets. They are particularly useful for implementing dark mode and consistent theming.", "category": "design" },
  { "id": 19, "title": "Form Validation Best Practices", "body": "Both client-side and server-side validation are necessary for secure forms. Client-side validation improves user experience, while server-side validation ensures data integrity.", "category": "tech" },
  { "id": 20, "title": "File Upload Handling in PHP", "body": "PHP handles file uploads through the $_FILES superglobal. Always validate file type and size on the server side before saving to prevent security vulnerabilities.", "category": "backend" }
]
