# Deploy a Web App with ButterCMS Templates

import Tag from '~/components/webkit/Tag.vue';

<Tag severity="info">
Preview
</Tag>

The **ButterCSM Templates** collection offers configurations for making collaborative content management of your application easier. 

These templates are all integrated with the [ButterCMS](https://buttercms.com/).

The available templates are:

- **ButterCMS + Gatsby Starter Project**: create a fully-functional Gatsby starter project, integrated with ButterCMS. It uses version `5.7.0` of Gatsby.
- **ButterCMS + Angular Starter Project**: create a fully-functional Angular starter project, integrated with ButterCMS. It uses version `15.1.2.` of Angular.
- **ButterCMS + Nuxt Starter Project**: create a fully-functional Nuxt starter project, integrated with ButterCMS. It uses version `3.2.3` of Nuxt.
- **ButterCMS + React Starter Project**: create a fully-functional React starter project, integrated with ButterCMS. It uses version `18.2.0` of React.
- **ButterCMS + Vue.js Starter Project**: create a fully-functional Vue.js starter project, integrated with ButterCMS. It uses version `3.2.45` of Vue.js.

The deployment process for each of these templates creates a GitHub repository for your project, along with an application and a domain. This setup enables easy access and management of your VuePress application through the Azion Web Platform.

---

## Requirements

- A [GitHub account](https://github.com/signup) to connect with Azion and create your new repository.
  - Every push will be deployed automatically to this repository to keep your project updated.
- Have a [ButterCMS](https://buttercms.com/) account.
- These templates use [Application Accelerator](/en/documentation/products/build/applications/application-accelerator/), [Functions](/en/documentation/products/build/applications/functions/), and [Cache](/en/documentation/products/build/applications/cache/), and it may generate usage-related costs. Check the [pricing page](https://www.azion.com/en/pricing/) for more information.

---

## Deploying the template

You can obtain and configure your templates through the Azion Console. To easily deploy any of them at the edge, click the respective button below.

<DocButton
   label="Deploy ButterCMS + Gatsby Starter Project"
   href="https://console.azion.com/create/buttercms/buttercms-gatsby-starter"
   icon="ai ai-azion"
   size="medium"
/>
<DocButton
   label="Deploy ButterCMS + Angular Starter Project"
   href="https://console.azion.com/create/buttercms/buttercms-angular-starter"
   icon="ai ai-azion"
   size="medium"
/>
<DocButton
   label="Deploy ButterCMS + Nuxt Starter Project/;."
   href="https://console.azion.com/create/buttercms/buttercms-nuxt-starter"
   icon="ai ai-azion"
   size="medium"
/>
<DocButton
   label="Deploy ButterCMS + React Starter Project"
   href="https://console.azion.com/create/buttercms/buttercms-react-starter"
   icon="ai ai-azion"
   size="medium"
/>
<DocButton
   label="Deploy ButterCMS + Vue.js Starter Project"
   href="https://console.azion.com/create/buttercms/buttercms-vue-starter"
   icon="ai ai-azion"
   size="medium"
/>

---

## Setting up the template

In the configuration form, you must provide the information to configure your application. Fill in the presented fields.

Fields identified with an asterisk are mandatory.

1. Connect Azion with your GitHub account.
   - A pop-up window will open to confirm the installation of the [Azion GitHub App](https://www.azion.com/en/documentation/products/guides/azion-github-app/), a tool that connects your GitHub account with Azion's platform.
   - Define your permissions and repository access as desired.
2. Select the **Git Scope** to work with.
3. Fill in the information to setup the application:
   - **Application Name**: define a unique name for your application.
   - **ButterCMS API Key**: the ButterCMS API access key required for the application to read content.
4. Click the **Deploy** button to start the deployment process.

During the deployment, you'll be able to follow the process through a window showing the logs. When it's complete, the page shows information about the application and some options to continue your journey.

:::note
The link to the application allows you to see it on the browser. However, it takes a certain time to propagate and configure the application in Azion's edge locations. It may be necessary to wait a few minutes for the URL to be activated and for the application page to be effectively displayed in the browser.
:::

## Managing the template

Considering that this initial setup may not be optimal for your specific application, all settings can be customized any time you need by using Azion's platform.

To manage and edit your application's settings, follow these steps:

1. [Access Azion Console](https://console.azion.com).
2. On the upper-left corner, select **Products menu**, the icon with three horizontal lines, > **Applications**.
   - You'll be redirected to the **Applications** page. It lists all the applications you've created.
3. Find the application related to your template and select it.
   - The list is organized alphabetically. You can also use the **search bar** located in the upper-left corner of the list; currently, it filters only by **Application Name**.

After selecting the application you'll work on, you'll be directed to a page containing all the settings you can configure.

:::tip
Read the documentation about [managing applications](/en/documentation/products/build/applications/first-steps/) for more details.
:::

### Adding a custom domain

The application created during the deployment has an assigned Azion Workload domain to make it accessible through the browser. The domain has the following format: `xxxxxxxxxx.map.azionedge.net/`. However, you can add a custom domain for users to access your application through it.

import DocButton from '~/components/webkit/DocButton.vue';

<DocButton href="/en/documentation/products/guides/configure-a-domain/" label="Go to Configuring a Domain Guide" kind="secondary" size="medium" />