# Getting started

The **Bubble user manual** is our long-form collection of articles that teaches you Bubble from start to finish. We've designed the manual so that you can read it from A-Z or pick the categories and specific articles that you need.

Instead of delving into each individual setting and property, we explore broader topics such as design, data and logic, and we even touch on subjects not directly tied to Bubble, aiming to foster an overall understanding of web applications at large.

{% hint style="info" %}
If you are looking for more concise, technical documentation for each of Bubble's features, you may be interested in checking out the [core reference](https://manual.bubble.io/~/changes/1188/core-resources/using-the-core-reference) section of the docs.\
\
In [New? Start here section](https://manual.bubble.io/~/changes/1188/new-start-here) we also[ list other resources](https://manual.bubble.io/~/changes/1188/new-start-here#learning-bubble) such as videos, user community and interactive tutorials.
{% endhint %}

## How to read the user manual

The user manual is designed like a guidebook, allowing you to either read it from beginning to end or select specific sections based on what you want to learn more about. If you have just getting started with Bubble, we recommend you check out each section and get to know the how the manual is structured.

This way, if you don't want to read every section in full now, you can return to any subject for a thorough overview when you need it.

## Manual sections

### Getting started

This section focuses on the basics of Bubble and is meant for users who are new to the platform. Here we'll explore the basic stuff such as creating an app, navigating the editor and changing the general application settings.

If you have played around with Bubble for a little while and know about the basic stuff already, you can use the navigation menu on the left to find the categories that interest you the most.

<figure><img src="https://34394582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M5sbzwG7CljeZdkntrL%2Fuploads%2FrHWTqjsYEZv8uYm5uFmH%2Fcreate-bubble-app.png?alt=media&#x26;token=dd988430-c866-46c6-88ae-abc4bb830f27" alt=""><figcaption></figcaption></figure>

<details>

<summary><a href="getting-started/building-your-first-app">Building your first app</a></summary>

This section takes a look at the theory and methods around planning your first app. We take a look at how you can break your app idea into features and versions, how you can plan out your database structure and finally how you make it ready for users with a user interface.

If you've never built an app before, we recommend starting here.

Article series: [Building your first app](https://manual.bubble.io/~/changes/1188/help-guides/getting-started/building-your-first-app)

</details>

<details>

<summary><a href="getting-started/creating-and-managing-projects">Creating and managing apps</a></summary>

Your Bubble account can hold as many applications as you want, and this section explores how you can organize your apps.

Article: [Creating and managing apps](https://manual.bubble.io/~/changes/1188/help-guides/getting-started/creating-and-managing-projects)

</details>

<details>

<summary><a href="getting-started/navigating-the-bubble-editor">Navigating the Bubble editor</a></summary>

Bubble contains all the tools you need to create awesome web applications, all wrapped into one editor. Learn how to navigate it in this article.

Article: [Navigating the Bubble editor](https://manual.bubble.io/~/changes/1188/help-guides/getting-started/navigating-the-bubble-editor)

</details>

<details>

<summary><a href="broken-reference">Custom domain and DNS</a></summary>

Your Bubble app will automatically be assigned a unique URL when it is created, such as `https://my-bubble-application.bubbleapps.io`.&#x20;

As you get close to launch, you may want to move it to your own domain, such as `https://www.my-bubble-application.com`.

This article explores how to connect your app to a custom domain and set up the correct DNS[^1] settings.

Article: [Custom domain and DNS](https://manual.bubble.io/~/changes/1188/help-guides/broken-reference)

</details>

<details>

<summary><a href="broken-reference">Application settings</a></summary>

Each Bubble app comes with a set of general settings. This article goes through each different category of settings.

Article series: [Application settings](https://manual.bubble.io/~/changes/1188/help-guides/broken-reference)

</details>

### Design

Bubble is a visual tools that lets you design your app by dragging and dropping elements such as text, buttons, links, tables and even maps on a page. This section covers how you design your app and helpful tools such as styles[^2], [color/font variables](#user-content-fn-3)[^3] and the [responsive engine](#user-content-fn-4)[^4].

<figure><img src="https://34394582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M5sbzwG7CljeZdkntrL%2Fuploads%2FIrXvQE7j7MkpY1iytIei%2Fdesign.png?alt=media&#x26;token=ad62292d-bdcf-4442-8ae4-ec745ed7824e" alt=""><figcaption><p>Bubble lets you set up flexible, responsive design and save them in styles that can be applied every in seconds.</p></figcaption></figure>

<details>

<summary><a href="design/elements">Elements</a> </summary>

Elements are the things that you place on a page to display data and let your users interact with your app. Whether you want to create an elaborate presentation page with images and animations or a simple signup form, it's all done by combining different elements in a way that your users find useful and visually pleasing.

Bubble offers a lot of different elements serving different purposes and this article series covers them all.

Article series: [Elements](https://manual.bubble.io/~/changes/1188/help-guides/design/elements)

</details>

<details>

<summary><a href="design/styling">Styling</a></summary>

Each element that you add to your page has a default *styling* applied to it. In short, styling refers to what your elements look like, and this is done by changing styling settings such as:

* Background color, gradient or image
* Border
* Shadow
* Font
* Transitions

Bubble also features ways to save styling settings to help you maintain and update how your app looks efficiently.

Article series: [Styling](https://manual.bubble.io/~/changes/1188/help-guides/design/styling)

</details>

<details>

<summary><a href="design/responsive-design">Responsive design</a></summary>

Responsive design is a method that gives your users a great experience no matter what kind of device they are using to access your app.\
\
Bubble features a *responsive engine* that lets you control every aspect of your app's responsiveness in the same visual editor that you use to build your pages. It uses a grid-based layout to change the appearance of the page depending on the screen size and orientation of the device.

Article series: [Responsive design](https://manual.bubble.io/~/changes/1188/help-guides/design/responsive-design)

</details>

<details>

<summary><a href="design/the-component-library">The component library</a></summary>

The component library is a collection of pre-built User Interface (UI) components that can be dragged and dropped onto your page to help you build beautiful interfaces faster. These UI components are fully responsive and are made up of containers, visual elements, and form inputs that can be individually customized once added to your page. Each component is a fully independent unit, but can be connected to each other or other parts of your app by adding workflows and data.&#x20;

Article: [The component library](https://manual.bubble.io/~/changes/1188/help-guides/design/the-component-library)

</details>

<details>

<summary><a href="design/importing-from-figma">Importing from Figma</a></summary>

Many users have a background from Figma. Bubble has a tool for importing your Figma design into Bubble, maintaining style attrbiutes such as colors, fonts, shadows, etc. This article covers how the import process works.

Article: [Importing from Figma](https://manual.bubble.io/~/changes/1188/help-guides/design/importing-from-figma)

</details>

### Data

Data forms the foundation of any application. Indeed, creating an app that doesn't handle data in some way is unusual. Be it data produced by your users, added by you, or imported from external applications or services, the capability to collect, secure, and present information essentially drives the existence of most apps.

<figure><img src="https://34394582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M5sbzwG7CljeZdkntrL%2Fuploads%2FwDYfLkyFstxaevuuA6Kt%2Fbubble-database-design.png?alt=media&#x26;token=751edbd0-4a34-4b94-9ffb-9df0a9c1f560" alt=""><figcaption><p>Bubble's database editor lets you create, assign fields to and connect data types with no database experience.</p></figcaption></figure>

<details>

<summary><a href="data/the-database">The database</a></summary>

The database manages all the dynamic data that both you and your users have added. You can create, modify, view, and delete data as needed and run bulk operations to make major updates.

Data in the database is stored securely on Bubble's servers.

Article series: [The database](https://manual.bubble.io/~/changes/1188/help-guides/data/the-database)

</details>

<details>

<summary><a href="data/files">Files</a></summary>

Bubble offers integrated tools within the editor and your app for handling file and image uploads and storage.&#x20;

Article: [Files](https://manual.bubble.io/~/changes/1188/help-guides/data/files)

</details>

<details>

<summary><a href="data/static-data">Static data</a></summary>

Static data in Bubble is defined as data that requires your app to be re-deployed to update and cannot be changed by your application's users (unlike dynamic and temporary data).

This is useful for saving data that you need to re-use in your app, but that doesn't change very often, such as strings of text and options in a list.

Article series: [Static data](https://manual.bubble.io/~/changes/1188/help-guides/data/static-data)

</details>

<details>

<summary><a href="data/temporary-data">Temporary data</a></summary>

Sometimes you'll need to store some information temporarily in your application. They can be considered *variables* and are not in any permanent storage like the database, but live for as long as they are needed.

This is useful for holding some information while the user is still one the same page and for navigation.

Article series: [Temporary data](https://manual.bubble.io/~/changes/1188/help-guides/data/temporary-data)

</details>

<details>

<summary><a href="data/user-accounts">User accounts</a></summary>

Bubble has a built-in feature to handle user accounts. In other words, your users can create and log in to their account purely with built-in tools that are secure, efficient and easy to set up.

Article series: [User accounts](https://manual.bubble.io/~/changes/1188/help-guides/data/user-accounts)

</details>

### Logic

The *Logic* section covers how to make Bubble *do* stuff: by combining workflows and expressions, you can set Bubble up to perform tasks for your users ranging from very simple to highly complex.

<figure><img src="https://34394582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M5sbzwG7CljeZdkntrL%2Fuploads%2F4EKvQH9AZzJPPYUtVU2I%2Fworkflow-editor.png?alt=media&#x26;token=78b8e5bd-b46a-47e6-a217-02f13de4ae90" alt=""><figcaption><p>Bubble's workflow editor lets you drag and drop actions that happen whenever an event takes place, such as a button click.</p></figcaption></figure>

<details>

<summary><a href="logic/the-frontend-and-backend">The frontend and the backend</a></summary>

To understand Bubble, is useful to understand the difference between things happening on the page, and things happening on Bubble's server. This article takes a theoretical look at how the two are different – and how they work together constantly to make your app work.

Article: [The frontend and the backend](https://manual.bubble.io/~/changes/1188/help-guides/logic/the-frontend-and-backend)

</details>

<details>

<summary><a href="logic/workflows">Workflows</a></summary>

Workflows in Bubble are sequences of actions that automate your app's operations. They trigger in response to events such as a button click or page load, allowing you to create dynamic and interactive applications. In short, they are what makes your app *do* something.

Article series: [Workflows](https://manual.bubble.io/~/changes/1188/help-guides/logic/workflows)

</details>

<details>

<summary><a href="logic/dynamic-expressions">Dynamic expressions</a></summary>

Dynamic expressions are like "live" formulas that update in real-time based on user input, database updates and other changes in your app. They can fetch data, change and combine texts, calculate numbers and dates and a lot of other things.

Article: [Dynamic expressions](https://manual.bubble.io/~/changes/1188/help-guides/logic/dynamic-expressions)

</details>

<details>

<summary><a href="logic/conditions">Conditions</a></summary>

Conditions in Bubble are the rules you set to make your application react to different scenarios. They define the "if this, then that" logic in your app, controlling how elements behave, look or function based on different variables, like user inputs or data changes.

Article: [Conditions](https://manual.bubble.io/~/changes/1188/help-guides/logic/conditions)

</details>

<details>

<summary><a href="logic/navigation">Navigation</a></summary>

Navigation in Bubble is the way you manage the flow between different pages or parts of your app. It involves creating links, setting up redirects, or loading different groups or popups on a single page.

Article series: [Navigation](https://manual.bubble.io/~/changes/1188/help-guides/logic/navigation)

</details>

### Maintenance

Every app requires some testing and maintenance, and Bubble has many different tools for staying on top of it, as well as advanced collaboration features for teams.

<details>

<summary><a href="maintaining-an-application/collaboration">Collaborators</a></summary>

One of Bubble's big strengths is the ability to add up to 40 collaborators to your projects. Collaborators are registered Bubble users that you can give access to the editor in a specific app so that you can work on it together.

You can also set up independent iterations of your app (called *branches*) that allow your collaborators to concentrate on specific features and changes, maintaining their work separate from other ongoing projects. See [*Version control*](#version-control) below.

Article: [Collaborators](https://manual.bubble.io/~/changes/1188/help-guides/maintaining-an-application/collaboration)

</details>

<details>

<summary><a href="maintaining-an-application/version-control">Version control</a></summary>

Bubble's version control system lets you divide the development of your project into independent parts, so that you and other editors with access to the project can iterate on one part of the app without impacting other parts. This helps you simultaneously progress multiple streams of work and stay on top of the changes made as each goes from development to testing to deployment.

Article series: [Version control](https://manual.bubble.io/~/changes/1188/help-guides/maintaining-an-application/version-control)

</details>

<details>

<summary><a href="maintaining-an-application/commenting">Commenting</a></summary>

Every part of Bubble has a built-in commenting system that lets you add notes to it. For example, you can use commenting to describe what a particular workflow, element or data type is for. This helps you remember important details in your app, and makes it simpler to collaborate with other developers.

Article: [Commenting](https://manual.bubble.io/~/changes/1188/help-guides/maintaining-an-application/commenting)

</details>

<details>

<summary><a href="maintaining-an-application/database-maintenance">Database maintenance</a></summary>

Bubble offers multiple tools for maintaining a healthy, secure and performant database. This article series takes a look at how you copy database versions, maintain backups and run bulk operations.

Article series: [Database maintenance](https://manual.bubble.io/~/changes/1188/help-guides/maintaining-an-application/database-maintenance)

</details>

<details>

<summary><a href="maintaining-an-application/performance-and-scaling">Performance</a></summary>

As your app scales, it's important to stick to some best practices to make sure it keeps performing well. This article series explores useful tips, as well as looking at some of the technical soft and hard limits in Bubble's different features.

Article series: [Performance](https://manual.bubble.io/~/changes/1188/help-guides/maintaining-an-application/performance-and-scaling)

</details>

<details>

<summary><a href="maintaining-an-application/seo">SEO</a></summary>

SEO (or Search Engine Optimization) is the art of setting up a web page in a way that makes search engines give it a high ranking in its search results. In this section, we'll explore whether this is important for your app, and different ways to prepare your app for the search engine algorithms.

Article series: [Search Engine Optimization (SEO)](https://manual.bubble.io/~/changes/1188/help-guides/maintaining-an-application/seo)

</details>

<details>

<summary><a href="maintaining-an-application/testing-and-debugging">Testing and Debugging</a></summary>

Every app needs to be tested and sometimes debugged both before it's published, whenever you add new features and to find the root cause of any issues that come up in the meantime. Bubble gives you tools to preview, test and debug your app isolated from the live version.

Article series: [Testing and debugging](https://manual.bubble.io/~/changes/1188/help-guides/maintaining-an-application/testing-and-debugging)

</details>

<details>

<summary><a href="maintaining-an-application/scheduler">API workflow Scheduler</a></summary>

API Workflows are scheduled in a log where they can later be cancelled before they run if needed. Bubble's API Workflow Scheduler lets you show all the scheduled workflows and pause or cancel them.

Article:[ API workflow scheduler](https://manual.bubble.io/~/changes/1188/help-guides/maintaining-an-application/scheduler)

</details>

### Integrations

Among Bubble's most powerful features is its set of tools to connect your app to other apps and systems.

<details>

<summary><a href="integrations/api">API</a></summary>

By using what's called an API connection, your application can fetch data and execute commands in external software systems and vice versa.

Article series: [API](https://manual.bubble.io/~/changes/1188/help-guides/integrations/api)

</details>

<details>

<summary><a href="integrations/using-plugins">Plugins</a></summary>

Bubble's plugin store contains thousands of plugins that extend the platforms core feature set. This can add new elements to your page, connect to external services, do complex calculations and a lot more.

Article series: [Plugins](https://manual.bubble.io/~/changes/1188/help-guides/integrations/using-plugins)

</details>

<details>

<summary><a href="integrations/sql-database-connector">SQL database connector</a></summary>

Sometimes you'll need to connect to an external database to make the most of your Bubble app. The SQL Database Connector Plugin is a handy tool that allows you to connect to databases like:&#x20;

* Postgres
* MySQL
* Microsoft SQL

By running SQL queries from within Bubble, you can access information or trigger actions.

Article: [SQL database connector](https://manual.bubble.io/~/changes/1188/help-guides/integrations/sql-database-connector)

</details>

<details>

<summary><a href="integrations/bubble-app-connector">Bubble app connector</a></summary>

Bubble can connect to most other apps by using the [API Connector](#user-content-fn-5)[^5] and/or the [SQL Connector](#user-content-fn-6)[^6]. Sometimes you may want to connect to another Bubble application, and we have made that option simple to set up using the plugin *Bubble App Connector plugin.*

Article: [Bubble app connector](https://manual.bubble.io/~/changes/1188/help-guides/integrations/bubble-app-connector)

</details>

### Infrastructure

<details>

<summary><a href="security">Security</a></summary>

Many apps will be handling sensitive information on behalf of its users. Our article series on Security shows you how you keep data safe, set up secure connections with external systems and avoid both malicious attacks and accidental data leaks.

Article series: [Security](https://manual.bubble.io/~/changes/1188/help-guides/security)

</details>

<details>

<summary><a href="infrastructure/sub-apps">Sub-apps</a></summary>

The sub-app feature sets up a relationship between a “main app” and one or more “sub applications” and makes it easier to push any changes from the main app to its sub apps, while all main and sub apps have their own database. This is especially useful for certain ideas that involve setting up different (sub/)domains for different clients, which is common in SaaS applications.

Article: [Sub-apps](https://manual.bubble.io/~/changes/1188/help-guides/infrastructure/sub-apps)

</details>

<details>

<summary><a href="infrastructure/bubble-release-tiers">Bubble Release Tiers</a></summary>

The Bubble engine is evolving all the time - on a typical workday, we'll have multiple code rollouts representing any combination of bug fixes, infrastructure improvements, new features, and more. In this article, we'll look at the different options available for applying these updates.

Article:[ Bubble release tiers](https://manual.bubble.io/~/changes/1188/help-guides/infrastructure/bubble-release-tiers)

</details>

<details>

<summary><a href="infrastructure/hosting-and-scaling">Hosting and scaling</a></summary>

Bubble is not only a no-code platform, but a complete hosting solution that automatically scales as needed. In this article series we'll cover what exactly is included and how the system is designed to scale seamlessly.

Article series: [Hosting and scaling](https://manual.bubble.io/~/changes/1188/help-guides/infrastructure/hosting-and-scaling)

</details>

<details>

<summary><a href="infrastructure/compliance">Compliance</a></summary>

When you're developing on Bubble, it's essential to get familiar with different compliance frameworks. They're not just a checklist; they're about building trust, ensuring your users' privacy, and meeting all the necessary legal requirements.

In this article series, you'll learn about some of the top compliance frameworks and how they fit into your app's development on Bubble.

Article series: [Compliance](https://manual.bubble.io/~/changes/1188/help-guides/infrastructure/compliance)

</details>

### Bubble for Enterprise

<details>

<summary><a href="bubble-for-enterprise">Bubble for Enterprise</a></summary>

Bubble's Enterprise plan is specifically designed to meet the demands and compliance requirements of large organizations. Beyond the standard features, Enterprise plan clients benefit from enhanced capabilities like centralized management for both users and apps, a dedicated support team, and the flexibility to choose their hosting location. Furthermore, our commitment to stringent security measures — from [SOC 2 Type II](#user-content-fn-7)[^7] security compliance to advanced DDoS[^8] protection — means that business operations remain robust and protected. Plus, with flexible payment options like invoicing or ACH[^9], Bubble aligns with the financial workflows of large-scale organizations.

Dive in to understand how our enterprise solutions can enable your organization's digital transformation.

Article series: [Bubble for Enterprise](https://manual.bubble.io/~/changes/1188/help-guides/bubble-for-enterprise)

</details>

## Additional resources and getting help

We have a lot of different resources available to help you on your learning journey – everything from video lessons, live coaches and bootcamps. We list the different resources in the introductory article below:

Article section: [Additional learning resources and getting help](https://manual.bubble.io/~/changes/1188/new-start-here#more-learning-resources)

[^1]: DNS (Domain Name System) is a system that translates human-readable domain names (like bubble.io) into IP addresses (like 192.168.0.1) that computers use to identify each other on the internet.\
    \
    This is how a user's browser knows how to communicate with the Bubble server.\
    \
    Article: [Custom domain and DNS](https://manual.bubble.io/~/changes/1188/help-guides/broken-reference)

[^2]: Bubble lets you set up overarching *Styles* for elements within your app to streamline the design process and promote consistency. By modifying a single style, you can effortlessly restyle all related elements, making it easy to set up and manage a cohesive look and feel in your app.\
    \
    Article: [Styles](https://manual.bubble.io/~/changes/1188/help-guides/design/styling/styles)

[^3]: *Style variables* are used to store specific colors and fonts that can then be applied to elements and styles throughout your app. This ensures that your use of fonts and colors remains consistent and is easy to switch out later if needed: for example, replacing a color variable will update *all* styles that use this variable instantly.\
    \
    Article: [Color variables](https://manual.bubble.io/~/changes/1188/help-guides/design/styling/color-variables)\
    Article: [Font variables](https://manual.bubble.io/~/changes/1188/help-guides/design/styling/font-variables)

[^4]: Responsive design is a method that gives your users a great experience no matter what kind of device they are using to access your app.\
    \
    Bubble features a *responsive engine* that lets you control every aspect of your app's responsiveness in the same visual editor that you use to build your pages. It uses a grid-based layout to change the appearance of the page depending on the screen size and orientation of the device.\
    \
    Article: [Responsive design](https://manual.bubble.io/~/changes/1188/help-guides/design/responsive-design)

[^5]: The *API Connector* is used to make outgoing connections to external applications and use it as a data source or trigger actions.

    Article: [The API Connector](https://manual.bubble.io/~/changes/1188/help-guides/integrations/api/the-api-connector)

[^6]: The SQL Database Connector plugin  lets you connect with external SQL databases.\
    \
    Article: [The SQL Database Connector](https://manual.bubble.io/~/changes/1188/help-guides/integrations/sql-database-connector)

[^7]: *SOC 2 Type II* is a compliance framework that evaluates a service organization's controls for security over time. It provides an attestation report on the effectiveness of these controls.\
    \
    Article: [Soc 2 Type II](https://manual.bubble.io/~/changes/1188/help-guides/infrastructure/compliance/soc-2-type-ii)

[^8]: A *Distributed Denial of Service (DDoS)* attack floods a website or network with excessive traffic, making it unavailable to legitimate users. It aims to disrupt service rather than steal information.

[^9]: Automated Clearing House (ACH) is an electronic payment system that facilitates bank-to-bank transfers in the U.S.
