Introduction

Understand the overview, learning outcomes, and prerequisites of IndexedDB, and get a road map of the IndexedDB course.

IndexedDB is a browser-based database that lets us store a lot of structured data, including files/blobs, in the browser. It uses indexes to enable high-performance searches of data. While localStorage and sessionStorage are useful for storing smaller amounts of data, they’re less useful for storing larger amounts of structured data. IndexedDB provides a solution.

Prerequisites

The prerequisites of this course include:

  • Understanding of JavaScript: IndexedDB is written in JavaScript. Therefore, it’s essential to have a deep understanding of JavaScript, including its syntax, control structures, and data types.

  • Understanding of asynchronous programming: Knowledge of asynchronous programming using promises will be very helpful for learning IndexedDB. Because the data is stored on the client side, IndexedDB must use asynchronous transactions to avoid blocking or interrupting one another.

  • Understanding of basic database concepts: Basic knowledge of database concepts, such as tables, indexes, and relationships, is required. These concepts are fundamental to understanding the structure of any database, including IndexedDB.

IndexedDB road map

The course’s initial focus is to help you learn the basics of IndexedDB, for example, opening or closing a database and managing and modifying data in object stores. You’ll also learn how to ensure data integrity and iterate over the data. By the end, the course will teach you how to develop a running web-based project.

The course workflow can be divided into four sections, as follows:

Introduction

  • Learn about IndexedDB, including creating and handling databases in IndexedDB.

  • Explain the difference between IndexedDB and other web storage technologies.

  • Describe the benefits and drawbacks of using IndexedDB.

Object store and transaction

  • Learn about object stores and transactions.

  • Create and list object stores.

  • Add, update, and delete data in object stores.

  • Use transactions to ensure data integrity.

Index and cursor

  • Learn about index and cursor.

  • Learn to create and use indexes to improve query performance.

  • Learn to use cursors to iterate over data in object stores.

To-do list project

  • Build a simple to-do list application using IndexedDB.

  • Store to-do items in an object store.

  • Use transactions to ensure that to-do items are always saved correctly.

  • Use cursors to display to-do items in a list.

By the end of this course, you’ll have a good understanding of how to use IndexedDB to store and manage data in your web applications.

Who should take this course?

This course is for web developers who want to learn how to use IndexedDB to store and manage data in their web applications.