# Getting Started

# Creating a New Nacelle Space

Begin a new Nacelle project by signing up for an account.

Once your Nacelle account is created you will be able to navigate to the "Spaces" link found on the left side of the Nacelle dashboard. Storefronts are called "Spaces" in our universe.

Click the button in the bottom right corner to begin the walkthrough to help you set up your new space.

# 1) Basic Settings

Add the name and domain of your new space (note: this is easily changed in the future if needed). Once you have done this clicking the button to continue will create a new space. After this point you may skip directly to your spaces dashboard settings. However you can also continue the walkthrough following the guide to update your new space step-by-step.

# 2) Product Settings

Nacelle works by syncing your product and content data in indices. With your data stored in our indices we can query it quickly and efficiently in your client facing app or web app. Syncing with our indexing service, "Dilithium", is done via "connectors". Connectors can be either custom services you build and host yourself that communicate with Dilithium's API, or you can use our prebuilt connectors.

# Shopify

One of the prebuilt connectors we have is for Shopify. Selecting "I will use Nacelle's Shopify connector" and continuing will walk you through connecting your Shopify store to Dilithium. Before you can complete this step you must properly configure your Shopify account.

# Configure Your Shopify Account

IMPORTANT!

For your Nacelle storefront to work, you must create a Shopify private app AND make your catalog visible to the app. Create a new private Shopify app by following these instructions. Use any name you'd like for the app. Be sure to use the Storefront API and under permissions turn the tag reading on.

Once you have created your private app, you must enable your product catalog. Visit your Products page in Shopify. You will most likely want enable every product in your catalog, so follow this guide in order to select all your products at once.

Once your product catalog is selected, click "Actions" and then select "Make Products Available". Select your private app in the modal that appears. Now you are ready to set up your store in the Nacelle Dashboard.

# Add Shopify Settings

With your Shopify private app completed you can update the GraphQL endpoint and token fields in the Nacelle walkthrough. First, paste your Shopify Storefront GraphQL access token from the private app you just created. Second, paste in your Shopify Storefront API GraphQL endpoint. It should look like

https://<store name here>.myshopify.com/api/graphql.json

When you have filled out the fields you will see a button to being indexing your store. For small stores with only a few products this will only take a couple seconds, but it potentially could take some time for larger stores. Clicking the button once will begin the sync in the background and you can continue with the walkthrough.

# 3) Content Settings

Content settings are very similar to product settings. However, we have an additional pre-built connectors for Contentful and Sanity. This allows you to easily use the CMS of your choice while still using Shopify to manage your products and collections.

# Contentful

If you select the Contentful connector you will need to create or use an API key which can be found in your Contentful space settings. Select or create a new key. Copy the "Space ID" and the "Content Delivery API - access token" and paste those values into the setup fields. Contentful also has the concept of "Environments" which can be used for setting up staging environments. If your access token is associated with a custom environment paste that into the field, otherwise "master" is usually the default environment.

Next you will have to create a "CMS Sync Source Domain". This field is used as an identifier that links the items synced to our indices with their source data location. It should be unique to your contentful space.

When you have completed all the fields you can click the green button to being indexing your content.

# Sanity

If you select the Sanity connector you will need to create an API token which can be found in your Sanity Dashboard settings under API. Add new token. Copy the "Token" and the "Project Id" and paste those values into the setup fields. Sanity also has the concept of "Datasets" or environments which can be used for setting up staging environments. If your token is associated with a custom environment paste that into the field, otherwise "production" is usually the default environment.

Next you will have to create a "CMS Sync Source Domain". This field is used as an identifier that links the items synced to our indices with their source data location. It should be unique to your sanity project.

When you have completed all the fields you can click the green button to being indexing your content.

# 4) Checkout Settings

Depending on your store you can set up your Nacelle checkout settings for either Shopify, Magento, or BigCommerce. For Shopify you will need your Storefront API token and endpoint. Magento also requires a GraphQL endpoint and token. Finally for BigCommerce you will need your BigCommerce REST API endpoint.

If you also use ReCharge, you can select it from the dropdown list for "Alternative Source". For more details on setting up ReCharge, please view our ReCharge Documentation.

# 5) Build Hooks

Finally the last step is optionally adding a build webhook URL. When Nacelle has finished indexing your content or products we will be able to send an outgoing webhook to this URL. For example you may want to add a Netlify webhook URL, so that reindexing will trigger a rebuild of your Nacelle-powered site. (This feature is currently in development.)

After completing these steps your new space is ready. At any time you can go back to your space settings to update them. If you use either the Shopify or Contentful Dilithium connectors you can also trigger reindexing from your space's settings dashboard.