Gadget
내용
[subtitle-meta] lang=en auto=True
in this video I'm going to show you how
you can get started building Shopify
apps I'm going to walk you through
setting up your first Shopify
development store and your first Shopify
app and I'm going to use Gadget to do it
because it abstracts a lot of shopify's
Buller plate and allows me to get
started building quickly let's get
started okay so I'm going to get started
here on the shopy partners landing page
if you haven't already created a new
partners account you need to go ahead
and do that that's at shop.com Partners
the link is in the video description
I already have a partner's account so
I'm just going to log
in and I'll select my Riley test stuff
account and that brings me to this
partner's dashboard now there's lots of
different features and functionality
built into this dashboard I'm going to
focus on two main tabs and that'll be
the stores tab where I can create
development stores for testing my apps
and then the apps tab which are my apps
where I can actually manage the apps
that I am building and testing so I'm
going to click on stores to start you
you see I've already created some
development stores but you can go ahead
and click add store and create
development store to create a new
one I'm going to start by creating a
store to test and build and I'll give my
store a name I'll call it cart
transform
testing
perfect you can select a developer
preview if you'd like shopy has some
more information if you click on this
link about developer previews I am going
to go ahead and select cart transform
which you may have guessed from my store
name and that's simply because I don't
have a cart transform Dev store yet
another popular one is check out
extensibility maybe not necessarily for
your first development store but it's
not a bad idea to select that option as
well allows you to build some of Shop's
latest and greatest checkout features
finally I'm going to go ahead and start
with test data which just gives me some
sample product order and customer data
so I'm not starting from scratch
normally if you select create with an
empty store you need to go ahead and
upload your own products I'm going to
skip that step so let's go ahead and
create this development
store takes a little while to spin
up but once it is created I'm redirected
right to my new store my development
store has been set up and I have been
redirected to this backend admin portal
and this admin is what merchants use to
manage and customize their stores so you
can see if I click on products these are
where the sample products have been
generated I can browse through them same
with customers there's some sample
customers generated for me and right at
the bottom you'll notice there is an app
section so because this is a brand new
shop I haven't installed any apps yet
we're about to get to that soon but this
is where my app will be available to
Merchants it will be embedded right in
this admin portal so that they can
customize how their shop
works if I do hover over this online
store option and click on this
icon this opens the Shopify storefront
so this is what the store will actually
look like to buyers to people browsing
the store when they visit it so you can
see I can click on a product add it to
the cart go through the checkout process
if you are interested in doing
development for storefront that's called
theme development and if you are
interested in doing kind of an entire
storefront theme uh my tutorial here
isn't going to cover that so there is
other videos there's other material
Shopify documentation that you'll want
to take a look at uh when it comes to
actually developing themes if you only
want to develop small little pieces of
storefront functionality that can be
done with shopify's theme extensions and
that is very relevant to the little
walkthrough I'm about to go through so
you can use theme extensions when you're
building custom admin
apps I will just flip back to my admin
portal here so I'm at the point now my
development store is set up got my admin
things are looking pretty good I'm going
to actually go ahead and create a new
app so I need to go back to my partner's
dashboard
here
and because it is my most used page in
the partners dashboard it is going to
autocomplete right to the apps page so
you see I've already selected it here I
already have a list of apps I've used
for building and testing various things
your list might be empty right now uh so
I'm going to go ahead and create a new
app I'm going to create an app manually
because I'm going to use Gadget to
actually write the code for my
application and the reason I'm using
Gadget is because it is a hosted and
autoscaled development platform it's
going to give me a full stack
application so that's a postgress
database node backend and react front
end and there's a built-in shopy
connection to handle a lot of shopify's
boilerplate so for example there's going
to be authentication handling frontend
session token handling as well as things
like web hook subscription and a
historical data sync so gadget's going
to handle all that for me you can also
create apps through Shopify CLI it gives
you a remix template I'm not going to go
into that at all there's plenty of
content around creating remix remix apps
if you're interested I'm going to go
ahead and create an app manually and
I'll just give it a name my first app
and press
create so that's wonderful I'm almost
ready to set up my new Gadget app before
I get into that I will say there are two
types of Shopify apps I'm going to go
ahead and click choose
distribution and these are the two
different distribution methods the first
is public so if you build a public app
it will be available on the Shopify app
store or it can be unlisted but this
means that anyone who has a link to your
app can install it and use it on their
store usually you're charging either a
one-time fee or a monthly subscription
fee for merchants to be able to use your
apps functionality the second type of
app are called custom apps I recommend
getting started with a custom app if you
can uh this is great opportunity for
freelance work because you're writing
usually a single piece of custom
functionality for a single Merchant so
you don't have to deal with shopy
billing apis you don't have to deal with
data tency or multi-tenancy like you
would do in public apps uh it is an
easier way to get started I'm not going
to go through this quite yet I will show
you how to install a Custom Distribution
at the very end of this video though so
that's that's great I'm going to go back
to my overview
page I've got my client ID in secret
that is what I need to set up my shopy
connection in my Gadget app so I'm going
to create my new Gadget app
next I will head
over to
and then enter a domain for my app so
I'll just call this my very first
shopify.com
by vit like I mentioned
before the first thing I notice is that
there's this connect shopy button so I'm
going to go ahead and do
that so I've shown you the parts of the
partner dashboard that is always how we
recommend connecting to Shopify you can
also connect directly from that store
admin however it is limited in features
and functionality so we always recommend
going through the partners dashboard
even if you're just building for a
single
Merchant you'll notice at the very
bottom here we have client ID and client
secret those should look familiar
because they're right here in my
partners app so I just need to copy them
over to G
and then I'll press
connect on this page I select what
Shopify Scopes and data models I want to
include in my app this is intimidating
the first time you go about building a
Shopify app because the Shopify API is
huge you probably don't know what Scopes
and what models you actually need to
build your app that's AOK this
connection is always editable later so
you don't need to worry about making the
right choices up front now before I
actually select Scopes and models I'm
going to just quickly take a step back
and talk about shopify's admin API so
because we are building an app that is
embedded in that store admin we're going
to use the admin API to get and write
data to
Shopify of course this can't be simple
Shopify has two versions of their admin
API there is a rest admin API and there
is a graphql admin API both of them
have shared resources so if I go ahead
on the rest API I can click on products
you see there is a product data model if
I go into the graphql
API I find products and collections go
to the objects and I can click on
another product data model if I go ahead
and do a quick glance at these Fields
see there's properties body HTML created
at they are not the same so that is nice
and convenient the gadget data models
are based on the rest API when available
there are some models that are only
available in the graphql API and in that
case we are fetching data using the
graphql admin API so I just want to note
that it is a large API it takes a while
to get used to
don't be intimidated you can always edit
your connection and Gadget if you want
different data models if you don't want
data models you can remove them from the
connection so that is a okay so I'm just
going to go over back to my Gadget app
I'm going to select my product read
scope so I want to be able to read in
product data into my app and I'm just
going to select the product and I will
select the product variant data models
so you see as I did that my setup
summary changed a bit so Gadget also
going to automatically subscribe to
Shopify web hooks for me so you can see
I am subscribing to some shop web hooks
so when a shop is updated or
uninstalled I will get a web hook for
that as well as my create update and
delete product web hooks so whenever a
merchant changes the product in the
admin that could be a trigger for an
action that I want to run as part of my
app so we are subscribing to web hooks
for you you also get an overview of the
models that we are going to sync data
for automatically you can scroll down
this page we do have a heap of models
available uh so if you are getting into
public app development at the very
bottom we also have billing resources
I'm just going to go ahead and press
confirm with my product selections
now you'll notice that the product and
product variant data models have been
added to my app as well as shop gdpr
requests and sync models which are added
to every Gadget app when you connect to
Shopify I'm going to get back to those
in a little bit I'm going to finish
setting up my connection first so we
give you this app URL and redirection
URL I need to copy these values go back
to my partners app click on the app
setup
Tab and paste in this app
URL and this redirection
URL and I will press save
here perfect so now my app is ready to
be installed on my shop so I'm going to
go back to
overview I can go ahead and click select
store in the test your app section and
I'm going to go ahead and select my cart
transform testing store my brand new
development store so I haven't written a
line of oo code that's what's really
great about Gadget is it's going to
handle all of the oo for me so I can
just directly install my app on a store
so I'll just click the install app
button and voila
this is my embedded app you notice we're
back in this store's admin under the app
section there is my first app and this
is just a shop information page this is
actually a react front end that is
included and hosted as part of your
Gadget project so if I go back to gadget
here click on the front end folder and
go to shop page
jsx this is the page that is actually
powering that front end here so you see
there is a banner with a title your app
is successfully connected to Shopify if
I go back here my very first Shopify is
successfully connected to Shopify so
this react front end is styled using
shopify's Polaris component Library
Gadget automatically installed this for
you when you set up your connection to
Shopify so if I just go over to the
Polaris docs I will include a link to
these docs in the description but if I
click on components you can see there's
lots of components you can use these to
build native feeling apps so that your
app Blends in with the rest of the
Shopify admin which is really nice so if
I scroll down here I should be able to
find a banner
component and that looks pretty familiar
if I go back here so it is the same
Banner component it'll look the same as
every other Banner that is used in the
admin if the app is built on
Polaris so that's wonderful the next
thing I want to mention is web hooks so
if I go back to my Gadget app and click
on my Shopify product model you see a
model is like a table in a database and
we have these fields so these fields if
we take a look at them and compare them
to the product resource from the rest
API they should match up so that is
great we also have some crud actions
generated automatically for you for this
Shopify product model so you see there's
create update and delete actions there's
also a read
API if I go over across the code you can
add custom code and this is your app
backend in node.js so if you are writing
custom functionality that happens
whenever you create a product this is
where you'd add it I'm not going to get
into what the Run andon success
functions mean right now I'm not going
to go through Gadget stuff I do
recommend going to our product tager
tutorial it will teach you more about
Gadget and less focus on
Shopify over here in the trigger section
though we do have Shopify web hooks as
triggers so whenever a product is
created or
updated this create action can be run
and the reason update can also run this
create action is I might go into the
admin update a product if it doesn't
exist in my database already it'll
create a new instance a new record of
this product so let's test this out I'm
going to go to my admin click on
products and I will just add a new
product going to go ahead and call this
t-shirt I can enter a description if I
want I don't want to right now add media
so this would be like an image of my
product set some pricing track quantity
I do need a skew in order to create a
new product doesn't really matter what
it is so I'm okay with this it's just a
title right now I'll press save so this
actually creates a new product in my
shop and it'll fire that products create
web hook so if I go back to my Gadget
app I can go to my data page you'll see
that the T-shirt has been added to my
database so that's wonderful when I am
creating or updating products I might
also want to get all of the products
that are already installed or already
created in a merchant store and I can
use gadgets data sync to do that so I'm
going to scroll down click plugins
Shopify and then go to shop install so
this is the app I already
connected and I'm going to go ahead this
is my store cart transform testing I'll
hit the sync button so I'm manually
triggering a sync now there is also a
way to trigger a sync as soon as a
merchant installs your app on a store
and what this is going to do is pull in
all of my product data from this store
into my Gadget database so that I can
start using my data from my database to
actually perform my apps
functionality so I'll click on product
click on data and you see that all of
the data is now synced to my database so
that's wonderful the shopy API does have
rate limits and Gadget handles that for
you so you don't have to worry about the
number of products or orders or
customers that a store already has
Gadget will sync all of that data as
fast as it can and manage that rate
limit so you don't have to worry about
doing that yourself another nice benefit
of using
Gadget so this is good I have synced
data into my database I have my embedded
front end uh I think I'm probably ready
at this point to go ahead
and create a production version of my
app let's say so I haven't actually
built an app uh once again I will refer
you to any of our other tutorials figure
out what you want to build and then go
ahead and build our app I'm going to
skip that part and just get to how do I
release an app in production so this is
my development environment Gadget also
has a production environment I can use
so I actually need to go back to my
partner dashboard
once
again I do need to create a new app
another new app call it my
first
production
app once again I get a client ID in
secret so I do want to copy these back
to gadget I can go back to my connection
and plugins
Shopify and there is this production box
I just want to add my app cred
credentials here so that's my client
ID my client secret I can confirm that I
can go ahead and copy the app URL and
redirection URL back to the shop VI
Partners
app click
save go to
overview now this is where I can go
ahead and choose my app distribution so
if I click on this choose
distribution I can select the Custom
Distribution this is just warning that
my app can only be installed by a single
store plus organization so I'm okay with
that and I need to enter my storees
domain so this is my cart transform
testing store I think I can actually
just go ahead and copy this
here perfect so that's the admin link
you can allow mult multi Store install
for a plus organization I'm fine with
that so I'll generate a link this is
just a confirmation dialogue this can't
be
undone so there we go I can copy this
link to install my app on this
particular store now there's one thing I
need to do in gadget first and that is
actually deploy my app to production so
because there's two environments
development and production I need to go
ahead and take all my code and model
changes and push them to my production
environment before I install so I you
can just go to this deploy down at the
bottom here click deploy to production
and what this will do is Minify and
optimize all of my front-end assets it's
going to set up a production database
run any migrations that need to run
behind the scenes and then restart the
production
app happens usually pretty quickly which
is nice and it is one click which is
another nice thing no messing around in
an AWS or Google Cloud console so that's
great my app is has been deployed so now
I can go
ahead copy this install link paste it
into yet another new
tab I am going to
go cart transform
testing install my
app and there we go so this is the
production version of my app installed
on my store
now so that's great that was kind of a
quick end to end build minus the build
part of setting up my first Shopify app
so that was just a very quick intro to
Shopify app development I do recommend
you actually go through the process of
building an app next and included in
this video description is a link to our
product tager tutorial and that'll walk
you through actually modifying your
database adding some custom backend code
and then building a unique front end for
your embedded app if you have any
questions about getting started building
shopy apps feel free to join our Discord
and reach out the link is in the video
description until next time I hope you
keep building more and coding less with
Gadget
원문 자막 펼치기
WEBVTT Kind: captions Language: en 00:00:00.359 --> 00:00:01.870 align:start position:0% in<00:00:00.560><c> this</c><00:00:00.760><c> video</c><00:00:01.120><c> I'm</c><00:00:01.240><c> going</c><00:00:01.360><c> to</c><00:00:01.439><c> show</c><00:00:01.599><c> you</c><00:00:01.760><c> how</c> 00:00:01.870 --> 00:00:01.880 align:start position:0% in this video I'm going to show you how 00:00:01.880 --> 00:00:03.510 align:start position:0% in this video I'm going to show you how you<00:00:01.959><c> can</c><00:00:02.120><c> get</c><00:00:02.240><c> started</c><00:00:02.600><c> building</c><00:00:02.919><c> Shopify</c> 00:00:03.510 --> 00:00:03.520 align:start position:0% you can get started building Shopify 00:00:03.520 --> 00:00:05.150 align:start position:0% you can get started building Shopify apps<00:00:04.279><c> I'm</c><00:00:04.400><c> going</c><00:00:04.480><c> to</c><00:00:04.640><c> walk</c><00:00:04.799><c> you</c><00:00:04.920><c> through</c> 00:00:05.150 --> 00:00:05.160 align:start position:0% apps I'm going to walk you through 00:00:05.160 --> 00:00:06.590 align:start position:0% apps I'm going to walk you through setting<00:00:05.480><c> up</c><00:00:05.640><c> your</c><00:00:05.799><c> first</c><00:00:06.040><c> Shopify</c> 00:00:06.590 --> 00:00:06.600 align:start position:0% setting up your first Shopify 00:00:06.600 --> 00:00:09.709 align:start position:0% setting up your first Shopify development<00:00:07.120><c> store</c><00:00:08.080><c> and</c><00:00:08.280><c> your</c><00:00:08.519><c> first</c><00:00:08.960><c> Shopify</c> 00:00:09.709 --> 00:00:09.719 align:start position:0% development store and your first Shopify 00:00:09.719 --> 00:00:11.430 align:start position:0% development store and your first Shopify app<00:00:10.000><c> and</c><00:00:10.120><c> I'm</c><00:00:10.200><c> going</c><00:00:10.280><c> to</c><00:00:10.400><c> use</c><00:00:10.599><c> Gadget</c><00:00:10.960><c> to</c><00:00:11.120><c> do</c><00:00:11.280><c> it</c> 00:00:11.430 --> 00:00:11.440 align:start position:0% app and I'm going to use Gadget to do it 00:00:11.440 --> 00:00:13.110 align:start position:0% app and I'm going to use Gadget to do it because<00:00:11.599><c> it</c><00:00:11.799><c> abstracts</c><00:00:12.240><c> a</c><00:00:12.320><c> lot</c><00:00:12.480><c> of</c><00:00:12.599><c> shopify's</c> 00:00:13.110 --> 00:00:13.120 align:start position:0% because it abstracts a lot of shopify's 00:00:13.120 --> 00:00:14.549 align:start position:0% because it abstracts a lot of shopify's Buller<00:00:13.480><c> plate</c><00:00:13.759><c> and</c><00:00:13.880><c> allows</c><00:00:14.160><c> me</c><00:00:14.280><c> to</c><00:00:14.400><c> get</c> 00:00:14.549 --> 00:00:14.559 align:start position:0% Buller plate and allows me to get 00:00:14.559 --> 00:00:17.510 align:start position:0% Buller plate and allows me to get started<00:00:14.920><c> building</c><00:00:15.920><c> quickly</c><00:00:16.920><c> let's</c><00:00:17.160><c> get</c> 00:00:17.510 --> 00:00:17.520 align:start position:0% started building quickly let's get 00:00:17.520 --> 00:00:19.630 align:start position:0% started building quickly let's get started<00:00:18.520><c> okay</c><00:00:18.680><c> so</c><00:00:18.840><c> I'm</c><00:00:18.920><c> going</c><00:00:19.000><c> to</c><00:00:19.160><c> get</c><00:00:19.279><c> started</c> 00:00:19.630 --> 00:00:19.640 align:start position:0% started okay so I'm going to get started 00:00:19.640 --> 00:00:22.590 align:start position:0% started okay so I'm going to get started here<00:00:19.800><c> on</c><00:00:19.960><c> the</c><00:00:20.080><c> shopy</c><00:00:20.640><c> partners</c><00:00:21.240><c> landing</c><00:00:21.760><c> page</c> 00:00:22.590 --> 00:00:22.600 align:start position:0% here on the shopy partners landing page 00:00:22.600 --> 00:00:24.070 align:start position:0% here on the shopy partners landing page if<00:00:22.680><c> you</c><00:00:22.840><c> haven't</c><00:00:23.119><c> already</c><00:00:23.400><c> created</c><00:00:23.760><c> a</c><00:00:23.880><c> new</c> 00:00:24.070 --> 00:00:24.080 align:start position:0% if you haven't already created a new 00:00:24.080 --> 00:00:25.390 align:start position:0% if you haven't already created a new partners<00:00:24.480><c> account</c><00:00:24.720><c> you</c><00:00:24.840><c> need</c><00:00:24.960><c> to</c><00:00:25.080><c> go</c><00:00:25.240><c> ahead</c> 00:00:25.390 --> 00:00:25.400 align:start position:0% partners account you need to go ahead 00:00:25.400 --> 00:00:28.310 align:start position:0% partners account you need to go ahead and<00:00:25.560><c> do</c><00:00:25.760><c> that</c><00:00:26.080><c> that's</c><00:00:26.199><c> at</c><00:00:26.720><c> shop.com</c><00:00:27.720><c> Partners</c> 00:00:28.310 --> 00:00:28.320 align:start position:0% and do that that's at shop.com Partners 00:00:28.320 --> 00:00:30.550 align:start position:0% and do that that's at shop.com Partners the<00:00:28.439><c> link</c><00:00:28.679><c> is</c><00:00:28.800><c> in</c><00:00:28.920><c> the</c><00:00:29.080><c> video</c><00:00:29.400><c> description</c> 00:00:30.550 --> 00:00:30.560 align:start position:0% the link is in the video description 00:00:30.560 --> 00:00:31.830 align:start position:0% the link is in the video description I<00:00:30.679><c> already</c><00:00:30.880><c> have</c><00:00:31.000><c> a</c><00:00:31.080><c> partner's</c><00:00:31.480><c> account</c><00:00:31.720><c> so</c> 00:00:31.830 --> 00:00:31.840 align:start position:0% I already have a partner's account so 00:00:31.840 --> 00:00:33.430 align:start position:0% I already have a partner's account so I'm<00:00:31.960><c> just</c><00:00:32.079><c> going</c><00:00:32.160><c> to</c><00:00:32.320><c> log</c> 00:00:33.430 --> 00:00:33.440 align:start position:0% I'm just going to log 00:00:33.440 --> 00:00:36.670 align:start position:0% I'm just going to log in<00:00:34.440><c> and</c><00:00:34.600><c> I'll</c><00:00:34.840><c> select</c><00:00:35.160><c> my</c><00:00:35.320><c> Riley</c><00:00:35.719><c> test</c><00:00:36.040><c> stuff</c> 00:00:36.670 --> 00:00:36.680 align:start position:0% in and I'll select my Riley test stuff 00:00:36.680 --> 00:00:38.590 align:start position:0% in and I'll select my Riley test stuff account<00:00:37.680><c> and</c><00:00:37.800><c> that</c><00:00:38.000><c> brings</c><00:00:38.200><c> me</c><00:00:38.320><c> to</c><00:00:38.480><c> this</c> 00:00:38.590 --> 00:00:38.600 align:start position:0% account and that brings me to this 00:00:38.600 --> 00:00:40.270 align:start position:0% account and that brings me to this partner's<00:00:39.040><c> dashboard</c><00:00:39.640><c> now</c><00:00:39.760><c> there's</c><00:00:39.960><c> lots</c><00:00:40.120><c> of</c> 00:00:40.270 --> 00:00:40.280 align:start position:0% partner's dashboard now there's lots of 00:00:40.280 --> 00:00:41.670 align:start position:0% partner's dashboard now there's lots of different<00:00:40.520><c> features</c><00:00:40.879><c> and</c><00:00:41.120><c> functionality</c> 00:00:41.670 --> 00:00:41.680 align:start position:0% different features and functionality 00:00:41.680 --> 00:00:43.670 align:start position:0% different features and functionality built<00:00:41.960><c> into</c><00:00:42.239><c> this</c><00:00:42.440><c> dashboard</c><00:00:43.320><c> I'm</c><00:00:43.440><c> going</c><00:00:43.559><c> to</c> 00:00:43.670 --> 00:00:43.680 align:start position:0% built into this dashboard I'm going to 00:00:43.680 --> 00:00:46.110 align:start position:0% built into this dashboard I'm going to focus<00:00:43.960><c> on</c><00:00:44.280><c> two</c><00:00:44.800><c> main</c><00:00:45.200><c> tabs</c><00:00:45.640><c> and</c><00:00:45.719><c> that'll</c><00:00:46.000><c> be</c> 00:00:46.110 --> 00:00:46.120 align:start position:0% focus on two main tabs and that'll be 00:00:46.120 --> 00:00:48.029 align:start position:0% focus on two main tabs and that'll be the<00:00:46.280><c> stores</c><00:00:46.760><c> tab</c><00:00:47.320><c> where</c><00:00:47.440><c> I</c><00:00:47.520><c> can</c><00:00:47.680><c> create</c> 00:00:48.029 --> 00:00:48.039 align:start position:0% the stores tab where I can create 00:00:48.039 --> 00:00:50.910 align:start position:0% the stores tab where I can create development<00:00:48.520><c> stores</c><00:00:48.920><c> for</c><00:00:49.160><c> testing</c><00:00:49.600><c> my</c><00:00:49.920><c> apps</c> 00:00:50.910 --> 00:00:50.920 align:start position:0% development stores for testing my apps 00:00:50.920 --> 00:00:54.029 align:start position:0% development stores for testing my apps and<00:00:51.039><c> then</c><00:00:51.199><c> the</c><00:00:51.360><c> apps</c><00:00:51.680><c> tab</c><00:00:51.960><c> which</c><00:00:52.239><c> are</c><00:00:53.239><c> my</c><00:00:53.480><c> apps</c> 00:00:54.029 --> 00:00:54.039 align:start position:0% and then the apps tab which are my apps 00:00:54.039 --> 00:00:55.630 align:start position:0% and then the apps tab which are my apps where<00:00:54.199><c> I</c><00:00:54.280><c> can</c><00:00:54.559><c> actually</c><00:00:54.800><c> manage</c><00:00:55.160><c> the</c><00:00:55.320><c> apps</c> 00:00:55.630 --> 00:00:55.640 align:start position:0% where I can actually manage the apps 00:00:55.640 --> 00:00:57.830 align:start position:0% where I can actually manage the apps that<00:00:55.800><c> I</c><00:00:55.920><c> am</c><00:00:56.120><c> building</c><00:00:56.480><c> and</c><00:00:56.680><c> testing</c><00:00:57.600><c> so</c><00:00:57.719><c> I'm</c> 00:00:57.830 --> 00:00:57.840 align:start position:0% that I am building and testing so I'm 00:00:57.840 --> 00:00:59.910 align:start position:0% that I am building and testing so I'm going<00:00:57.920><c> to</c><00:00:58.000><c> click</c><00:00:58.160><c> on</c><00:00:58.320><c> stores</c><00:00:58.640><c> to</c><00:00:58.840><c> start</c><00:00:59.719><c> you</c> 00:00:59.910 --> 00:00:59.920 align:start position:0% going to click on stores to start you 00:00:59.920 --> 00:01:01.150 align:start position:0% going to click on stores to start you you<00:01:00.000><c> see</c><00:01:00.239><c> I've</c><00:01:00.399><c> already</c><00:01:00.640><c> created</c><00:01:01.000><c> some</c> 00:01:01.150 --> 00:01:01.160 align:start position:0% you see I've already created some 00:01:01.160 --> 00:01:02.549 align:start position:0% you see I've already created some development<00:01:01.559><c> stores</c><00:01:02.000><c> but</c><00:01:02.079><c> you</c><00:01:02.160><c> can</c><00:01:02.280><c> go</c><00:01:02.399><c> ahead</c> 00:01:02.549 --> 00:01:02.559 align:start position:0% development stores but you can go ahead 00:01:02.559 --> 00:01:03.750 align:start position:0% development stores but you can go ahead and<00:01:02.680><c> click</c><00:01:02.920><c> add</c><00:01:03.120><c> store</c><00:01:03.399><c> and</c><00:01:03.519><c> create</c> 00:01:03.750 --> 00:01:03.760 align:start position:0% and click add store and create 00:01:03.760 --> 00:01:05.670 align:start position:0% and click add store and create development<00:01:04.119><c> store</c><00:01:04.400><c> to</c><00:01:04.519><c> create</c><00:01:04.720><c> a</c><00:01:04.799><c> new</c> 00:01:05.670 --> 00:01:05.680 align:start position:0% development store to create a new 00:01:05.680 --> 00:01:07.710 align:start position:0% development store to create a new one<00:01:06.680><c> I'm</c><00:01:06.760><c> going</c><00:01:06.880><c> to</c><00:01:06.960><c> start</c><00:01:07.159><c> by</c><00:01:07.280><c> creating</c><00:01:07.600><c> a</c> 00:01:07.710 --> 00:01:07.720 align:start position:0% one I'm going to start by creating a 00:01:07.720 --> 00:01:10.429 align:start position:0% one I'm going to start by creating a store<00:01:08.000><c> to</c><00:01:08.320><c> test</c><00:01:08.720><c> and</c><00:01:08.960><c> build</c><00:01:09.880><c> and</c><00:01:10.000><c> I'll</c><00:01:10.200><c> give</c><00:01:10.320><c> my</c> 00:01:10.429 --> 00:01:10.439 align:start position:0% store to test and build and I'll give my 00:01:10.439 --> 00:01:13.190 align:start position:0% store to test and build and I'll give my store<00:01:10.720><c> a</c><00:01:10.880><c> name</c><00:01:11.439><c> I'll</c><00:01:11.600><c> call</c><00:01:11.759><c> it</c><00:01:12.000><c> cart</c> 00:01:13.190 --> 00:01:13.200 align:start position:0% store a name I'll call it cart 00:01:13.200 --> 00:01:15.030 align:start position:0% store a name I'll call it cart transform 00:01:15.030 --> 00:01:15.040 align:start position:0% transform 00:01:15.040 --> 00:01:16.830 align:start position:0% transform testing 00:01:16.830 --> 00:01:16.840 align:start position:0% testing 00:01:16.840 --> 00:01:19.870 align:start position:0% testing perfect<00:01:17.840><c> you</c><00:01:18.000><c> can</c><00:01:18.240><c> select</c><00:01:19.159><c> a</c><00:01:19.360><c> developer</c> 00:01:19.870 --> 00:01:19.880 align:start position:0% perfect you can select a developer 00:01:19.880 --> 00:01:22.510 align:start position:0% perfect you can select a developer preview<00:01:20.479><c> if</c><00:01:20.600><c> you'd</c><00:01:20.880><c> like</c><00:01:21.520><c> shopy</c><00:01:22.119><c> has</c><00:01:22.320><c> some</c> 00:01:22.510 --> 00:01:22.520 align:start position:0% preview if you'd like shopy has some 00:01:22.520 --> 00:01:24.030 align:start position:0% preview if you'd like shopy has some more<00:01:22.759><c> information</c><00:01:23.280><c> if</c><00:01:23.400><c> you</c><00:01:23.520><c> click</c><00:01:23.680><c> on</c><00:01:23.920><c> this</c> 00:01:24.030 --> 00:01:24.040 align:start position:0% more information if you click on this 00:01:24.040 --> 00:01:26.390 align:start position:0% more information if you click on this link<00:01:24.320><c> about</c><00:01:24.560><c> developer</c><00:01:25.079><c> previews</c><00:01:26.079><c> I</c><00:01:26.159><c> am</c><00:01:26.280><c> going</c> 00:01:26.390 --> 00:01:26.400 align:start position:0% link about developer previews I am going 00:01:26.400 --> 00:01:28.190 align:start position:0% link about developer previews I am going to<00:01:26.560><c> go</c><00:01:26.680><c> ahead</c><00:01:26.880><c> and</c><00:01:27.000><c> select</c><00:01:27.280><c> cart</c><00:01:27.560><c> transform</c> 00:01:28.190 --> 00:01:28.200 align:start position:0% to go ahead and select cart transform 00:01:28.200 --> 00:01:30.469 align:start position:0% to go ahead and select cart transform which<00:01:28.280><c> you</c><00:01:28.439><c> may</c><00:01:28.600><c> have</c><00:01:28.799><c> guessed</c><00:01:29.360><c> from</c><00:01:29.640><c> my</c><00:01:30.040><c> store</c> 00:01:30.469 --> 00:01:30.479 align:start position:0% which you may have guessed from my store 00:01:30.479 --> 00:01:32.510 align:start position:0% which you may have guessed from my store name<00:01:31.479><c> and</c><00:01:31.600><c> that's</c><00:01:31.759><c> simply</c><00:01:32.079><c> because</c><00:01:32.240><c> I</c><00:01:32.360><c> don't</c> 00:01:32.510 --> 00:01:32.520 align:start position:0% name and that's simply because I don't 00:01:32.520 --> 00:01:35.230 align:start position:0% name and that's simply because I don't have<00:01:32.680><c> a</c><00:01:32.799><c> cart</c><00:01:33.040><c> transform</c><00:01:33.479><c> Dev</c><00:01:33.759><c> store</c><00:01:34.360><c> yet</c> 00:01:35.230 --> 00:01:35.240 align:start position:0% have a cart transform Dev store yet 00:01:35.240 --> 00:01:37.270 align:start position:0% have a cart transform Dev store yet another<00:01:35.640><c> popular</c><00:01:35.920><c> one</c><00:01:36.040><c> is</c><00:01:36.159><c> check</c><00:01:36.399><c> out</c> 00:01:37.270 --> 00:01:37.280 align:start position:0% another popular one is check out 00:01:37.280 --> 00:01:39.270 align:start position:0% another popular one is check out extensibility<00:01:38.280><c> maybe</c><00:01:38.520><c> not</c><00:01:38.720><c> necessarily</c><00:01:39.119><c> for</c> 00:01:39.270 --> 00:01:39.280 align:start position:0% extensibility maybe not necessarily for 00:01:39.280 --> 00:01:40.870 align:start position:0% extensibility maybe not necessarily for your<00:01:39.439><c> first</c><00:01:39.680><c> development</c><00:01:40.079><c> store</c><00:01:40.520><c> but</c><00:01:40.720><c> it's</c> 00:01:40.870 --> 00:01:40.880 align:start position:0% your first development store but it's 00:01:40.880 --> 00:01:42.710 align:start position:0% your first development store but it's not<00:01:41.040><c> a</c><00:01:41.200><c> bad</c><00:01:41.399><c> idea</c><00:01:41.640><c> to</c><00:01:41.799><c> select</c><00:01:42.119><c> that</c><00:01:42.320><c> option</c><00:01:42.600><c> as</c> 00:01:42.710 --> 00:01:42.720 align:start position:0% not a bad idea to select that option as 00:01:42.720 --> 00:01:44.550 align:start position:0% not a bad idea to select that option as well<00:01:43.000><c> allows</c><00:01:43.240><c> you</c><00:01:43.320><c> to</c><00:01:43.479><c> build</c><00:01:43.720><c> some</c><00:01:43.840><c> of</c><00:01:43.960><c> Shop's</c> 00:01:44.550 --> 00:01:44.560 align:start position:0% well allows you to build some of Shop's 00:01:44.560 --> 00:01:47.749 align:start position:0% well allows you to build some of Shop's latest<00:01:44.960><c> and</c><00:01:45.119><c> greatest</c><00:01:45.880><c> checkout</c><00:01:46.759><c> features</c> 00:01:47.749 --> 00:01:47.759 align:start position:0% latest and greatest checkout features 00:01:47.759 --> 00:01:49.429 align:start position:0% latest and greatest checkout features finally<00:01:48.200><c> I'm</c><00:01:48.280><c> going</c><00:01:48.399><c> to</c><00:01:48.520><c> go</c><00:01:48.640><c> ahead</c><00:01:48.880><c> and</c><00:01:49.079><c> start</c> 00:01:49.429 --> 00:01:49.439 align:start position:0% finally I'm going to go ahead and start 00:01:49.439 --> 00:01:51.230 align:start position:0% finally I'm going to go ahead and start with<00:01:49.719><c> test</c><00:01:50.079><c> data</c><00:01:50.439><c> which</c><00:01:50.560><c> just</c><00:01:50.719><c> gives</c><00:01:50.920><c> me</c><00:01:51.040><c> some</c> 00:01:51.230 --> 00:01:51.240 align:start position:0% with test data which just gives me some 00:01:51.240 --> 00:01:53.950 align:start position:0% with test data which just gives me some sample<00:01:51.799><c> product</c><00:01:52.320><c> order</c><00:01:52.880><c> and</c><00:01:53.200><c> customer</c><00:01:53.600><c> data</c> 00:01:53.950 --> 00:01:53.960 align:start position:0% sample product order and customer data 00:01:53.960 --> 00:01:56.910 align:start position:0% sample product order and customer data so<00:01:54.119><c> I'm</c><00:01:54.280><c> not</c><00:01:54.880><c> starting</c><00:01:55.520><c> from</c><00:01:56.079><c> scratch</c> 00:01:56.910 --> 00:01:56.920 align:start position:0% so I'm not starting from scratch 00:01:56.920 --> 00:01:58.270 align:start position:0% so I'm not starting from scratch normally<00:01:57.320><c> if</c><00:01:57.439><c> you</c><00:01:57.520><c> select</c><00:01:57.840><c> create</c><00:01:58.079><c> with</c><00:01:58.159><c> an</c> 00:01:58.270 --> 00:01:58.280 align:start position:0% normally if you select create with an 00:01:58.280 --> 00:01:59.389 align:start position:0% normally if you select create with an empty<00:01:58.520><c> store</c><00:01:58.759><c> you</c><00:01:58.840><c> need</c><00:01:58.960><c> to</c><00:01:59.079><c> go</c><00:01:59.200><c> ahead</c><00:01:59.320><c> and</c> 00:01:59.389 --> 00:01:59.399 align:start position:0% empty store you need to go ahead and 00:01:59.399 --> 00:02:01.029 align:start position:0% empty store you need to go ahead and upload<00:01:59.640><c> your</c><00:01:59.920><c> own</c><00:02:00.119><c> products</c><00:02:00.680><c> I'm</c><00:02:00.799><c> going</c><00:02:00.880><c> to</c> 00:02:01.029 --> 00:02:01.039 align:start position:0% upload your own products I'm going to 00:02:01.039 --> 00:02:03.230 align:start position:0% upload your own products I'm going to skip<00:02:01.320><c> that</c><00:02:01.479><c> step</c><00:02:02.439><c> so</c><00:02:02.600><c> let's</c><00:02:02.759><c> go</c><00:02:02.880><c> ahead</c><00:02:03.079><c> and</c> 00:02:03.230 --> 00:02:03.240 align:start position:0% skip that step so let's go ahead and 00:02:03.240 --> 00:02:07.070 align:start position:0% skip that step so let's go ahead and create<00:02:03.520><c> this</c><00:02:03.680><c> development</c> 00:02:07.070 --> 00:02:07.080 align:start position:0% 00:02:07.080 --> 00:02:16.949 align:start position:0% store<00:02:08.080><c> takes</c><00:02:08.319><c> a</c><00:02:08.560><c> little</c><00:02:08.879><c> while</c><00:02:09.080><c> to</c><00:02:09.239><c> spin</c> 00:02:16.949 --> 00:02:16.959 align:start position:0% 00:02:16.959 --> 00:02:21.110 align:start position:0% up<00:02:17.959><c> but</c><00:02:18.480><c> once</c><00:02:18.760><c> it</c><00:02:18.959><c> is</c><00:02:19.200><c> created</c><00:02:20.000><c> I'm</c><00:02:20.200><c> redirected</c> 00:02:21.110 --> 00:02:21.120 align:start position:0% up but once it is created I'm redirected 00:02:21.120 --> 00:02:23.910 align:start position:0% up but once it is created I'm redirected right<00:02:21.440><c> to</c><00:02:21.760><c> my</c><00:02:21.920><c> new</c><00:02:22.319><c> store</c><00:02:23.319><c> my</c><00:02:23.480><c> development</c> 00:02:23.910 --> 00:02:23.920 align:start position:0% right to my new store my development 00:02:23.920 --> 00:02:25.630 align:start position:0% right to my new store my development store<00:02:24.319><c> has</c><00:02:24.480><c> been</c><00:02:24.640><c> set</c><00:02:24.840><c> up</c><00:02:25.080><c> and</c><00:02:25.239><c> I</c><00:02:25.319><c> have</c><00:02:25.480><c> been</c> 00:02:25.630 --> 00:02:25.640 align:start position:0% store has been set up and I have been 00:02:25.640 --> 00:02:29.550 align:start position:0% store has been set up and I have been redirected<00:02:26.360><c> to</c><00:02:26.720><c> this</c><00:02:27.319><c> backend</c><00:02:28.080><c> admin</c><00:02:28.560><c> portal</c> 00:02:29.550 --> 00:02:29.560 align:start position:0% redirected to this backend admin portal 00:02:29.560 --> 00:02:31.830 align:start position:0% redirected to this backend admin portal and<00:02:29.879><c> this</c><00:02:30.080><c> admin</c><00:02:30.519><c> is</c><00:02:30.680><c> what</c><00:02:30.840><c> merchants</c><00:02:31.280><c> use</c><00:02:31.560><c> to</c> 00:02:31.830 --> 00:02:31.840 align:start position:0% and this admin is what merchants use to 00:02:31.840 --> 00:02:35.790 align:start position:0% and this admin is what merchants use to manage<00:02:32.280><c> and</c><00:02:32.640><c> customize</c><00:02:33.599><c> their</c><00:02:34.519><c> stores</c><00:02:35.519><c> so</c><00:02:35.720><c> you</c> 00:02:35.790 --> 00:02:35.800 align:start position:0% manage and customize their stores so you 00:02:35.800 --> 00:02:38.190 align:start position:0% manage and customize their stores so you can<00:02:35.959><c> see</c><00:02:36.280><c> if</c><00:02:36.360><c> I</c><00:02:36.519><c> click</c><00:02:36.680><c> on</c><00:02:36.920><c> products</c><00:02:37.879><c> these</c><00:02:38.000><c> are</c> 00:02:38.190 --> 00:02:38.200 align:start position:0% can see if I click on products these are 00:02:38.200 --> 00:02:39.830 align:start position:0% can see if I click on products these are where<00:02:38.400><c> the</c><00:02:38.680><c> sample</c><00:02:39.120><c> products</c><00:02:39.519><c> have</c><00:02:39.680><c> been</c> 00:02:39.830 --> 00:02:39.840 align:start position:0% where the sample products have been 00:02:39.840 --> 00:02:42.190 align:start position:0% where the sample products have been generated<00:02:40.360><c> I</c><00:02:40.440><c> can</c><00:02:40.560><c> browse</c><00:02:40.920><c> through</c><00:02:41.159><c> them</c><00:02:41.959><c> same</c> 00:02:42.190 --> 00:02:42.200 align:start position:0% generated I can browse through them same 00:02:42.200 --> 00:02:43.750 align:start position:0% generated I can browse through them same with<00:02:42.400><c> customers</c><00:02:43.000><c> there's</c><00:02:43.200><c> some</c><00:02:43.360><c> sample</c> 00:02:43.750 --> 00:02:43.760 align:start position:0% with customers there's some sample 00:02:43.760 --> 00:02:46.390 align:start position:0% with customers there's some sample customers<00:02:44.239><c> generated</c><00:02:44.760><c> for</c><00:02:44.959><c> me</c><00:02:45.800><c> and</c><00:02:46.159><c> right</c><00:02:46.280><c> at</c> 00:02:46.390 --> 00:02:46.400 align:start position:0% customers generated for me and right at 00:02:46.400 --> 00:02:48.070 align:start position:0% customers generated for me and right at the<00:02:46.519><c> bottom</c><00:02:46.800><c> you'll</c><00:02:47.000><c> notice</c><00:02:47.280><c> there</c><00:02:47.440><c> is</c><00:02:47.519><c> an</c><00:02:47.760><c> app</c> 00:02:48.070 --> 00:02:48.080 align:start position:0% the bottom you'll notice there is an app 00:02:48.080 --> 00:02:49.750 align:start position:0% the bottom you'll notice there is an app section<00:02:48.480><c> so</c><00:02:48.800><c> because</c><00:02:49.040><c> this</c><00:02:49.120><c> is</c><00:02:49.200><c> a</c><00:02:49.319><c> brand</c><00:02:49.560><c> new</c> 00:02:49.750 --> 00:02:49.760 align:start position:0% section so because this is a brand new 00:02:49.760 --> 00:02:52.350 align:start position:0% section so because this is a brand new shop<00:02:50.640><c> I</c><00:02:50.800><c> haven't</c><00:02:51.120><c> installed</c><00:02:51.640><c> any</c><00:02:51.840><c> apps</c><00:02:52.159><c> yet</c> 00:02:52.350 --> 00:02:52.360 align:start position:0% shop I haven't installed any apps yet 00:02:52.360 --> 00:02:54.630 align:start position:0% shop I haven't installed any apps yet we're<00:02:52.560><c> about</c><00:02:52.720><c> to</c><00:02:52.879><c> get</c><00:02:53.000><c> to</c><00:02:53.200><c> that</c><00:02:53.400><c> soon</c><00:02:54.319><c> but</c><00:02:54.519><c> this</c> 00:02:54.630 --> 00:02:54.640 align:start position:0% we're about to get to that soon but this 00:02:54.640 --> 00:02:56.350 align:start position:0% we're about to get to that soon but this is<00:02:54.800><c> where</c><00:02:54.959><c> my</c><00:02:55.159><c> app</c><00:02:55.319><c> will</c><00:02:55.480><c> be</c><00:02:55.720><c> available</c><00:02:56.200><c> to</c> 00:02:56.350 --> 00:02:56.360 align:start position:0% is where my app will be available to 00:02:56.360 --> 00:02:58.470 align:start position:0% is where my app will be available to Merchants<00:02:56.840><c> it</c><00:02:56.920><c> will</c><00:02:57.080><c> be</c><00:02:57.200><c> embedded</c><00:02:57.800><c> right</c><00:02:58.120><c> in</c> 00:02:58.470 --> 00:02:58.480 align:start position:0% Merchants it will be embedded right in 00:02:58.480 --> 00:03:01.030 align:start position:0% Merchants it will be embedded right in this<00:02:58.879><c> admin</c><00:02:59.360><c> portal</c><00:03:00.200><c> so</c><00:03:00.400><c> that</c><00:03:00.560><c> they</c><00:03:00.720><c> can</c> 00:03:01.030 --> 00:03:01.040 align:start position:0% this admin portal so that they can 00:03:01.040 --> 00:03:03.309 align:start position:0% this admin portal so that they can customize<00:03:01.800><c> how</c><00:03:02.000><c> their</c><00:03:02.239><c> shop</c> 00:03:03.309 --> 00:03:03.319 align:start position:0% customize how their shop 00:03:03.319 --> 00:03:06.710 align:start position:0% customize how their shop works<00:03:04.319><c> if</c><00:03:04.440><c> I</c><00:03:04.560><c> do</c><00:03:04.760><c> hover</c><00:03:05.080><c> over</c><00:03:05.480><c> this</c><00:03:05.920><c> online</c> 00:03:06.710 --> 00:03:06.720 align:start position:0% works if I do hover over this online 00:03:06.720 --> 00:03:10.070 align:start position:0% works if I do hover over this online store<00:03:07.280><c> option</c><00:03:07.720><c> and</c><00:03:07.879><c> click</c><00:03:08.040><c> on</c><00:03:08.280><c> this</c> 00:03:10.070 --> 00:03:10.080 align:start position:0% store option and click on this 00:03:10.080 --> 00:03:13.470 align:start position:0% store option and click on this icon<00:03:11.080><c> this</c><00:03:11.280><c> opens</c><00:03:11.640><c> the</c><00:03:11.799><c> Shopify</c><00:03:12.519><c> storefront</c> 00:03:13.470 --> 00:03:13.480 align:start position:0% icon this opens the Shopify storefront 00:03:13.480 --> 00:03:15.390 align:start position:0% icon this opens the Shopify storefront so<00:03:13.720><c> this</c><00:03:13.799><c> is</c><00:03:14.000><c> what</c><00:03:14.200><c> the</c><00:03:14.319><c> store</c><00:03:14.680><c> will</c><00:03:15.040><c> actually</c> 00:03:15.390 --> 00:03:15.400 align:start position:0% so this is what the store will actually 00:03:15.400 --> 00:03:18.430 align:start position:0% so this is what the store will actually look<00:03:15.640><c> like</c><00:03:16.040><c> to</c><00:03:16.400><c> buyers</c><00:03:17.280><c> to</c><00:03:17.560><c> people</c><00:03:17.879><c> browsing</c> 00:03:18.430 --> 00:03:18.440 align:start position:0% look like to buyers to people browsing 00:03:18.440 --> 00:03:20.949 align:start position:0% look like to buyers to people browsing the<00:03:18.599><c> store</c><00:03:19.360><c> when</c><00:03:19.640><c> they</c><00:03:19.840><c> visit</c><00:03:20.120><c> it</c><00:03:20.599><c> so</c><00:03:20.760><c> you</c><00:03:20.840><c> can</c> 00:03:20.949 --> 00:03:20.959 align:start position:0% the store when they visit it so you can 00:03:20.959 --> 00:03:22.710 align:start position:0% the store when they visit it so you can see<00:03:21.120><c> I</c><00:03:21.200><c> can</c><00:03:21.319><c> click</c><00:03:21.480><c> on</c><00:03:21.599><c> a</c><00:03:21.879><c> product</c><00:03:22.319><c> add</c><00:03:22.440><c> it</c><00:03:22.560><c> to</c> 00:03:22.710 --> 00:03:22.720 align:start position:0% see I can click on a product add it to 00:03:22.720 --> 00:03:26.670 align:start position:0% see I can click on a product add it to the<00:03:22.920><c> cart</c><00:03:23.760><c> go</c><00:03:24.080><c> through</c><00:03:24.400><c> the</c><00:03:24.640><c> checkout</c><00:03:25.680><c> process</c> 00:03:26.670 --> 00:03:26.680 align:start position:0% the cart go through the checkout process 00:03:26.680 --> 00:03:29.990 align:start position:0% the cart go through the checkout process if<00:03:26.879><c> you</c><00:03:27.120><c> are</c><00:03:28.120><c> interested</c><00:03:29.120><c> in</c><00:03:29.400><c> doing</c> 00:03:29.990 --> 00:03:30.000 align:start position:0% if you are interested in doing 00:03:30.000 --> 00:03:33.309 align:start position:0% if you are interested in doing development<00:03:30.840><c> for</c><00:03:31.560><c> storefront</c><00:03:32.560><c> that's</c><00:03:32.799><c> called</c> 00:03:33.309 --> 00:03:33.319 align:start position:0% development for storefront that's called 00:03:33.319 --> 00:03:35.509 align:start position:0% development for storefront that's called theme<00:03:34.000><c> development</c><00:03:35.000><c> and</c><00:03:35.159><c> if</c><00:03:35.239><c> you</c><00:03:35.360><c> are</c> 00:03:35.509 --> 00:03:35.519 align:start position:0% theme development and if you are 00:03:35.519 --> 00:03:37.190 align:start position:0% theme development and if you are interested<00:03:35.799><c> in</c><00:03:35.920><c> doing</c><00:03:36.159><c> kind</c><00:03:36.280><c> of</c><00:03:36.400><c> an</c><00:03:36.599><c> entire</c> 00:03:37.190 --> 00:03:37.200 align:start position:0% interested in doing kind of an entire 00:03:37.200 --> 00:03:40.750 align:start position:0% interested in doing kind of an entire storefront<00:03:37.959><c> theme</c><00:03:38.920><c> uh</c><00:03:39.200><c> my</c><00:03:39.439><c> tutorial</c><00:03:40.120><c> here</c> 00:03:40.750 --> 00:03:40.760 align:start position:0% storefront theme uh my tutorial here 00:03:40.760 --> 00:03:43.149 align:start position:0% storefront theme uh my tutorial here isn't<00:03:41.120><c> going</c><00:03:41.239><c> to</c><00:03:41.439><c> cover</c><00:03:41.799><c> that</c><00:03:42.000><c> so</c><00:03:42.280><c> there</c><00:03:42.519><c> is</c> 00:03:43.149 --> 00:03:43.159 align:start position:0% isn't going to cover that so there is 00:03:43.159 --> 00:03:45.190 align:start position:0% isn't going to cover that so there is other<00:03:43.560><c> videos</c><00:03:44.159><c> there's</c><00:03:44.439><c> other</c><00:03:44.680><c> material</c> 00:03:45.190 --> 00:03:45.200 align:start position:0% other videos there's other material 00:03:45.200 --> 00:03:46.750 align:start position:0% other videos there's other material Shopify<00:03:45.760><c> documentation</c><00:03:46.360><c> that</c><00:03:46.439><c> you'll</c><00:03:46.640><c> want</c> 00:03:46.750 --> 00:03:46.760 align:start position:0% Shopify documentation that you'll want 00:03:46.760 --> 00:03:48.869 align:start position:0% Shopify documentation that you'll want to<00:03:46.879><c> take</c><00:03:47.040><c> a</c><00:03:47.200><c> look</c><00:03:47.360><c> at</c><00:03:47.959><c> uh</c><00:03:48.080><c> when</c><00:03:48.200><c> it</c><00:03:48.319><c> comes</c><00:03:48.519><c> to</c> 00:03:48.869 --> 00:03:48.879 align:start position:0% to take a look at uh when it comes to 00:03:48.879 --> 00:03:51.750 align:start position:0% to take a look at uh when it comes to actually<00:03:49.360><c> developing</c><00:03:50.239><c> themes</c><00:03:51.239><c> if</c><00:03:51.360><c> you</c><00:03:51.519><c> only</c> 00:03:51.750 --> 00:03:51.760 align:start position:0% actually developing themes if you only 00:03:51.760 --> 00:03:54.429 align:start position:0% actually developing themes if you only want<00:03:51.879><c> to</c><00:03:52.079><c> develop</c><00:03:52.879><c> small</c><00:03:53.439><c> little</c><00:03:53.879><c> pieces</c><00:03:54.280><c> of</c> 00:03:54.429 --> 00:03:54.439 align:start position:0% want to develop small little pieces of 00:03:54.439 --> 00:03:56.789 align:start position:0% want to develop small little pieces of storefront<00:03:55.239><c> functionality</c><00:03:56.239><c> that</c><00:03:56.439><c> can</c><00:03:56.640><c> be</c> 00:03:56.789 --> 00:03:56.799 align:start position:0% storefront functionality that can be 00:03:56.799 --> 00:04:00.509 align:start position:0% storefront functionality that can be done<00:03:57.319><c> with</c><00:03:57.599><c> shopify's</c><00:03:58.480><c> theme</c><00:03:58.959><c> extensions</c><00:04:00.159><c> and</c> 00:04:00.509 --> 00:04:00.519 align:start position:0% done with shopify's theme extensions and 00:04:00.519 --> 00:04:02.990 align:start position:0% done with shopify's theme extensions and that<00:04:00.640><c> is</c><00:04:00.959><c> very</c><00:04:01.280><c> relevant</c><00:04:01.879><c> to</c><00:04:02.519><c> the</c><00:04:02.720><c> little</c> 00:04:02.990 --> 00:04:03.000 align:start position:0% that is very relevant to the little 00:04:03.000 --> 00:04:04.910 align:start position:0% that is very relevant to the little walkthrough<00:04:03.640><c> I'm</c><00:04:03.799><c> about</c><00:04:04.000><c> to</c><00:04:04.200><c> go</c><00:04:04.439><c> through</c><00:04:04.760><c> so</c> 00:04:04.910 --> 00:04:04.920 align:start position:0% walkthrough I'm about to go through so 00:04:04.920 --> 00:04:08.069 align:start position:0% walkthrough I'm about to go through so you<00:04:05.159><c> can</c><00:04:05.599><c> use</c><00:04:06.319><c> theme</c><00:04:06.760><c> extensions</c><00:04:07.760><c> when</c><00:04:07.920><c> you're</c> 00:04:08.069 --> 00:04:08.079 align:start position:0% you can use theme extensions when you're 00:04:08.079 --> 00:04:11.030 align:start position:0% you can use theme extensions when you're building<00:04:08.560><c> custom</c><00:04:09.040><c> admin</c> 00:04:11.030 --> 00:04:11.040 align:start position:0% building custom admin 00:04:11.040 --> 00:04:15.069 align:start position:0% building custom admin apps<00:04:12.040><c> I</c><00:04:12.120><c> will</c><00:04:12.400><c> just</c><00:04:12.599><c> flip</c><00:04:13.079><c> back</c><00:04:13.920><c> to</c><00:04:14.239><c> my</c><00:04:14.560><c> admin</c> 00:04:15.069 --> 00:04:15.079 align:start position:0% apps I will just flip back to my admin 00:04:15.079 --> 00:04:17.670 align:start position:0% apps I will just flip back to my admin portal<00:04:15.560><c> here</c><00:04:16.320><c> so</c><00:04:16.639><c> I'm</c><00:04:16.799><c> at</c><00:04:16.919><c> the</c><00:04:17.079><c> point</c><00:04:17.320><c> now</c><00:04:17.560><c> my</c> 00:04:17.670 --> 00:04:17.680 align:start position:0% portal here so I'm at the point now my 00:04:17.680 --> 00:04:20.550 align:start position:0% portal here so I'm at the point now my development<00:04:18.079><c> store</c><00:04:18.320><c> is</c><00:04:18.479><c> set</c><00:04:18.680><c> up</c><00:04:19.280><c> got</c><00:04:19.479><c> my</c><00:04:19.680><c> admin</c> 00:04:20.550 --> 00:04:20.560 align:start position:0% development store is set up got my admin 00:04:20.560 --> 00:04:22.350 align:start position:0% development store is set up got my admin things<00:04:20.759><c> are</c><00:04:20.959><c> looking</c><00:04:21.320><c> pretty</c><00:04:21.639><c> good</c><00:04:22.160><c> I'm</c><00:04:22.240><c> going</c> 00:04:22.350 --> 00:04:22.360 align:start position:0% things are looking pretty good I'm going 00:04:22.360 --> 00:04:24.430 align:start position:0% things are looking pretty good I'm going to<00:04:22.520><c> actually</c><00:04:22.720><c> go</c><00:04:22.840><c> ahead</c><00:04:23.080><c> and</c><00:04:23.280><c> create</c><00:04:23.800><c> a</c><00:04:23.960><c> new</c> 00:04:24.430 --> 00:04:24.440 align:start position:0% to actually go ahead and create a new 00:04:24.440 --> 00:04:26.790 align:start position:0% to actually go ahead and create a new app<00:04:25.199><c> so</c><00:04:25.400><c> I</c><00:04:25.520><c> need</c><00:04:25.639><c> to</c><00:04:25.800><c> go</c><00:04:25.960><c> back</c><00:04:26.080><c> to</c><00:04:26.199><c> my</c><00:04:26.360><c> partner's</c> 00:04:26.790 --> 00:04:26.800 align:start position:0% app so I need to go back to my partner's 00:04:26.800 --> 00:04:28.590 align:start position:0% app so I need to go back to my partner's dashboard 00:04:28.590 --> 00:04:28.600 align:start position:0% dashboard 00:04:28.600 --> 00:04:30.230 align:start position:0% dashboard here 00:04:30.230 --> 00:04:30.240 align:start position:0% here 00:04:30.240 --> 00:04:33.310 align:start position:0% here and<00:04:30.479><c> because</c><00:04:30.759><c> it</c><00:04:30.960><c> is</c><00:04:31.400><c> my</c><00:04:32.080><c> most</c><00:04:32.479><c> used</c><00:04:32.880><c> page</c><00:04:33.199><c> in</c> 00:04:33.310 --> 00:04:33.320 align:start position:0% and because it is my most used page in 00:04:33.320 --> 00:04:35.310 align:start position:0% and because it is my most used page in the<00:04:33.440><c> partners</c><00:04:33.840><c> dashboard</c><00:04:34.759><c> it</c><00:04:34.919><c> is</c><00:04:35.080><c> going</c><00:04:35.160><c> to</c> 00:04:35.310 --> 00:04:35.320 align:start position:0% the partners dashboard it is going to 00:04:35.320 --> 00:04:37.550 align:start position:0% the partners dashboard it is going to autocomplete<00:04:36.080><c> right</c><00:04:36.240><c> to</c><00:04:36.520><c> the</c><00:04:36.759><c> apps</c><00:04:37.120><c> page</c><00:04:37.360><c> so</c> 00:04:37.550 --> 00:04:37.560 align:start position:0% autocomplete right to the apps page so 00:04:37.560 --> 00:04:40.909 align:start position:0% autocomplete right to the apps page so you<00:04:37.720><c> see</c><00:04:37.919><c> I've</c><00:04:38.199><c> already</c><00:04:38.639><c> selected</c><00:04:39.120><c> it</c><00:04:39.759><c> here</c><00:04:40.759><c> I</c> 00:04:40.909 --> 00:04:40.919 align:start position:0% you see I've already selected it here I 00:04:40.919 --> 00:04:42.629 align:start position:0% you see I've already selected it here I already<00:04:41.240><c> have</c><00:04:41.520><c> a</c><00:04:41.680><c> list</c><00:04:41.880><c> of</c><00:04:42.039><c> apps</c><00:04:42.280><c> I've</c><00:04:42.440><c> used</c> 00:04:42.629 --> 00:04:42.639 align:start position:0% already have a list of apps I've used 00:04:42.639 --> 00:04:45.110 align:start position:0% already have a list of apps I've used for<00:04:42.840><c> building</c><00:04:43.160><c> and</c><00:04:43.320><c> testing</c><00:04:43.720><c> various</c><00:04:44.120><c> things</c> 00:04:45.110 --> 00:04:45.120 align:start position:0% for building and testing various things 00:04:45.120 --> 00:04:47.670 align:start position:0% for building and testing various things your<00:04:45.440><c> list</c><00:04:45.759><c> might</c><00:04:45.880><c> be</c><00:04:46.039><c> empty</c><00:04:46.440><c> right</c><00:04:46.600><c> now</c><00:04:47.240><c> uh</c><00:04:47.360><c> so</c> 00:04:47.670 --> 00:04:47.680 align:start position:0% your list might be empty right now uh so 00:04:47.680 --> 00:04:50.670 align:start position:0% your list might be empty right now uh so I'm<00:04:47.800><c> going</c><00:04:47.880><c> to</c><00:04:48.039><c> go</c><00:04:48.160><c> ahead</c><00:04:48.360><c> and</c><00:04:48.560><c> create</c><00:04:48.960><c> a</c><00:04:49.160><c> new</c> 00:04:50.670 --> 00:04:50.680 align:start position:0% I'm going to go ahead and create a new 00:04:50.680 --> 00:04:53.230 align:start position:0% I'm going to go ahead and create a new app<00:04:51.680><c> I'm</c><00:04:51.800><c> going</c><00:04:51.880><c> to</c><00:04:52.000><c> create</c><00:04:52.199><c> an</c><00:04:52.320><c> app</c><00:04:52.560><c> manually</c> 00:04:53.230 --> 00:04:53.240 align:start position:0% app I'm going to create an app manually 00:04:53.240 --> 00:04:55.790 align:start position:0% app I'm going to create an app manually because<00:04:53.720><c> I'm</c><00:04:53.840><c> going</c><00:04:53.919><c> to</c><00:04:54.120><c> use</c><00:04:54.560><c> Gadget</c><00:04:55.280><c> to</c> 00:04:55.790 --> 00:04:55.800 align:start position:0% because I'm going to use Gadget to 00:04:55.800 --> 00:04:57.870 align:start position:0% because I'm going to use Gadget to actually<00:04:56.240><c> write</c><00:04:56.560><c> the</c><00:04:56.800><c> code</c><00:04:57.199><c> for</c><00:04:57.479><c> my</c> 00:04:57.870 --> 00:04:57.880 align:start position:0% actually write the code for my 00:04:57.880 --> 00:04:59.790 align:start position:0% actually write the code for my application<00:04:58.880><c> and</c><00:04:58.960><c> the</c><00:04:59.039><c> reason</c><00:04:59.240><c> I'm</c><00:04:59.360><c> using</c> 00:04:59.790 --> 00:04:59.800 align:start position:0% application and the reason I'm using 00:04:59.800 --> 00:05:02.550 align:start position:0% application and the reason I'm using Gadget<00:05:00.240><c> is</c><00:05:00.440><c> because</c><00:05:00.680><c> it</c><00:05:00.840><c> is</c><00:05:01.000><c> a</c><00:05:01.199><c> hosted</c><00:05:01.840><c> and</c> 00:05:02.550 --> 00:05:02.560 align:start position:0% Gadget is because it is a hosted and 00:05:02.560 --> 00:05:05.390 align:start position:0% Gadget is because it is a hosted and autoscaled<00:05:03.560><c> development</c><00:05:04.240><c> platform</c><00:05:05.240><c> it's</c> 00:05:05.390 --> 00:05:05.400 align:start position:0% autoscaled development platform it's 00:05:05.400 --> 00:05:07.150 align:start position:0% autoscaled development platform it's going<00:05:05.520><c> to</c><00:05:05.680><c> give</c><00:05:05.840><c> me</c><00:05:06.080><c> a</c><00:05:06.479><c> full</c><00:05:06.800><c> stack</c> 00:05:07.150 --> 00:05:07.160 align:start position:0% going to give me a full stack 00:05:07.160 --> 00:05:08.670 align:start position:0% going to give me a full stack application<00:05:07.720><c> so</c><00:05:07.880><c> that's</c><00:05:08.000><c> a</c><00:05:08.160><c> postgress</c> 00:05:08.670 --> 00:05:08.680 align:start position:0% application so that's a postgress 00:05:08.680 --> 00:05:10.990 align:start position:0% application so that's a postgress database<00:05:09.240><c> node</c><00:05:09.600><c> backend</c><00:05:10.160><c> and</c><00:05:10.320><c> react</c><00:05:10.720><c> front</c> 00:05:10.990 --> 00:05:11.000 align:start position:0% database node backend and react front 00:05:11.000 --> 00:05:13.150 align:start position:0% database node backend and react front end<00:05:11.880><c> and</c><00:05:12.120><c> there's</c><00:05:12.280><c> a</c><00:05:12.360><c> built-in</c><00:05:12.720><c> shopy</c> 00:05:13.150 --> 00:05:13.160 align:start position:0% end and there's a built-in shopy 00:05:13.160 --> 00:05:14.710 align:start position:0% end and there's a built-in shopy connection<00:05:13.440><c> to</c><00:05:13.600><c> handle</c><00:05:13.880><c> a</c><00:05:13.960><c> lot</c><00:05:14.080><c> of</c><00:05:14.160><c> shopify's</c> 00:05:14.710 --> 00:05:14.720 align:start position:0% connection to handle a lot of shopify's 00:05:14.720 --> 00:05:16.629 align:start position:0% connection to handle a lot of shopify's boilerplate<00:05:15.680><c> so</c><00:05:15.840><c> for</c><00:05:16.000><c> example</c><00:05:16.360><c> there's</c><00:05:16.520><c> going</c> 00:05:16.629 --> 00:05:16.639 align:start position:0% boilerplate so for example there's going 00:05:16.639 --> 00:05:19.230 align:start position:0% boilerplate so for example there's going to<00:05:16.720><c> be</c><00:05:16.960><c> authentication</c><00:05:17.759><c> handling</c><00:05:18.600><c> frontend</c> 00:05:19.230 --> 00:05:19.240 align:start position:0% to be authentication handling frontend 00:05:19.240 --> 00:05:23.110 align:start position:0% to be authentication handling frontend session<00:05:19.720><c> token</c><00:05:20.319><c> handling</c><00:05:21.319><c> as</c><00:05:21.520><c> well</c><00:05:21.960><c> as</c><00:05:22.759><c> things</c> 00:05:23.110 --> 00:05:23.120 align:start position:0% session token handling as well as things 00:05:23.120 --> 00:05:24.710 align:start position:0% session token handling as well as things like<00:05:23.360><c> web</c><00:05:23.680><c> hook</c><00:05:23.880><c> subscription</c><00:05:24.400><c> and</c><00:05:24.520><c> a</c> 00:05:24.710 --> 00:05:24.720 align:start position:0% like web hook subscription and a 00:05:24.720 --> 00:05:27.150 align:start position:0% like web hook subscription and a historical<00:05:25.319><c> data</c><00:05:25.600><c> sync</c><00:05:26.440><c> so</c><00:05:26.680><c> gadget's</c><00:05:27.039><c> going</c> 00:05:27.150 --> 00:05:27.160 align:start position:0% historical data sync so gadget's going 00:05:27.160 --> 00:05:29.029 align:start position:0% historical data sync so gadget's going to<00:05:27.240><c> handle</c><00:05:27.520><c> all</c><00:05:27.680><c> that</c><00:05:27.800><c> for</c><00:05:28.000><c> me</c><00:05:28.240><c> you</c><00:05:28.400><c> can</c><00:05:28.759><c> also</c> 00:05:29.029 --> 00:05:29.039 align:start position:0% to handle all that for me you can also 00:05:29.039 --> 00:05:32.110 align:start position:0% to handle all that for me you can also create<00:05:29.600><c> apps</c><00:05:30.000><c> through</c><00:05:30.199><c> Shopify</c><00:05:30.840><c> CLI</c><00:05:31.800><c> it</c><00:05:31.919><c> gives</c> 00:05:32.110 --> 00:05:32.120 align:start position:0% create apps through Shopify CLI it gives 00:05:32.120 --> 00:05:33.950 align:start position:0% create apps through Shopify CLI it gives you<00:05:32.240><c> a</c><00:05:32.360><c> remix</c><00:05:32.800><c> template</c><00:05:33.280><c> I'm</c><00:05:33.360><c> not</c><00:05:33.520><c> going</c><00:05:33.600><c> to</c><00:05:33.759><c> go</c> 00:05:33.950 --> 00:05:33.960 align:start position:0% you a remix template I'm not going to go 00:05:33.960 --> 00:05:35.710 align:start position:0% you a remix template I'm not going to go into<00:05:34.280><c> that</c><00:05:34.440><c> at</c><00:05:34.560><c> all</c><00:05:35.039><c> there's</c><00:05:35.280><c> plenty</c><00:05:35.520><c> of</c> 00:05:35.710 --> 00:05:35.720 align:start position:0% into that at all there's plenty of 00:05:35.720 --> 00:05:38.309 align:start position:0% into that at all there's plenty of content<00:05:36.199><c> around</c><00:05:36.520><c> creating</c><00:05:36.880><c> remix</c><00:05:37.560><c> remix</c><00:05:37.960><c> apps</c> 00:05:38.309 --> 00:05:38.319 align:start position:0% content around creating remix remix apps 00:05:38.319 --> 00:05:40.070 align:start position:0% content around creating remix remix apps if<00:05:38.400><c> you're</c><00:05:38.680><c> interested</c><00:05:39.680><c> I'm</c><00:05:39.759><c> going</c><00:05:39.880><c> to</c><00:05:40.000><c> go</c> 00:05:40.070 --> 00:05:40.080 align:start position:0% if you're interested I'm going to go 00:05:40.080 --> 00:05:41.510 align:start position:0% if you're interested I'm going to go ahead<00:05:40.240><c> and</c><00:05:40.319><c> create</c><00:05:40.479><c> an</c><00:05:40.600><c> app</c><00:05:40.759><c> manually</c><00:05:41.400><c> and</c> 00:05:41.510 --> 00:05:41.520 align:start position:0% ahead and create an app manually and 00:05:41.520 --> 00:05:45.510 align:start position:0% ahead and create an app manually and I'll<00:05:41.639><c> just</c><00:05:41.759><c> give</c><00:05:41.880><c> it</c><00:05:41.960><c> a</c><00:05:42.120><c> name</c><00:05:43.120><c> my</c><00:05:43.639><c> first</c><00:05:44.639><c> app</c> 00:05:45.510 --> 00:05:45.520 align:start position:0% I'll just give it a name my first app 00:05:45.520 --> 00:05:47.830 align:start position:0% I'll just give it a name my first app and<00:05:45.680><c> press</c> 00:05:47.830 --> 00:05:47.840 align:start position:0% and press 00:05:47.840 --> 00:05:50.070 align:start position:0% and press create<00:05:48.840><c> so</c><00:05:49.039><c> that's</c><00:05:49.199><c> wonderful</c><00:05:49.639><c> I'm</c><00:05:49.800><c> almost</c> 00:05:50.070 --> 00:05:50.080 align:start position:0% create so that's wonderful I'm almost 00:05:50.080 --> 00:05:53.189 align:start position:0% create so that's wonderful I'm almost ready<00:05:50.280><c> to</c><00:05:50.479><c> set</c><00:05:50.680><c> up</c><00:05:50.880><c> my</c><00:05:51.000><c> new</c><00:05:51.360><c> Gadget</c><00:05:51.880><c> app</c><00:05:52.880><c> before</c> 00:05:53.189 --> 00:05:53.199 align:start position:0% ready to set up my new Gadget app before 00:05:53.199 --> 00:05:55.710 align:start position:0% ready to set up my new Gadget app before I<00:05:53.360><c> get</c><00:05:53.560><c> into</c><00:05:53.800><c> that</c><00:05:54.039><c> I</c><00:05:54.120><c> will</c><00:05:54.280><c> say</c><00:05:54.600><c> there</c><00:05:54.840><c> are</c><00:05:55.319><c> two</c> 00:05:55.710 --> 00:05:55.720 align:start position:0% I get into that I will say there are two 00:05:55.720 --> 00:05:58.629 align:start position:0% I get into that I will say there are two types<00:05:56.440><c> of</c><00:05:56.919><c> Shopify</c><00:05:57.639><c> apps</c><00:05:58.199><c> I'm</c><00:05:58.280><c> going</c><00:05:58.400><c> to</c><00:05:58.520><c> go</c> 00:05:58.629 --> 00:05:58.639 align:start position:0% types of Shopify apps I'm going to go 00:05:58.639 --> 00:06:00.469 align:start position:0% types of Shopify apps I'm going to go ahead<00:05:58.800><c> and</c><00:05:58.880><c> click</c><00:05:59.120><c> choose</c> 00:06:00.469 --> 00:06:00.479 align:start position:0% ahead and click choose 00:06:00.479 --> 00:06:02.510 align:start position:0% ahead and click choose distribution<00:06:01.479><c> and</c><00:06:01.720><c> these</c><00:06:01.880><c> are</c><00:06:02.039><c> the</c><00:06:02.240><c> two</c> 00:06:02.510 --> 00:06:02.520 align:start position:0% distribution and these are the two 00:06:02.520 --> 00:06:05.110 align:start position:0% distribution and these are the two different<00:06:03.000><c> distribution</c><00:06:03.759><c> methods</c><00:06:04.600><c> the</c><00:06:04.759><c> first</c> 00:06:05.110 --> 00:06:05.120 align:start position:0% different distribution methods the first 00:06:05.120 --> 00:06:07.870 align:start position:0% different distribution methods the first is<00:06:05.479><c> public</c><00:06:06.319><c> so</c><00:06:06.520><c> if</c><00:06:06.599><c> you</c><00:06:06.759><c> build</c><00:06:06.960><c> a</c><00:06:07.199><c> public</c><00:06:07.639><c> app</c> 00:06:07.870 --> 00:06:07.880 align:start position:0% is public so if you build a public app 00:06:07.880 --> 00:06:10.550 align:start position:0% is public so if you build a public app it<00:06:08.000><c> will</c><00:06:08.160><c> be</c><00:06:08.360><c> available</c><00:06:09.280><c> on</c><00:06:09.520><c> the</c><00:06:09.720><c> Shopify</c><00:06:10.360><c> app</c> 00:06:10.550 --> 00:06:10.560 align:start position:0% it will be available on the Shopify app 00:06:10.560 --> 00:06:12.990 align:start position:0% it will be available on the Shopify app store<00:06:11.080><c> or</c><00:06:11.280><c> it</c><00:06:11.360><c> can</c><00:06:11.520><c> be</c><00:06:11.720><c> unlisted</c><00:06:12.680><c> but</c><00:06:12.840><c> this</c> 00:06:12.990 --> 00:06:13.000 align:start position:0% store or it can be unlisted but this 00:06:13.000 --> 00:06:15.550 align:start position:0% store or it can be unlisted but this means<00:06:13.319><c> that</c><00:06:13.639><c> anyone</c><00:06:14.080><c> who</c><00:06:14.319><c> has</c><00:06:14.440><c> a</c><00:06:14.599><c> link</c><00:06:14.919><c> to</c><00:06:15.160><c> your</c> 00:06:15.550 --> 00:06:15.560 align:start position:0% means that anyone who has a link to your 00:06:15.560 --> 00:06:17.749 align:start position:0% means that anyone who has a link to your app<00:06:16.039><c> can</c><00:06:16.280><c> install</c><00:06:16.639><c> it</c><00:06:16.800><c> and</c><00:06:16.919><c> use</c><00:06:17.080><c> it</c><00:06:17.199><c> on</c><00:06:17.319><c> their</c> 00:06:17.749 --> 00:06:17.759 align:start position:0% app can install it and use it on their 00:06:17.759 --> 00:06:20.189 align:start position:0% app can install it and use it on their store<00:06:18.759><c> usually</c><00:06:19.039><c> you're</c><00:06:19.240><c> charging</c><00:06:19.800><c> either</c><00:06:20.000><c> a</c> 00:06:20.189 --> 00:06:20.199 align:start position:0% store usually you're charging either a 00:06:20.199 --> 00:06:23.070 align:start position:0% store usually you're charging either a one-time<00:06:20.840><c> fee</c><00:06:21.639><c> or</c><00:06:21.960><c> a</c><00:06:22.120><c> monthly</c><00:06:22.560><c> subscription</c> 00:06:23.070 --> 00:06:23.080 align:start position:0% one-time fee or a monthly subscription 00:06:23.080 --> 00:06:25.510 align:start position:0% one-time fee or a monthly subscription fee<00:06:23.759><c> for</c><00:06:24.039><c> merchants</c><00:06:24.479><c> to</c><00:06:24.599><c> be</c><00:06:24.720><c> able</c><00:06:24.919><c> to</c><00:06:25.080><c> use</c><00:06:25.280><c> your</c> 00:06:25.510 --> 00:06:25.520 align:start position:0% fee for merchants to be able to use your 00:06:25.520 --> 00:06:28.029 align:start position:0% fee for merchants to be able to use your apps<00:06:26.280><c> functionality</c><00:06:27.280><c> the</c><00:06:27.440><c> second</c><00:06:27.720><c> type</c><00:06:27.919><c> of</c> 00:06:28.029 --> 00:06:28.039 align:start position:0% apps functionality the second type of 00:06:28.039 --> 00:06:31.070 align:start position:0% apps functionality the second type of app<00:06:28.280><c> are</c><00:06:28.520><c> called</c><00:06:28.960><c> custom</c><00:06:29.560><c> apps</c><00:06:30.479><c> I</c><00:06:30.639><c> recommend</c> 00:06:31.070 --> 00:06:31.080 align:start position:0% app are called custom apps I recommend 00:06:31.080 --> 00:06:33.469 align:start position:0% app are called custom apps I recommend getting<00:06:31.440><c> started</c><00:06:32.039><c> with</c><00:06:32.319><c> a</c><00:06:32.560><c> custom</c><00:06:32.960><c> app</c><00:06:33.199><c> if</c><00:06:33.280><c> you</c> 00:06:33.469 --> 00:06:33.479 align:start position:0% getting started with a custom app if you 00:06:33.479 --> 00:06:35.670 align:start position:0% getting started with a custom app if you can<00:06:34.160><c> uh</c><00:06:34.280><c> this</c><00:06:34.400><c> is</c><00:06:34.680><c> great</c><00:06:35.000><c> opportunity</c><00:06:35.479><c> for</c> 00:06:35.670 --> 00:06:35.680 align:start position:0% can uh this is great opportunity for 00:06:35.680 --> 00:06:37.430 align:start position:0% can uh this is great opportunity for freelance<00:06:36.199><c> work</c><00:06:36.479><c> because</c><00:06:36.680><c> you're</c><00:06:36.919><c> writing</c> 00:06:37.430 --> 00:06:37.440 align:start position:0% freelance work because you're writing 00:06:37.440 --> 00:06:39.589 align:start position:0% freelance work because you're writing usually<00:06:37.919><c> a</c><00:06:38.360><c> single</c><00:06:38.720><c> piece</c><00:06:38.919><c> of</c><00:06:39.120><c> custom</c> 00:06:39.589 --> 00:06:39.599 align:start position:0% usually a single piece of custom 00:06:39.599 --> 00:06:42.629 align:start position:0% usually a single piece of custom functionality<00:06:40.599><c> for</c><00:06:41.120><c> a</c><00:06:41.360><c> single</c><00:06:42.039><c> Merchant</c><00:06:42.520><c> so</c> 00:06:42.629 --> 00:06:42.639 align:start position:0% functionality for a single Merchant so 00:06:42.639 --> 00:06:43.870 align:start position:0% functionality for a single Merchant so you<00:06:42.720><c> don't</c><00:06:42.880><c> have</c><00:06:42.960><c> to</c><00:06:43.080><c> deal</c><00:06:43.280><c> with</c><00:06:43.400><c> shopy</c> 00:06:43.870 --> 00:06:43.880 align:start position:0% you don't have to deal with shopy 00:06:43.880 --> 00:06:46.749 align:start position:0% you don't have to deal with shopy billing<00:06:44.240><c> apis</c><00:06:45.160><c> you</c><00:06:45.280><c> don't</c><00:06:45.599><c> have</c><00:06:45.720><c> to</c><00:06:45.880><c> deal</c><00:06:46.199><c> with</c> 00:06:46.749 --> 00:06:46.759 align:start position:0% billing apis you don't have to deal with 00:06:46.759 --> 00:06:49.189 align:start position:0% billing apis you don't have to deal with data<00:06:47.319><c> tency</c><00:06:47.880><c> or</c><00:06:48.039><c> multi-tenancy</c><00:06:48.720><c> like</c><00:06:49.080><c> you</c> 00:06:49.189 --> 00:06:49.199 align:start position:0% data tency or multi-tenancy like you 00:06:49.199 --> 00:06:51.309 align:start position:0% data tency or multi-tenancy like you would<00:06:49.440><c> do</c><00:06:49.639><c> in</c><00:06:49.840><c> public</c><00:06:50.160><c> apps</c><00:06:50.840><c> uh</c><00:06:50.960><c> it</c><00:06:51.039><c> is</c><00:06:51.160><c> an</c> 00:06:51.309 --> 00:06:51.319 align:start position:0% would do in public apps uh it is an 00:06:51.319 --> 00:06:52.870 align:start position:0% would do in public apps uh it is an easier<00:06:51.639><c> way</c><00:06:51.800><c> to</c><00:06:51.960><c> get</c><00:06:52.160><c> started</c><00:06:52.599><c> I'm</c><00:06:52.680><c> not</c><00:06:52.800><c> going</c> 00:06:52.870 --> 00:06:52.880 align:start position:0% easier way to get started I'm not going 00:06:52.880 --> 00:06:54.870 align:start position:0% easier way to get started I'm not going to<00:06:53.039><c> go</c><00:06:53.160><c> through</c><00:06:53.319><c> this</c><00:06:53.639><c> quite</c><00:06:53.919><c> yet</c><00:06:54.400><c> I</c><00:06:54.479><c> will</c><00:06:54.680><c> show</c> 00:06:54.870 --> 00:06:54.880 align:start position:0% to go through this quite yet I will show 00:06:54.880 --> 00:06:57.110 align:start position:0% to go through this quite yet I will show you<00:06:55.160><c> how</c><00:06:55.319><c> to</c><00:06:55.599><c> install</c><00:06:55.960><c> a</c><00:06:56.120><c> Custom</c><00:06:56.479><c> Distribution</c> 00:06:57.110 --> 00:06:57.120 align:start position:0% you how to install a Custom Distribution 00:06:57.120 --> 00:06:59.270 align:start position:0% you how to install a Custom Distribution at<00:06:57.199><c> the</c><00:06:57.360><c> very</c><00:06:57.520><c> end</c><00:06:57.720><c> of</c><00:06:57.919><c> this</c><00:06:58.080><c> video</c><00:06:58.479><c> though</c><00:06:59.080><c> so</c> 00:06:59.270 --> 00:06:59.280 align:start position:0% at the very end of this video though so 00:06:59.280 --> 00:07:00.629 align:start position:0% at the very end of this video though so that's<00:06:59.440><c> that's</c><00:06:59.639><c> great</c><00:06:59.960><c> I'm</c><00:07:00.039><c> going</c><00:07:00.160><c> to</c><00:07:00.319><c> go</c><00:07:00.479><c> back</c> 00:07:00.629 --> 00:07:00.639 align:start position:0% that's that's great I'm going to go back 00:07:00.639 --> 00:07:02.350 align:start position:0% that's that's great I'm going to go back to<00:07:00.840><c> my</c><00:07:01.000><c> overview</c> 00:07:02.350 --> 00:07:02.360 align:start position:0% to my overview 00:07:02.360 --> 00:07:05.710 align:start position:0% to my overview page<00:07:03.360><c> I've</c><00:07:03.520><c> got</c><00:07:03.680><c> my</c><00:07:03.840><c> client</c><00:07:04.120><c> ID</c><00:07:04.400><c> in</c><00:07:04.720><c> secret</c> 00:07:05.710 --> 00:07:05.720 align:start position:0% page I've got my client ID in secret 00:07:05.720 --> 00:07:08.230 align:start position:0% page I've got my client ID in secret that<00:07:05.919><c> is</c><00:07:06.080><c> what</c><00:07:06.240><c> I</c><00:07:06.400><c> need</c><00:07:06.840><c> to</c><00:07:07.400><c> set</c><00:07:07.560><c> up</c><00:07:07.680><c> my</c><00:07:07.800><c> shopy</c> 00:07:08.230 --> 00:07:08.240 align:start position:0% that is what I need to set up my shopy 00:07:08.240 --> 00:07:09.670 align:start position:0% that is what I need to set up my shopy connection<00:07:08.599><c> in</c><00:07:08.759><c> my</c><00:07:08.960><c> Gadget</c><00:07:09.240><c> app</c><00:07:09.400><c> so</c><00:07:09.520><c> I'm</c><00:07:09.599><c> going</c> 00:07:09.670 --> 00:07:09.680 align:start position:0% connection in my Gadget app so I'm going 00:07:09.680 --> 00:07:12.710 align:start position:0% connection in my Gadget app so I'm going to<00:07:09.800><c> create</c><00:07:10.000><c> my</c><00:07:10.120><c> new</c><00:07:10.319><c> Gadget</c><00:07:10.639><c> app</c> 00:07:12.710 --> 00:07:12.720 align:start position:0% to create my new Gadget app 00:07:12.720 --> 00:07:15.110 align:start position:0% to create my new Gadget app next<00:07:13.720><c> I</c><00:07:13.840><c> will</c><00:07:14.280><c> head</c> 00:07:15.110 --> 00:07:15.120 align:start position:0% next I will head 00:07:15.120 --> 00:07:29.390 align:start position:0% next I will head over<00:07:16.120><c> to</c> 00:07:29.390 --> 00:07:29.400 align:start position:0% 00:07:29.400 --> 00:07:32.270 align:start position:0% and<00:07:29.520><c> then</c><00:07:29.720><c> enter</c><00:07:30.240><c> a</c><00:07:30.759><c> domain</c><00:07:31.240><c> for</c><00:07:31.599><c> my</c><00:07:31.879><c> app</c><00:07:32.120><c> so</c> 00:07:32.270 --> 00:07:32.280 align:start position:0% and then enter a domain for my app so 00:07:32.280 --> 00:07:42.469 align:start position:0% and then enter a domain for my app so I'll<00:07:32.479><c> just</c><00:07:32.639><c> call</c><00:07:32.840><c> this</c><00:07:33.520><c> my</c><00:07:33.960><c> very</c><00:07:34.360><c> first</c> 00:07:42.469 --> 00:07:42.479 align:start position:0% 00:07:42.479 --> 00:07:45.749 align:start position:0% shopify.com 00:07:45.749 --> 00:07:45.759 align:start position:0% 00:07:45.759 --> 00:07:48.869 align:start position:0% by<00:07:46.759><c> vit</c><00:07:47.319><c> like</c><00:07:47.479><c> I</c><00:07:47.639><c> mentioned</c> 00:07:48.869 --> 00:07:48.879 align:start position:0% by vit like I mentioned 00:07:48.879 --> 00:07:51.230 align:start position:0% by vit like I mentioned before<00:07:49.879><c> the</c><00:07:50.000><c> first</c><00:07:50.240><c> thing</c><00:07:50.400><c> I</c><00:07:50.560><c> notice</c><00:07:51.000><c> is</c><00:07:51.120><c> that</c> 00:07:51.230 --> 00:07:51.240 align:start position:0% before the first thing I notice is that 00:07:51.240 --> 00:07:53.029 align:start position:0% before the first thing I notice is that there's<00:07:51.479><c> this</c><00:07:51.759><c> connect</c><00:07:52.120><c> shopy</c><00:07:52.599><c> button</c><00:07:52.840><c> so</c><00:07:52.960><c> I'm</c> 00:07:53.029 --> 00:07:53.039 align:start position:0% there's this connect shopy button so I'm 00:07:53.039 --> 00:07:54.990 align:start position:0% there's this connect shopy button so I'm going<00:07:53.159><c> to</c><00:07:53.280><c> go</c><00:07:53.479><c> ahead</c><00:07:53.759><c> and</c><00:07:53.960><c> do</c> 00:07:54.990 --> 00:07:55.000 align:start position:0% going to go ahead and do 00:07:55.000 --> 00:07:58.390 align:start position:0% going to go ahead and do that<00:07:56.000><c> so</c><00:07:56.199><c> I've</c><00:07:56.319><c> shown</c><00:07:56.599><c> you</c><00:07:57.280><c> the</c><00:07:57.840><c> parts</c><00:07:58.159><c> of</c><00:07:58.280><c> the</c> 00:07:58.390 --> 00:07:58.400 align:start position:0% that so I've shown you the parts of the 00:07:58.400 --> 00:08:01.029 align:start position:0% that so I've shown you the parts of the partner<00:07:58.800><c> dashboard</c><00:07:59.759><c> that</c><00:07:59.919><c> is</c><00:08:00.199><c> always</c><00:08:00.599><c> how</c><00:08:00.800><c> we</c> 00:08:01.029 --> 00:08:01.039 align:start position:0% partner dashboard that is always how we 00:08:01.039 --> 00:08:04.710 align:start position:0% partner dashboard that is always how we recommend<00:08:01.919><c> connecting</c><00:08:02.680><c> to</c><00:08:03.080><c> Shopify</c><00:08:04.080><c> you</c><00:08:04.319><c> can</c> 00:08:04.710 --> 00:08:04.720 align:start position:0% recommend connecting to Shopify you can 00:08:04.720 --> 00:08:07.830 align:start position:0% recommend connecting to Shopify you can also<00:08:05.039><c> connect</c><00:08:05.800><c> directly</c><00:08:06.360><c> from</c><00:08:06.680><c> that</c><00:08:06.919><c> store</c> 00:08:07.830 --> 00:08:07.840 align:start position:0% also connect directly from that store 00:08:07.840 --> 00:08:11.230 align:start position:0% also connect directly from that store admin<00:08:08.840><c> however</c><00:08:09.520><c> it</c><00:08:09.680><c> is</c><00:08:10.120><c> limited</c><00:08:10.680><c> in</c><00:08:10.879><c> features</c> 00:08:11.230 --> 00:08:11.240 align:start position:0% admin however it is limited in features 00:08:11.240 --> 00:08:13.430 align:start position:0% admin however it is limited in features and<00:08:11.479><c> functionality</c><00:08:12.080><c> so</c><00:08:12.280><c> we</c><00:08:12.479><c> always</c><00:08:12.800><c> recommend</c> 00:08:13.430 --> 00:08:13.440 align:start position:0% and functionality so we always recommend 00:08:13.440 --> 00:08:15.469 align:start position:0% and functionality so we always recommend going<00:08:13.599><c> through</c><00:08:13.840><c> the</c><00:08:13.960><c> partners</c><00:08:14.479><c> dashboard</c> 00:08:15.469 --> 00:08:15.479 align:start position:0% going through the partners dashboard 00:08:15.479 --> 00:08:16.629 align:start position:0% going through the partners dashboard even<00:08:15.680><c> if</c><00:08:15.759><c> you're</c><00:08:15.960><c> just</c><00:08:16.080><c> building</c><00:08:16.400><c> for</c><00:08:16.520><c> a</c> 00:08:16.629 --> 00:08:16.639 align:start position:0% even if you're just building for a 00:08:16.639 --> 00:08:17.869 align:start position:0% even if you're just building for a single 00:08:17.869 --> 00:08:17.879 align:start position:0% single 00:08:17.879 --> 00:08:19.790 align:start position:0% single Merchant<00:08:18.879><c> you'll</c><00:08:19.080><c> notice</c><00:08:19.360><c> at</c><00:08:19.479><c> the</c><00:08:19.599><c> very</c> 00:08:19.790 --> 00:08:19.800 align:start position:0% Merchant you'll notice at the very 00:08:19.800 --> 00:08:22.110 align:start position:0% Merchant you'll notice at the very bottom<00:08:20.080><c> here</c><00:08:20.240><c> we</c><00:08:20.360><c> have</c><00:08:20.560><c> client</c><00:08:20.919><c> ID</c><00:08:21.240><c> and</c><00:08:21.440><c> client</c> 00:08:22.110 --> 00:08:22.120 align:start position:0% bottom here we have client ID and client 00:08:22.120 --> 00:08:24.909 align:start position:0% bottom here we have client ID and client secret<00:08:23.120><c> those</c><00:08:23.560><c> should</c><00:08:23.840><c> look</c><00:08:24.080><c> familiar</c> 00:08:24.909 --> 00:08:24.919 align:start position:0% secret those should look familiar 00:08:24.919 --> 00:08:26.149 align:start position:0% secret those should look familiar because<00:08:25.199><c> they're</c><00:08:25.440><c> right</c><00:08:25.639><c> here</c><00:08:25.840><c> in</c><00:08:26.000><c> my</c> 00:08:26.149 --> 00:08:26.159 align:start position:0% because they're right here in my 00:08:26.159 --> 00:08:28.070 align:start position:0% because they're right here in my partners<00:08:26.560><c> app</c><00:08:26.800><c> so</c><00:08:26.960><c> I</c><00:08:27.039><c> just</c><00:08:27.159><c> need</c><00:08:27.319><c> to</c><00:08:27.560><c> copy</c><00:08:27.840><c> them</c> 00:08:28.070 --> 00:08:28.080 align:start position:0% partners app so I just need to copy them 00:08:28.080 --> 00:08:33.389 align:start position:0% partners app so I just need to copy them over<00:08:28.440><c> to</c><00:08:29.039><c> G</c> 00:08:33.389 --> 00:08:33.399 align:start position:0% 00:08:33.399 --> 00:08:36.350 align:start position:0% and<00:08:33.479><c> then</c><00:08:33.599><c> I'll</c><00:08:33.760><c> press</c> 00:08:36.350 --> 00:08:36.360 align:start position:0% 00:08:36.360 --> 00:08:38.670 align:start position:0% connect<00:08:37.360><c> on</c><00:08:37.560><c> this</c><00:08:37.760><c> page</c><00:08:38.080><c> I</c><00:08:38.200><c> select</c><00:08:38.519><c> what</c> 00:08:38.670 --> 00:08:38.680 align:start position:0% connect on this page I select what 00:08:38.680 --> 00:08:42.389 align:start position:0% connect on this page I select what Shopify<00:08:39.399><c> Scopes</c><00:08:40.399><c> and</c><00:08:41.080><c> data</c><00:08:41.360><c> models</c><00:08:41.880><c> I</c><00:08:41.959><c> want</c><00:08:42.120><c> to</c> 00:08:42.389 --> 00:08:42.399 align:start position:0% Shopify Scopes and data models I want to 00:08:42.399 --> 00:08:46.110 align:start position:0% Shopify Scopes and data models I want to include<00:08:43.159><c> in</c><00:08:43.440><c> my</c><00:08:44.120><c> app</c><00:08:45.120><c> this</c><00:08:45.320><c> is</c><00:08:45.480><c> intimidating</c> 00:08:46.110 --> 00:08:46.120 align:start position:0% include in my app this is intimidating 00:08:46.120 --> 00:08:48.509 align:start position:0% include in my app this is intimidating the<00:08:46.240><c> first</c><00:08:46.519><c> time</c><00:08:46.760><c> you</c><00:08:46.920><c> go</c><00:08:47.160><c> about</c><00:08:47.680><c> building</c><00:08:48.320><c> a</c> 00:08:48.509 --> 00:08:48.519 align:start position:0% the first time you go about building a 00:08:48.519 --> 00:08:52.470 align:start position:0% the first time you go about building a Shopify<00:08:49.399><c> app</c><00:08:50.120><c> because</c><00:08:50.560><c> the</c><00:08:50.680><c> Shopify</c><00:08:51.200><c> API</c><00:08:51.760><c> is</c> 00:08:52.470 --> 00:08:52.480 align:start position:0% Shopify app because the Shopify API is 00:08:52.480 --> 00:08:54.630 align:start position:0% Shopify app because the Shopify API is huge<00:08:53.279><c> you</c><00:08:53.480><c> probably</c><00:08:53.680><c> don't</c><00:08:53.880><c> know</c><00:08:54.120><c> what</c><00:08:54.279><c> Scopes</c> 00:08:54.630 --> 00:08:54.640 align:start position:0% huge you probably don't know what Scopes 00:08:54.640 --> 00:08:56.190 align:start position:0% huge you probably don't know what Scopes and<00:08:54.800><c> what</c><00:08:55.080><c> models</c><00:08:55.440><c> you</c><00:08:55.640><c> actually</c><00:08:55.839><c> need</c><00:08:56.040><c> to</c> 00:08:56.190 --> 00:08:56.200 align:start position:0% and what models you actually need to 00:08:56.200 --> 00:08:58.630 align:start position:0% and what models you actually need to build<00:08:56.440><c> your</c><00:08:56.640><c> app</c><00:08:57.200><c> that's</c><00:08:57.440><c> AOK</c><00:08:58.320><c> this</c> 00:08:58.630 --> 00:08:58.640 align:start position:0% build your app that's AOK this 00:08:58.640 --> 00:09:00.910 align:start position:0% build your app that's AOK this connection<00:08:59.320><c> is</c><00:08:59.480><c> always</c><00:08:59.800><c> editable</c><00:09:00.399><c> later</c><00:09:00.800><c> so</c> 00:09:00.910 --> 00:09:00.920 align:start position:0% connection is always editable later so 00:09:00.920 --> 00:09:02.150 align:start position:0% connection is always editable later so you<00:09:01.000><c> don't</c><00:09:01.120><c> need</c><00:09:01.240><c> to</c><00:09:01.360><c> worry</c><00:09:01.560><c> about</c><00:09:01.720><c> making</c><00:09:02.000><c> the</c> 00:09:02.150 --> 00:09:02.160 align:start position:0% you don't need to worry about making the 00:09:02.160 --> 00:09:04.750 align:start position:0% you don't need to worry about making the right<00:09:02.360><c> choices</c><00:09:02.880><c> up</c><00:09:03.160><c> front</c><00:09:04.000><c> now</c><00:09:04.240><c> before</c><00:09:04.600><c> I</c> 00:09:04.750 --> 00:09:04.760 align:start position:0% right choices up front now before I 00:09:04.760 --> 00:09:06.430 align:start position:0% right choices up front now before I actually<00:09:05.000><c> select</c><00:09:05.360><c> Scopes</c><00:09:05.640><c> and</c><00:09:05.800><c> models</c><00:09:06.360><c> I'm</c> 00:09:06.430 --> 00:09:06.440 align:start position:0% actually select Scopes and models I'm 00:09:06.440 --> 00:09:08.110 align:start position:0% actually select Scopes and models I'm going<00:09:06.560><c> to</c><00:09:06.720><c> just</c><00:09:06.920><c> quickly</c><00:09:07.320><c> take</c><00:09:07.440><c> a</c><00:09:07.600><c> step</c><00:09:07.880><c> back</c> 00:09:08.110 --> 00:09:08.120 align:start position:0% going to just quickly take a step back 00:09:08.120 --> 00:09:11.230 align:start position:0% going to just quickly take a step back and<00:09:08.279><c> talk</c><00:09:08.519><c> about</c><00:09:08.760><c> shopify's</c><00:09:09.600><c> admin</c><00:09:10.079><c> API</c><00:09:11.040><c> so</c> 00:09:11.230 --> 00:09:11.240 align:start position:0% and talk about shopify's admin API so 00:09:11.240 --> 00:09:13.069 align:start position:0% and talk about shopify's admin API so because<00:09:11.480><c> we</c><00:09:11.600><c> are</c><00:09:11.720><c> building</c><00:09:12.040><c> an</c><00:09:12.279><c> app</c><00:09:12.760><c> that</c><00:09:12.880><c> is</c> 00:09:13.069 --> 00:09:13.079 align:start position:0% because we are building an app that is 00:09:13.079 --> 00:09:15.230 align:start position:0% because we are building an app that is embedded<00:09:13.680><c> in</c><00:09:13.920><c> that</c><00:09:14.079><c> store</c><00:09:14.519><c> admin</c><00:09:14.920><c> we're</c><00:09:15.160><c> going</c> 00:09:15.230 --> 00:09:15.240 align:start position:0% embedded in that store admin we're going 00:09:15.240 --> 00:09:18.829 align:start position:0% embedded in that store admin we're going to<00:09:15.320><c> use</c><00:09:15.480><c> the</c><00:09:15.640><c> admin</c><00:09:16.000><c> API</c><00:09:16.720><c> to</c><00:09:17.560><c> get</c><00:09:18.040><c> and</c><00:09:18.320><c> write</c> 00:09:18.829 --> 00:09:18.839 align:start position:0% to use the admin API to get and write 00:09:18.839 --> 00:09:20.829 align:start position:0% to use the admin API to get and write data<00:09:19.279><c> to</c> 00:09:20.829 --> 00:09:20.839 align:start position:0% data to 00:09:20.839 --> 00:09:23.670 align:start position:0% data to Shopify<00:09:21.839><c> of</c><00:09:22.000><c> course</c><00:09:22.560><c> this</c><00:09:22.720><c> can't</c><00:09:22.880><c> be</c><00:09:23.040><c> simple</c> 00:09:23.670 --> 00:09:23.680 align:start position:0% Shopify of course this can't be simple 00:09:23.680 --> 00:09:26.190 align:start position:0% Shopify of course this can't be simple Shopify<00:09:24.399><c> has</c><00:09:24.800><c> two</c><00:09:25.040><c> versions</c><00:09:25.560><c> of</c><00:09:25.720><c> their</c><00:09:25.880><c> admin</c> 00:09:26.190 --> 00:09:26.200 align:start position:0% Shopify has two versions of their admin 00:09:26.200 --> 00:09:29.870 align:start position:0% Shopify has two versions of their admin API<00:09:26.600><c> there</c><00:09:26.680><c> is</c><00:09:26.800><c> a</c><00:09:27.000><c> rest</c><00:09:27.480><c> admin</c><00:09:28.120><c> API</c><00:09:29.360><c> and</c><00:09:29.720><c> there</c> 00:09:29.870 --> 00:09:29.880 align:start position:0% API there is a rest admin API and there 00:09:29.880 --> 00:09:34.750 align:start position:0% API there is a rest admin API and there is<00:09:30.079><c> a</c><00:09:30.320><c> graphql</c><00:09:31.240><c> admin</c><00:09:32.079><c> API</c><00:09:33.079><c> both</c><00:09:33.320><c> of</c><00:09:33.480><c> them</c> 00:09:34.750 --> 00:09:34.760 align:start position:0% is a graphql admin API both of them 00:09:34.760 --> 00:09:38.069 align:start position:0% is a graphql admin API both of them have<00:09:35.760><c> shared</c><00:09:36.240><c> resources</c><00:09:36.959><c> so</c><00:09:37.320><c> if</c><00:09:37.440><c> I</c><00:09:37.560><c> go</c><00:09:37.720><c> ahead</c> 00:09:38.069 --> 00:09:38.079 align:start position:0% have shared resources so if I go ahead 00:09:38.079 --> 00:09:41.269 align:start position:0% have shared resources so if I go ahead on<00:09:38.279><c> the</c><00:09:38.720><c> rest</c><00:09:39.040><c> API</c><00:09:40.040><c> I</c><00:09:40.120><c> can</c><00:09:40.279><c> click</c><00:09:40.440><c> on</c><00:09:40.720><c> products</c> 00:09:41.269 --> 00:09:41.279 align:start position:0% on the rest API I can click on products 00:09:41.279 --> 00:09:45.590 align:start position:0% on the rest API I can click on products you<00:09:41.360><c> see</c><00:09:41.640><c> there</c><00:09:41.800><c> is</c><00:09:42.040><c> a</c><00:09:42.720><c> product</c><00:09:43.720><c> data</c><00:09:44.480><c> model</c><00:09:45.480><c> if</c> 00:09:45.590 --> 00:09:45.600 align:start position:0% you see there is a product data model if 00:09:45.600 --> 00:09:47.509 align:start position:0% you see there is a product data model if I<00:09:45.720><c> go</c><00:09:45.880><c> into</c><00:09:46.079><c> the</c><00:09:46.200><c> graphql</c> 00:09:47.509 --> 00:09:47.519 align:start position:0% I go into the graphql 00:09:47.519 --> 00:09:50.870 align:start position:0% I go into the graphql API<00:09:48.519><c> I</c><00:09:48.640><c> find</c><00:09:48.959><c> products</c><00:09:49.320><c> and</c><00:09:49.720><c> collections</c><00:09:50.720><c> go</c> 00:09:50.870 --> 00:09:50.880 align:start position:0% API I find products and collections go 00:09:50.880 --> 00:09:54.630 align:start position:0% API I find products and collections go to<00:09:51.040><c> the</c><00:09:51.680><c> objects</c><00:09:52.680><c> and</c><00:09:53.040><c> I</c><00:09:53.200><c> can</c><00:09:53.440><c> click</c><00:09:54.399><c> on</c> 00:09:54.630 --> 00:09:54.640 align:start position:0% to the objects and I can click on 00:09:54.640 --> 00:09:57.750 align:start position:0% to the objects and I can click on another<00:09:55.240><c> product</c><00:09:55.600><c> data</c><00:09:55.920><c> model</c><00:09:56.920><c> if</c><00:09:57.040><c> I</c><00:09:57.200><c> go</c><00:09:57.360><c> ahead</c> 00:09:57.750 --> 00:09:57.760 align:start position:0% another product data model if I go ahead 00:09:57.760 --> 00:10:00.310 align:start position:0% another product data model if I go ahead and<00:09:57.920><c> do</c><00:09:58.160><c> a</c><00:09:58.320><c> quick</c><00:09:58.519><c> glance</c><00:09:58.760><c> at</c><00:09:58.880><c> these</c><00:09:59.320><c> Fields</c> 00:10:00.310 --> 00:10:00.320 align:start position:0% and do a quick glance at these Fields 00:10:00.320 --> 00:10:03.710 align:start position:0% and do a quick glance at these Fields see<00:10:00.560><c> there's</c><00:10:00.839><c> properties</c><00:10:01.320><c> body</c><00:10:01.600><c> HTML</c><00:10:02.200><c> created</c> 00:10:03.710 --> 00:10:03.720 align:start position:0% see there's properties body HTML created 00:10:03.720 --> 00:10:06.910 align:start position:0% see there's properties body HTML created at<00:10:04.720><c> they</c><00:10:04.880><c> are</c><00:10:05.399><c> not</c><00:10:05.640><c> the</c><00:10:05.800><c> same</c><00:10:06.240><c> so</c><00:10:06.480><c> that</c><00:10:06.600><c> is</c><00:10:06.720><c> nice</c> 00:10:06.910 --> 00:10:06.920 align:start position:0% at they are not the same so that is nice 00:10:06.920 --> 00:10:09.750 align:start position:0% at they are not the same so that is nice and<00:10:07.120><c> convenient</c><00:10:08.040><c> the</c><00:10:08.360><c> gadget</c><00:10:09.040><c> data</c><00:10:09.360><c> models</c> 00:10:09.750 --> 00:10:09.760 align:start position:0% and convenient the gadget data models 00:10:09.760 --> 00:10:14.829 align:start position:0% and convenient the gadget data models are<00:10:10.079><c> based</c><00:10:10.600><c> on</c><00:10:11.160><c> the</c><00:10:11.920><c> rest</c><00:10:12.519><c> API</c><00:10:13.519><c> when</c><00:10:14.000><c> available</c> 00:10:14.829 --> 00:10:14.839 align:start position:0% are based on the rest API when available 00:10:14.839 --> 00:10:16.310 align:start position:0% are based on the rest API when available there<00:10:15.079><c> are</c><00:10:15.240><c> some</c><00:10:15.440><c> models</c><00:10:15.760><c> that</c><00:10:15.839><c> are</c><00:10:16.000><c> only</c> 00:10:16.310 --> 00:10:16.320 align:start position:0% there are some models that are only 00:10:16.320 --> 00:10:19.230 align:start position:0% there are some models that are only available<00:10:16.720><c> in</c><00:10:16.839><c> the</c><00:10:16.959><c> graphql</c><00:10:17.720><c> API</c><00:10:18.720><c> and</c><00:10:18.920><c> in</c><00:10:19.079><c> that</c> 00:10:19.230 --> 00:10:19.240 align:start position:0% available in the graphql API and in that 00:10:19.240 --> 00:10:22.110 align:start position:0% available in the graphql API and in that case<00:10:19.480><c> we</c><00:10:19.600><c> are</c><00:10:19.800><c> fetching</c><00:10:20.320><c> data</c><00:10:20.760><c> using</c><00:10:21.240><c> the</c> 00:10:22.110 --> 00:10:22.120 align:start position:0% case we are fetching data using the 00:10:22.120 --> 00:10:25.829 align:start position:0% case we are fetching data using the graphql<00:10:23.120><c> admin</c><00:10:23.640><c> API</c><00:10:24.640><c> so</c><00:10:24.920><c> I</c><00:10:25.000><c> just</c><00:10:25.120><c> want</c><00:10:25.320><c> to</c><00:10:25.519><c> note</c> 00:10:25.829 --> 00:10:25.839 align:start position:0% graphql admin API so I just want to note 00:10:25.839 --> 00:10:28.350 align:start position:0% graphql admin API so I just want to note that<00:10:26.279><c> it</c><00:10:26.440><c> is</c><00:10:26.600><c> a</c><00:10:26.959><c> large</c><00:10:27.320><c> API</c><00:10:27.839><c> it</c><00:10:27.920><c> takes</c><00:10:28.120><c> a</c><00:10:28.240><c> while</c> 00:10:28.350 --> 00:10:28.360 align:start position:0% that it is a large API it takes a while 00:10:28.360 --> 00:10:29.750 align:start position:0% that it is a large API it takes a while to<00:10:28.480><c> get</c><00:10:28.600><c> used</c><00:10:28.839><c> to</c> 00:10:29.750 --> 00:10:29.760 align:start position:0% to get used to 00:10:29.760 --> 00:10:32.990 align:start position:0% to get used to don't<00:10:30.480><c> be</c><00:10:31.040><c> intimidated</c><00:10:32.040><c> you</c><00:10:32.160><c> can</c><00:10:32.440><c> always</c><00:10:32.760><c> edit</c> 00:10:32.990 --> 00:10:33.000 align:start position:0% don't be intimidated you can always edit 00:10:33.000 --> 00:10:34.470 align:start position:0% don't be intimidated you can always edit your<00:10:33.160><c> connection</c><00:10:33.519><c> and</c><00:10:33.760><c> Gadget</c><00:10:34.079><c> if</c><00:10:34.200><c> you</c><00:10:34.279><c> want</c> 00:10:34.470 --> 00:10:34.480 align:start position:0% your connection and Gadget if you want 00:10:34.480 --> 00:10:36.269 align:start position:0% your connection and Gadget if you want different<00:10:34.760><c> data</c><00:10:35.040><c> models</c><00:10:35.440><c> if</c><00:10:35.519><c> you</c><00:10:35.639><c> don't</c><00:10:35.959><c> want</c> 00:10:36.269 --> 00:10:36.279 align:start position:0% different data models if you don't want 00:10:36.279 --> 00:10:37.870 align:start position:0% different data models if you don't want data<00:10:36.519><c> models</c><00:10:36.839><c> you</c><00:10:36.920><c> can</c><00:10:37.160><c> remove</c><00:10:37.480><c> them</c><00:10:37.600><c> from</c><00:10:37.760><c> the</c> 00:10:37.870 --> 00:10:37.880 align:start position:0% data models you can remove them from the 00:10:37.880 --> 00:10:40.829 align:start position:0% data models you can remove them from the connection<00:10:38.639><c> so</c><00:10:38.880><c> that</c><00:10:39.040><c> is</c><00:10:39.320><c> a</c><00:10:39.639><c> okay</c><00:10:40.480><c> so</c><00:10:40.639><c> I'm</c><00:10:40.760><c> just</c> 00:10:40.829 --> 00:10:40.839 align:start position:0% connection so that is a okay so I'm just 00:10:40.839 --> 00:10:43.389 align:start position:0% connection so that is a okay so I'm just going<00:10:40.959><c> to</c><00:10:41.120><c> go</c><00:10:41.320><c> over</c><00:10:42.200><c> back</c><00:10:42.360><c> to</c><00:10:42.600><c> my</c><00:10:42.800><c> Gadget</c><00:10:43.120><c> app</c> 00:10:43.389 --> 00:10:43.399 align:start position:0% going to go over back to my Gadget app 00:10:43.399 --> 00:10:44.829 align:start position:0% going to go over back to my Gadget app I'm<00:10:43.480><c> going</c><00:10:43.600><c> to</c><00:10:43.720><c> select</c><00:10:44.040><c> my</c><00:10:44.240><c> product</c><00:10:44.519><c> read</c> 00:10:44.829 --> 00:10:44.839 align:start position:0% I'm going to select my product read 00:10:44.839 --> 00:10:46.670 align:start position:0% I'm going to select my product read scope<00:10:45.160><c> so</c><00:10:45.279><c> I</c><00:10:45.360><c> want</c><00:10:45.440><c> to</c><00:10:45.560><c> be</c><00:10:45.639><c> able</c><00:10:45.800><c> to</c><00:10:45.959><c> read</c><00:10:46.320><c> in</c> 00:10:46.670 --> 00:10:46.680 align:start position:0% scope so I want to be able to read in 00:10:46.680 --> 00:10:49.190 align:start position:0% scope so I want to be able to read in product<00:10:47.040><c> data</c><00:10:47.360><c> into</c><00:10:47.639><c> my</c><00:10:47.839><c> app</c><00:10:48.839><c> and</c><00:10:49.000><c> I'm</c><00:10:49.120><c> just</c> 00:10:49.190 --> 00:10:49.200 align:start position:0% product data into my app and I'm just 00:10:49.200 --> 00:10:51.550 align:start position:0% product data into my app and I'm just going<00:10:49.320><c> to</c><00:10:49.399><c> select</c><00:10:49.720><c> the</c><00:10:50.000><c> product</c><00:10:51.000><c> and</c><00:10:51.320><c> I</c><00:10:51.399><c> will</c> 00:10:51.550 --> 00:10:51.560 align:start position:0% going to select the product and I will 00:10:51.560 --> 00:10:54.590 align:start position:0% going to select the product and I will select<00:10:51.920><c> the</c><00:10:52.120><c> product</c><00:10:52.639><c> variant</c><00:10:53.399><c> data</c><00:10:53.720><c> models</c> 00:10:54.590 --> 00:10:54.600 align:start position:0% select the product variant data models 00:10:54.600 --> 00:10:56.629 align:start position:0% select the product variant data models so<00:10:54.720><c> you</c><00:10:54.880><c> see</c><00:10:55.160><c> as</c><00:10:55.320><c> I</c><00:10:55.519><c> did</c><00:10:55.720><c> that</c><00:10:56.160><c> my</c><00:10:56.320><c> setup</c> 00:10:56.629 --> 00:10:56.639 align:start position:0% so you see as I did that my setup 00:10:56.639 --> 00:10:59.269 align:start position:0% so you see as I did that my setup summary<00:10:57.040><c> changed</c><00:10:57.399><c> a</c><00:10:57.560><c> bit</c><00:10:58.200><c> so</c><00:10:58.440><c> Gadget</c><00:10:59.079><c> also</c> 00:10:59.269 --> 00:10:59.279 align:start position:0% summary changed a bit so Gadget also 00:10:59.279 --> 00:11:00.870 align:start position:0% summary changed a bit so Gadget also going<00:10:59.360><c> to</c><00:10:59.600><c> automatically</c><00:11:00.279><c> subscribe</c><00:11:00.720><c> to</c> 00:11:00.870 --> 00:11:00.880 align:start position:0% going to automatically subscribe to 00:11:00.880 --> 00:11:03.030 align:start position:0% going to automatically subscribe to Shopify<00:11:01.399><c> web</c><00:11:01.639><c> hooks</c><00:11:01.839><c> for</c><00:11:02.040><c> me</c><00:11:02.360><c> so</c><00:11:02.480><c> you</c><00:11:02.600><c> can</c><00:11:02.720><c> see</c> 00:11:03.030 --> 00:11:03.040 align:start position:0% Shopify web hooks for me so you can see 00:11:03.040 --> 00:11:05.069 align:start position:0% Shopify web hooks for me so you can see I<00:11:03.120><c> am</c><00:11:03.320><c> subscribing</c><00:11:03.800><c> to</c><00:11:04.000><c> some</c><00:11:04.240><c> shop</c><00:11:04.600><c> web</c><00:11:04.839><c> hooks</c> 00:11:05.069 --> 00:11:05.079 align:start position:0% I am subscribing to some shop web hooks 00:11:05.079 --> 00:11:08.150 align:start position:0% I am subscribing to some shop web hooks so<00:11:05.360><c> when</c><00:11:05.800><c> a</c><00:11:05.959><c> shop</c><00:11:06.240><c> is</c><00:11:06.440><c> updated</c><00:11:07.320><c> or</c> 00:11:08.150 --> 00:11:08.160 align:start position:0% so when a shop is updated or 00:11:08.160 --> 00:11:10.710 align:start position:0% so when a shop is updated or uninstalled<00:11:09.160><c> I</c><00:11:09.240><c> will</c><00:11:09.720><c> get</c><00:11:09.920><c> a</c><00:11:10.120><c> web</c><00:11:10.360><c> hook</c><00:11:10.519><c> for</c> 00:11:10.710 --> 00:11:10.720 align:start position:0% uninstalled I will get a web hook for 00:11:10.720 --> 00:11:13.269 align:start position:0% uninstalled I will get a web hook for that<00:11:11.480><c> as</c><00:11:11.600><c> well</c><00:11:11.839><c> as</c><00:11:12.079><c> my</c><00:11:12.320><c> create</c><00:11:12.760><c> update</c><00:11:13.079><c> and</c> 00:11:13.269 --> 00:11:13.279 align:start position:0% that as well as my create update and 00:11:13.279 --> 00:11:15.509 align:start position:0% that as well as my create update and delete<00:11:13.959><c> product</c><00:11:14.440><c> web</c><00:11:14.680><c> hooks</c><00:11:14.880><c> so</c><00:11:15.079><c> whenever</c><00:11:15.399><c> a</c> 00:11:15.509 --> 00:11:15.519 align:start position:0% delete product web hooks so whenever a 00:11:15.519 --> 00:11:17.269 align:start position:0% delete product web hooks so whenever a merchant<00:11:16.160><c> changes</c><00:11:16.600><c> the</c><00:11:16.760><c> product</c><00:11:17.000><c> in</c><00:11:17.160><c> the</c> 00:11:17.269 --> 00:11:17.279 align:start position:0% merchant changes the product in the 00:11:17.279 --> 00:11:18.990 align:start position:0% merchant changes the product in the admin<00:11:17.680><c> that</c><00:11:17.800><c> could</c><00:11:17.959><c> be</c><00:11:18.079><c> a</c><00:11:18.200><c> trigger</c><00:11:18.519><c> for</c><00:11:18.720><c> an</c> 00:11:18.990 --> 00:11:19.000 align:start position:0% admin that could be a trigger for an 00:11:19.000 --> 00:11:21.230 align:start position:0% admin that could be a trigger for an action<00:11:19.720><c> that</c><00:11:19.959><c> I</c><00:11:20.079><c> want</c><00:11:20.240><c> to</c><00:11:20.360><c> run</c><00:11:20.600><c> as</c><00:11:20.760><c> part</c><00:11:20.880><c> of</c><00:11:21.040><c> my</c> 00:11:21.230 --> 00:11:21.240 align:start position:0% action that I want to run as part of my 00:11:21.240 --> 00:11:23.550 align:start position:0% action that I want to run as part of my app<00:11:21.680><c> so</c><00:11:21.880><c> we</c><00:11:22.120><c> are</c><00:11:22.360><c> subscribing</c><00:11:22.839><c> to</c><00:11:23.040><c> web</c><00:11:23.240><c> hooks</c> 00:11:23.550 --> 00:11:23.560 align:start position:0% app so we are subscribing to web hooks 00:11:23.560 --> 00:11:25.790 align:start position:0% app so we are subscribing to web hooks for<00:11:23.800><c> you</c><00:11:24.440><c> you</c><00:11:24.600><c> also</c><00:11:24.760><c> get</c><00:11:24.839><c> an</c><00:11:24.959><c> overview</c><00:11:25.360><c> of</c><00:11:25.560><c> the</c> 00:11:25.790 --> 00:11:25.800 align:start position:0% for you you also get an overview of the 00:11:25.800 --> 00:11:27.629 align:start position:0% for you you also get an overview of the models<00:11:26.440><c> that</c><00:11:26.560><c> we</c><00:11:26.680><c> are</c><00:11:26.800><c> going</c><00:11:26.880><c> to</c><00:11:27.000><c> sync</c><00:11:27.399><c> data</c> 00:11:27.629 --> 00:11:27.639 align:start position:0% models that we are going to sync data 00:11:27.639 --> 00:11:30.030 align:start position:0% models that we are going to sync data for<00:11:27.959><c> automatically</c><00:11:29.279><c> you</c><00:11:29.399><c> can</c><00:11:29.560><c> scroll</c><00:11:29.839><c> down</c> 00:11:30.030 --> 00:11:30.040 align:start position:0% for automatically you can scroll down 00:11:30.040 --> 00:11:32.190 align:start position:0% for automatically you can scroll down this<00:11:30.200><c> page</c><00:11:30.480><c> we</c><00:11:30.560><c> do</c><00:11:30.760><c> have</c><00:11:30.920><c> a</c><00:11:31.120><c> heap</c><00:11:31.360><c> of</c><00:11:31.519><c> models</c> 00:11:32.190 --> 00:11:32.200 align:start position:0% this page we do have a heap of models 00:11:32.200 --> 00:11:34.990 align:start position:0% this page we do have a heap of models available<00:11:33.200><c> uh</c><00:11:33.440><c> so</c><00:11:33.760><c> if</c><00:11:33.880><c> you</c><00:11:34.000><c> are</c><00:11:34.240><c> getting</c><00:11:34.480><c> into</c> 00:11:34.990 --> 00:11:35.000 align:start position:0% available uh so if you are getting into 00:11:35.000 --> 00:11:36.350 align:start position:0% available uh so if you are getting into public<00:11:35.320><c> app</c><00:11:35.519><c> development</c><00:11:35.959><c> at</c><00:11:36.040><c> the</c><00:11:36.160><c> very</c> 00:11:36.350 --> 00:11:36.360 align:start position:0% public app development at the very 00:11:36.360 --> 00:11:38.910 align:start position:0% public app development at the very bottom<00:11:36.600><c> we</c><00:11:36.720><c> also</c><00:11:36.880><c> have</c><00:11:37.120><c> billing</c><00:11:37.920><c> resources</c> 00:11:38.910 --> 00:11:38.920 align:start position:0% bottom we also have billing resources 00:11:38.920 --> 00:11:40.069 align:start position:0% bottom we also have billing resources I'm<00:11:39.040><c> just</c><00:11:39.160><c> going</c><00:11:39.240><c> to</c><00:11:39.399><c> go</c><00:11:39.519><c> ahead</c><00:11:39.720><c> and</c><00:11:39.839><c> press</c> 00:11:40.069 --> 00:11:40.079 align:start position:0% I'm just going to go ahead and press 00:11:40.079 --> 00:11:43.069 align:start position:0% I'm just going to go ahead and press confirm<00:11:40.440><c> with</c><00:11:40.600><c> my</c><00:11:40.839><c> product</c><00:11:41.160><c> selections</c> 00:11:43.069 --> 00:11:43.079 align:start position:0% confirm with my product selections 00:11:43.079 --> 00:11:46.030 align:start position:0% confirm with my product selections now<00:11:44.079><c> you'll</c><00:11:44.320><c> notice</c><00:11:44.720><c> that</c><00:11:45.000><c> the</c><00:11:45.560><c> product</c><00:11:45.839><c> and</c> 00:11:46.030 --> 00:11:46.040 align:start position:0% now you'll notice that the product and 00:11:46.040 --> 00:11:47.790 align:start position:0% now you'll notice that the product and product<00:11:46.360><c> variant</c><00:11:46.680><c> data</c><00:11:46.920><c> models</c><00:11:47.399><c> have</c><00:11:47.560><c> been</c> 00:11:47.790 --> 00:11:47.800 align:start position:0% product variant data models have been 00:11:47.800 --> 00:11:50.629 align:start position:0% product variant data models have been added<00:11:48.040><c> to</c><00:11:48.200><c> my</c><00:11:48.399><c> app</c><00:11:49.000><c> as</c><00:11:49.160><c> well</c><00:11:49.320><c> as</c><00:11:49.519><c> shop</c><00:11:50.000><c> gdpr</c> 00:11:50.629 --> 00:11:50.639 align:start position:0% added to my app as well as shop gdpr 00:11:50.639 --> 00:11:52.269 align:start position:0% added to my app as well as shop gdpr requests<00:11:51.000><c> and</c><00:11:51.120><c> sync</c><00:11:51.360><c> models</c><00:11:51.720><c> which</c><00:11:51.839><c> are</c><00:11:52.000><c> added</c> 00:11:52.269 --> 00:11:52.279 align:start position:0% requests and sync models which are added 00:11:52.279 --> 00:11:55.430 align:start position:0% requests and sync models which are added to<00:11:52.720><c> every</c><00:11:53.639><c> Gadget</c><00:11:54.120><c> app</c><00:11:54.440><c> when</c><00:11:54.560><c> you</c><00:11:54.720><c> connect</c><00:11:55.000><c> to</c> 00:11:55.430 --> 00:11:55.440 align:start position:0% to every Gadget app when you connect to 00:11:55.440 --> 00:11:57.389 align:start position:0% to every Gadget app when you connect to Shopify<00:11:56.440><c> I'm</c><00:11:56.519><c> going</c><00:11:56.600><c> to</c><00:11:56.760><c> get</c><00:11:56.920><c> back</c><00:11:57.040><c> to</c><00:11:57.200><c> those</c> 00:11:57.389 --> 00:11:57.399 align:start position:0% Shopify I'm going to get back to those 00:11:57.399 --> 00:11:58.550 align:start position:0% Shopify I'm going to get back to those in<00:11:57.519><c> a</c><00:11:57.639><c> little</c><00:11:57.839><c> bit</c><00:11:58.079><c> I'm</c><00:11:58.160><c> going</c><00:11:58.279><c> to</c><00:11:58.360><c> finish</c> 00:11:58.550 --> 00:11:58.560 align:start position:0% in a little bit I'm going to finish 00:11:58.560 --> 00:12:01.069 align:start position:0% in a little bit I'm going to finish setting<00:11:58.839><c> up</c><00:11:59.120><c> my</c><00:11:59.240><c> connection</c><00:11:59.839><c> first</c><00:12:00.639><c> so</c><00:12:00.880><c> we</c> 00:12:01.069 --> 00:12:01.079 align:start position:0% setting up my connection first so we 00:12:01.079 --> 00:12:02.550 align:start position:0% setting up my connection first so we give<00:12:01.240><c> you</c><00:12:01.440><c> this</c><00:12:01.600><c> app</c><00:12:01.760><c> URL</c><00:12:02.000><c> and</c><00:12:02.120><c> redirection</c> 00:12:02.550 --> 00:12:02.560 align:start position:0% give you this app URL and redirection 00:12:02.560 --> 00:12:05.990 align:start position:0% give you this app URL and redirection URL<00:12:03.000><c> I</c><00:12:03.079><c> need</c><00:12:03.200><c> to</c><00:12:03.440><c> copy</c><00:12:03.760><c> these</c><00:12:04.360><c> values</c><00:12:05.360><c> go</c><00:12:05.720><c> back</c> 00:12:05.990 --> 00:12:06.000 align:start position:0% URL I need to copy these values go back 00:12:06.000 --> 00:12:08.750 align:start position:0% URL I need to copy these values go back to<00:12:06.200><c> my</c><00:12:06.399><c> partners</c><00:12:06.920><c> app</c><00:12:07.800><c> click</c><00:12:08.040><c> on</c><00:12:08.200><c> the</c><00:12:08.440><c> app</c> 00:12:08.750 --> 00:12:08.760 align:start position:0% to my partners app click on the app 00:12:08.760 --> 00:12:09.949 align:start position:0% to my partners app click on the app setup 00:12:09.949 --> 00:12:09.959 align:start position:0% setup 00:12:09.959 --> 00:12:12.949 align:start position:0% setup Tab<00:12:10.959><c> and</c><00:12:11.240><c> paste</c><00:12:11.519><c> in</c><00:12:11.760><c> this</c><00:12:11.920><c> app</c> 00:12:12.949 --> 00:12:12.959 align:start position:0% Tab and paste in this app 00:12:12.959 --> 00:12:16.750 align:start position:0% Tab and paste in this app URL<00:12:13.959><c> and</c><00:12:14.160><c> this</c><00:12:14.320><c> redirection</c> 00:12:16.750 --> 00:12:16.760 align:start position:0% URL and this redirection 00:12:16.760 --> 00:12:22.230 align:start position:0% URL and this redirection URL<00:12:17.760><c> and</c><00:12:18.079><c> I</c><00:12:18.199><c> will</c><00:12:18.600><c> press</c><00:12:19.240><c> save</c> 00:12:22.230 --> 00:12:22.240 align:start position:0% 00:12:22.240 --> 00:12:27.750 align:start position:0% here<00:12:23.240><c> perfect</c><00:12:24.199><c> so</c><00:12:25.040><c> now</c><00:12:25.800><c> my</c><00:12:26.120><c> app</c><00:12:26.639><c> is</c><00:12:27.320><c> ready</c><00:12:27.600><c> to</c> 00:12:27.750 --> 00:12:27.760 align:start position:0% here perfect so now my app is ready to 00:12:27.760 --> 00:12:29.910 align:start position:0% here perfect so now my app is ready to be<00:12:27.959><c> installed</c><00:12:28.440><c> on</c><00:12:28.600><c> my</c><00:12:28.920><c> shop</c><00:12:29.480><c> so</c><00:12:29.600><c> I'm</c><00:12:29.680><c> going</c><00:12:29.800><c> to</c> 00:12:29.910 --> 00:12:29.920 align:start position:0% be installed on my shop so I'm going to 00:12:29.920 --> 00:12:30.870 align:start position:0% be installed on my shop so I'm going to go<00:12:30.040><c> back</c><00:12:30.160><c> to</c> 00:12:30.870 --> 00:12:30.880 align:start position:0% go back to 00:12:30.880 --> 00:12:34.030 align:start position:0% go back to overview<00:12:31.880><c> I</c><00:12:31.959><c> can</c><00:12:32.160><c> go</c><00:12:32.320><c> ahead</c><00:12:33.079><c> and</c><00:12:33.320><c> click</c><00:12:33.720><c> select</c> 00:12:34.030 --> 00:12:34.040 align:start position:0% overview I can go ahead and click select 00:12:34.040 --> 00:12:36.870 align:start position:0% overview I can go ahead and click select store<00:12:34.360><c> in</c><00:12:34.480><c> the</c><00:12:34.639><c> test</c><00:12:34.920><c> your</c><00:12:35.120><c> app</c><00:12:35.639><c> section</c><00:12:36.639><c> and</c> 00:12:36.870 --> 00:12:36.880 align:start position:0% store in the test your app section and 00:12:36.880 --> 00:12:38.430 align:start position:0% store in the test your app section and I'm<00:12:37.000><c> going</c><00:12:37.079><c> to</c><00:12:37.240><c> go</c><00:12:37.320><c> ahead</c><00:12:37.560><c> and</c><00:12:37.680><c> select</c><00:12:38.000><c> my</c><00:12:38.160><c> cart</c> 00:12:38.430 --> 00:12:38.440 align:start position:0% I'm going to go ahead and select my cart 00:12:38.440 --> 00:12:40.590 align:start position:0% I'm going to go ahead and select my cart transform<00:12:39.040><c> testing</c><00:12:39.600><c> store</c><00:12:40.079><c> my</c><00:12:40.199><c> brand</c><00:12:40.440><c> new</c> 00:12:40.590 --> 00:12:40.600 align:start position:0% transform testing store my brand new 00:12:40.600 --> 00:12:42.790 align:start position:0% transform testing store my brand new development<00:12:41.079><c> store</c><00:12:42.000><c> so</c><00:12:42.120><c> I</c><00:12:42.199><c> haven't</c><00:12:42.440><c> written</c><00:12:42.680><c> a</c> 00:12:42.790 --> 00:12:42.800 align:start position:0% development store so I haven't written a 00:12:42.800 --> 00:12:44.509 align:start position:0% development store so I haven't written a line<00:12:42.959><c> of</c><00:12:43.120><c> oo</c><00:12:43.560><c> code</c><00:12:44.040><c> that's</c><00:12:44.160><c> what's</c><00:12:44.360><c> really</c> 00:12:44.509 --> 00:12:44.519 align:start position:0% line of oo code that's what's really 00:12:44.519 --> 00:12:45.870 align:start position:0% line of oo code that's what's really great<00:12:44.720><c> about</c><00:12:45.000><c> Gadget</c><00:12:45.399><c> is</c><00:12:45.519><c> it's</c><00:12:45.639><c> going</c><00:12:45.760><c> to</c> 00:12:45.870 --> 00:12:45.880 align:start position:0% great about Gadget is it's going to 00:12:45.880 --> 00:12:47.710 align:start position:0% great about Gadget is it's going to handle<00:12:46.199><c> all</c><00:12:46.320><c> of</c><00:12:46.440><c> the</c><00:12:46.560><c> oo</c><00:12:46.959><c> for</c><00:12:47.160><c> me</c><00:12:47.320><c> so</c><00:12:47.480><c> I</c><00:12:47.560><c> can</c> 00:12:47.710 --> 00:12:47.720 align:start position:0% handle all of the oo for me so I can 00:12:47.720 --> 00:12:50.590 align:start position:0% handle all of the oo for me so I can just<00:12:47.959><c> directly</c><00:12:48.519><c> install</c><00:12:48.959><c> my</c><00:12:49.160><c> app</c><00:12:49.399><c> on</c><00:12:49.519><c> a</c><00:12:49.680><c> store</c> 00:12:50.590 --> 00:12:50.600 align:start position:0% just directly install my app on a store 00:12:50.600 --> 00:12:57.230 align:start position:0% just directly install my app on a store so<00:12:50.760><c> I'll</c><00:12:50.839><c> just</c><00:12:50.959><c> click</c><00:12:51.160><c> the</c><00:12:51.240><c> install</c><00:12:51.639><c> app</c> 00:12:57.230 --> 00:12:57.240 align:start position:0% 00:12:57.240 --> 00:12:59.389 align:start position:0% button<00:12:58.240><c> and</c><00:12:58.480><c> voila</c> 00:12:59.389 --> 00:12:59.399 align:start position:0% button and voila 00:12:59.399 --> 00:13:01.189 align:start position:0% button and voila this<00:12:59.519><c> is</c><00:12:59.680><c> my</c><00:12:59.880><c> embedded</c><00:13:00.320><c> app</c><00:13:00.480><c> you</c><00:13:00.639><c> notice</c><00:13:00.880><c> we're</c> 00:13:01.189 --> 00:13:01.199 align:start position:0% this is my embedded app you notice we're 00:13:01.199 --> 00:13:04.430 align:start position:0% this is my embedded app you notice we're back<00:13:01.600><c> in</c><00:13:01.839><c> this</c><00:13:02.000><c> store's</c><00:13:02.639><c> admin</c><00:13:03.560><c> under</c><00:13:03.880><c> the</c><00:13:04.120><c> app</c> 00:13:04.430 --> 00:13:04.440 align:start position:0% back in this store's admin under the app 00:13:04.440 --> 00:13:06.350 align:start position:0% back in this store's admin under the app section<00:13:04.839><c> there</c><00:13:05.000><c> is</c><00:13:05.279><c> my</c><00:13:05.480><c> first</c><00:13:05.839><c> app</c><00:13:06.120><c> and</c><00:13:06.279><c> this</c> 00:13:06.350 --> 00:13:06.360 align:start position:0% section there is my first app and this 00:13:06.360 --> 00:13:09.829 align:start position:0% section there is my first app and this is<00:13:06.560><c> just</c><00:13:06.920><c> a</c><00:13:07.399><c> shop</c><00:13:07.959><c> information</c><00:13:08.680><c> page</c><00:13:09.440><c> this</c><00:13:09.560><c> is</c> 00:13:09.829 --> 00:13:09.839 align:start position:0% is just a shop information page this is 00:13:09.839 --> 00:13:12.030 align:start position:0% is just a shop information page this is actually<00:13:10.120><c> a</c><00:13:10.320><c> react</c><00:13:10.720><c> front</c><00:13:10.959><c> end</c><00:13:11.480><c> that</c><00:13:11.600><c> is</c> 00:13:12.030 --> 00:13:12.040 align:start position:0% actually a react front end that is 00:13:12.040 --> 00:13:13.829 align:start position:0% actually a react front end that is included<00:13:12.519><c> and</c><00:13:12.720><c> hosted</c><00:13:13.199><c> as</c><00:13:13.360><c> part</c><00:13:13.480><c> of</c><00:13:13.600><c> your</c> 00:13:13.829 --> 00:13:13.839 align:start position:0% included and hosted as part of your 00:13:13.839 --> 00:13:16.230 align:start position:0% included and hosted as part of your Gadget<00:13:14.279><c> project</c><00:13:15.000><c> so</c><00:13:15.120><c> if</c><00:13:15.199><c> I</c><00:13:15.360><c> go</c><00:13:15.480><c> back</c><00:13:15.600><c> to</c><00:13:15.839><c> gadget</c> 00:13:16.230 --> 00:13:16.240 align:start position:0% Gadget project so if I go back to gadget 00:13:16.240 --> 00:13:18.389 align:start position:0% Gadget project so if I go back to gadget here<00:13:17.040><c> click</c><00:13:17.240><c> on</c><00:13:17.360><c> the</c><00:13:17.480><c> front</c><00:13:17.680><c> end</c><00:13:17.880><c> folder</c><00:13:18.279><c> and</c> 00:13:18.389 --> 00:13:18.399 align:start position:0% here click on the front end folder and 00:13:18.399 --> 00:13:19.790 align:start position:0% here click on the front end folder and go<00:13:18.480><c> to</c><00:13:18.600><c> shop</c><00:13:18.920><c> page</c> 00:13:19.790 --> 00:13:19.800 align:start position:0% go to shop page 00:13:19.800 --> 00:13:23.389 align:start position:0% go to shop page jsx<00:13:20.800><c> this</c><00:13:21.079><c> is</c><00:13:21.399><c> the</c><00:13:22.160><c> page</c><00:13:22.519><c> that</c><00:13:22.680><c> is</c><00:13:22.959><c> actually</c> 00:13:23.389 --> 00:13:23.399 align:start position:0% jsx this is the page that is actually 00:13:23.399 --> 00:13:25.829 align:start position:0% jsx this is the page that is actually powering<00:13:24.279><c> that</c><00:13:24.560><c> front</c><00:13:24.880><c> end</c><00:13:25.240><c> here</c><00:13:25.399><c> so</c><00:13:25.519><c> you</c><00:13:25.639><c> see</c> 00:13:25.829 --> 00:13:25.839 align:start position:0% powering that front end here so you see 00:13:25.839 --> 00:13:29.389 align:start position:0% powering that front end here so you see there<00:13:25.959><c> is</c><00:13:26.160><c> a</c><00:13:26.880><c> banner</c><00:13:27.720><c> with</c><00:13:27.839><c> a</c><00:13:28.079><c> title</c><00:13:28.880><c> your</c><00:13:29.120><c> app</c> 00:13:29.389 --> 00:13:29.399 align:start position:0% there is a banner with a title your app 00:13:29.399 --> 00:13:31.750 align:start position:0% there is a banner with a title your app is<00:13:29.560><c> successfully</c><00:13:30.079><c> connected</c><00:13:30.440><c> to</c><00:13:30.639><c> Shopify</c><00:13:31.639><c> if</c> 00:13:31.750 --> 00:13:31.760 align:start position:0% is successfully connected to Shopify if 00:13:31.760 --> 00:13:34.509 align:start position:0% is successfully connected to Shopify if I<00:13:31.880><c> go</c><00:13:32.120><c> back</c><00:13:32.320><c> here</c><00:13:32.760><c> my</c><00:13:32.959><c> very</c><00:13:33.199><c> first</c><00:13:33.639><c> Shopify</c><00:13:34.320><c> is</c> 00:13:34.509 --> 00:13:34.519 align:start position:0% I go back here my very first Shopify is 00:13:34.519 --> 00:13:36.990 align:start position:0% I go back here my very first Shopify is successfully<00:13:35.000><c> connected</c><00:13:35.360><c> to</c><00:13:35.839><c> Shopify</c><00:13:36.839><c> so</c> 00:13:36.990 --> 00:13:37.000 align:start position:0% successfully connected to Shopify so 00:13:37.000 --> 00:13:39.470 align:start position:0% successfully connected to Shopify so this<00:13:37.120><c> react</c><00:13:37.399><c> front</c><00:13:37.639><c> end</c><00:13:37.959><c> is</c><00:13:38.240><c> styled</c><00:13:38.959><c> using</c> 00:13:39.470 --> 00:13:39.480 align:start position:0% this react front end is styled using 00:13:39.480 --> 00:13:42.269 align:start position:0% this react front end is styled using shopify's<00:13:40.399><c> Polaris</c><00:13:41.000><c> component</c><00:13:41.480><c> Library</c> 00:13:42.269 --> 00:13:42.279 align:start position:0% shopify's Polaris component Library 00:13:42.279 --> 00:13:44.230 align:start position:0% shopify's Polaris component Library Gadget<00:13:42.720><c> automatically</c><00:13:43.320><c> installed</c><00:13:43.880><c> this</c><00:13:44.040><c> for</c> 00:13:44.230 --> 00:13:44.240 align:start position:0% Gadget automatically installed this for 00:13:44.240 --> 00:13:45.870 align:start position:0% Gadget automatically installed this for you<00:13:44.480><c> when</c><00:13:44.600><c> you</c><00:13:44.839><c> set</c><00:13:45.000><c> up</c><00:13:45.120><c> your</c><00:13:45.240><c> connection</c><00:13:45.519><c> to</c> 00:13:45.870 --> 00:13:45.880 align:start position:0% you when you set up your connection to 00:13:45.880 --> 00:13:48.030 align:start position:0% you when you set up your connection to Shopify<00:13:46.880><c> so</c><00:13:47.079><c> if</c><00:13:47.160><c> I</c><00:13:47.320><c> just</c><00:13:47.440><c> go</c><00:13:47.600><c> over</c><00:13:47.720><c> to</c><00:13:47.880><c> the</c> 00:13:48.030 --> 00:13:48.040 align:start position:0% Shopify so if I just go over to the 00:13:48.040 --> 00:13:50.710 align:start position:0% Shopify so if I just go over to the Polaris<00:13:48.639><c> docs</c><00:13:49.639><c> I</c><00:13:49.720><c> will</c><00:13:49.959><c> include</c><00:13:50.240><c> a</c><00:13:50.360><c> link</c><00:13:50.560><c> to</c> 00:13:50.710 --> 00:13:50.720 align:start position:0% Polaris docs I will include a link to 00:13:50.720 --> 00:13:53.389 align:start position:0% Polaris docs I will include a link to these<00:13:50.920><c> docs</c><00:13:51.320><c> in</c><00:13:51.440><c> the</c><00:13:52.040><c> description</c><00:13:53.040><c> but</c><00:13:53.160><c> if</c><00:13:53.240><c> I</c> 00:13:53.389 --> 00:13:53.399 align:start position:0% these docs in the description but if I 00:13:53.399 --> 00:13:55.949 align:start position:0% these docs in the description but if I click<00:13:53.560><c> on</c><00:13:53.759><c> components</c><00:13:54.680><c> you</c><00:13:54.839><c> can</c><00:13:55.040><c> see</c><00:13:55.680><c> there's</c> 00:13:55.949 --> 00:13:55.959 align:start position:0% click on components you can see there's 00:13:55.959 --> 00:13:57.790 align:start position:0% click on components you can see there's lots<00:13:56.120><c> of</c><00:13:56.320><c> components</c><00:13:56.759><c> you</c><00:13:56.880><c> can</c><00:13:57.040><c> use</c><00:13:57.360><c> these</c><00:13:57.600><c> to</c> 00:13:57.790 --> 00:13:57.800 align:start position:0% lots of components you can use these to 00:13:57.800 --> 00:14:00.470 align:start position:0% lots of components you can use these to build<00:13:58.320><c> native</c><00:13:58.880><c> feeling</c><00:13:59.399><c> apps</c><00:13:59.920><c> so</c><00:14:00.120><c> that</c><00:14:00.279><c> your</c> 00:14:00.470 --> 00:14:00.480 align:start position:0% build native feeling apps so that your 00:14:00.480 --> 00:14:02.189 align:start position:0% build native feeling apps so that your app<00:14:00.800><c> Blends</c><00:14:01.199><c> in</c><00:14:01.519><c> with</c><00:14:01.639><c> the</c><00:14:01.759><c> rest</c><00:14:01.920><c> of</c><00:14:02.079><c> the</c> 00:14:02.189 --> 00:14:02.199 align:start position:0% app Blends in with the rest of the 00:14:02.199 --> 00:14:04.629 align:start position:0% app Blends in with the rest of the Shopify<00:14:02.759><c> admin</c><00:14:03.160><c> which</c><00:14:03.279><c> is</c><00:14:03.440><c> really</c><00:14:03.680><c> nice</c><00:14:04.279><c> so</c><00:14:04.519><c> if</c> 00:14:04.629 --> 00:14:04.639 align:start position:0% Shopify admin which is really nice so if 00:14:04.639 --> 00:14:06.829 align:start position:0% Shopify admin which is really nice so if I<00:14:04.759><c> scroll</c><00:14:05.120><c> down</c><00:14:05.399><c> here</c><00:14:06.000><c> I</c><00:14:06.079><c> should</c><00:14:06.279><c> be</c><00:14:06.399><c> able</c><00:14:06.600><c> to</c> 00:14:06.829 --> 00:14:06.839 align:start position:0% I scroll down here I should be able to 00:14:06.839 --> 00:14:09.269 align:start position:0% I scroll down here I should be able to find<00:14:07.120><c> a</c><00:14:07.279><c> banner</c> 00:14:09.269 --> 00:14:09.279 align:start position:0% find a banner 00:14:09.279 --> 00:14:12.590 align:start position:0% find a banner component<00:14:10.279><c> and</c><00:14:10.600><c> that</c><00:14:10.800><c> looks</c><00:14:11.279><c> pretty</c><00:14:11.880><c> familiar</c> 00:14:12.590 --> 00:14:12.600 align:start position:0% component and that looks pretty familiar 00:14:12.600 --> 00:14:14.910 align:start position:0% component and that looks pretty familiar if<00:14:12.800><c> I</c><00:14:13.040><c> go</c><00:14:13.519><c> back</c><00:14:13.759><c> here</c><00:14:14.079><c> so</c><00:14:14.320><c> it</c><00:14:14.399><c> is</c><00:14:14.560><c> the</c><00:14:14.720><c> same</c> 00:14:14.910 --> 00:14:14.920 align:start position:0% if I go back here so it is the same 00:14:14.920 --> 00:14:16.749 align:start position:0% if I go back here so it is the same Banner<00:14:15.240><c> component</c><00:14:15.639><c> it'll</c><00:14:15.880><c> look</c><00:14:16.120><c> the</c><00:14:16.240><c> same</c><00:14:16.480><c> as</c> 00:14:16.749 --> 00:14:16.759 align:start position:0% Banner component it'll look the same as 00:14:16.759 --> 00:14:18.990 align:start position:0% Banner component it'll look the same as every<00:14:17.040><c> other</c><00:14:17.320><c> Banner</c><00:14:18.079><c> that</c><00:14:18.199><c> is</c><00:14:18.360><c> used</c><00:14:18.680><c> in</c><00:14:18.800><c> the</c> 00:14:18.990 --> 00:14:19.000 align:start position:0% every other Banner that is used in the 00:14:19.000 --> 00:14:22.110 align:start position:0% every other Banner that is used in the admin<00:14:19.519><c> if</c><00:14:19.720><c> the</c><00:14:20.000><c> app</c><00:14:20.320><c> is</c><00:14:20.480><c> built</c><00:14:20.839><c> on</c> 00:14:22.110 --> 00:14:22.120 align:start position:0% admin if the app is built on 00:14:22.120 --> 00:14:24.629 align:start position:0% admin if the app is built on Polaris<00:14:23.120><c> so</c><00:14:23.320><c> that's</c><00:14:23.480><c> wonderful</c><00:14:24.279><c> the</c><00:14:24.440><c> next</c> 00:14:24.629 --> 00:14:24.639 align:start position:0% Polaris so that's wonderful the next 00:14:24.639 --> 00:14:28.110 align:start position:0% Polaris so that's wonderful the next thing<00:14:24.959><c> I</c><00:14:25.040><c> want</c><00:14:25.199><c> to</c><00:14:25.360><c> mention</c><00:14:26.040><c> is</c><00:14:26.680><c> web</c><00:14:26.959><c> hooks</c><00:14:27.839><c> so</c> 00:14:28.110 --> 00:14:28.120 align:start position:0% thing I want to mention is web hooks so 00:14:28.120 --> 00:14:31.150 align:start position:0% thing I want to mention is web hooks so if<00:14:28.279><c> I</c><00:14:28.440><c> go</c><00:14:29.160><c> back</c><00:14:29.320><c> to</c><00:14:29.519><c> my</c><00:14:29.720><c> Gadget</c><00:14:30.120><c> app</c><00:14:30.839><c> and</c><00:14:31.000><c> click</c> 00:14:31.150 --> 00:14:31.160 align:start position:0% if I go back to my Gadget app and click 00:14:31.160 --> 00:14:34.470 align:start position:0% if I go back to my Gadget app and click on<00:14:31.320><c> my</c><00:14:31.480><c> Shopify</c><00:14:32.320><c> product</c><00:14:32.880><c> model</c><00:14:33.880><c> you</c><00:14:34.000><c> see</c><00:14:34.320><c> a</c> 00:14:34.470 --> 00:14:34.480 align:start position:0% on my Shopify product model you see a 00:14:34.480 --> 00:14:38.990 align:start position:0% on my Shopify product model you see a model<00:14:34.759><c> is</c><00:14:34.959><c> like</c><00:14:35.199><c> a</c><00:14:36.120><c> table</c><00:14:37.040><c> in</c><00:14:37.279><c> a</c><00:14:37.800><c> database</c><00:14:38.800><c> and</c> 00:14:38.990 --> 00:14:39.000 align:start position:0% model is like a table in a database and 00:14:39.000 --> 00:14:41.550 align:start position:0% model is like a table in a database and we<00:14:39.199><c> have</c><00:14:39.440><c> these</c><00:14:39.639><c> fields</c><00:14:40.120><c> so</c><00:14:40.360><c> these</c><00:14:40.560><c> fields</c><00:14:41.440><c> if</c> 00:14:41.550 --> 00:14:41.560 align:start position:0% we have these fields so these fields if 00:14:41.560 --> 00:14:43.670 align:start position:0% we have these fields so these fields if we<00:14:41.720><c> take</c><00:14:41.880><c> a</c><00:14:42.040><c> look</c><00:14:42.160><c> at</c><00:14:42.360><c> them</c><00:14:42.880><c> and</c><00:14:43.120><c> compare</c><00:14:43.480><c> them</c> 00:14:43.670 --> 00:14:43.680 align:start position:0% we take a look at them and compare them 00:14:43.680 --> 00:14:45.949 align:start position:0% we take a look at them and compare them to<00:14:43.920><c> the</c><00:14:44.720><c> product</c><00:14:45.000><c> resource</c><00:14:45.399><c> from</c><00:14:45.519><c> the</c><00:14:45.639><c> rest</c> 00:14:45.949 --> 00:14:45.959 align:start position:0% to the product resource from the rest 00:14:45.959 --> 00:14:50.949 align:start position:0% to the product resource from the rest API<00:14:46.959><c> they</c><00:14:47.079><c> should</c><00:14:47.639><c> match</c><00:14:48.079><c> up</c><00:14:48.519><c> so</c><00:14:48.800><c> that</c><00:14:48.959><c> is</c> 00:14:50.949 --> 00:14:50.959 align:start position:0% API they should match up so that is 00:14:50.959 --> 00:14:54.189 align:start position:0% API they should match up so that is great<00:14:51.959><c> we</c><00:14:52.120><c> also</c><00:14:52.399><c> have</c><00:14:52.839><c> some</c><00:14:53.240><c> crud</c><00:14:53.680><c> actions</c> 00:14:54.189 --> 00:14:54.199 align:start position:0% great we also have some crud actions 00:14:54.199 --> 00:14:56.230 align:start position:0% great we also have some crud actions generated<00:14:54.800><c> automatically</c><00:14:55.399><c> for</c><00:14:55.639><c> you</c><00:14:55.880><c> for</c><00:14:56.120><c> this</c> 00:14:56.230 --> 00:14:56.240 align:start position:0% generated automatically for you for this 00:14:56.240 --> 00:14:58.069 align:start position:0% generated automatically for you for this Shopify<00:14:56.880><c> product</c><00:14:57.199><c> model</c><00:14:57.519><c> so</c><00:14:57.639><c> you</c><00:14:57.720><c> see</c><00:14:57.880><c> there's</c> 00:14:58.069 --> 00:14:58.079 align:start position:0% Shopify product model so you see there's 00:14:58.079 --> 00:14:59.790 align:start position:0% Shopify product model so you see there's create<00:14:58.320><c> update</c><00:14:58.800><c> and</c><00:14:58.920><c> delete</c><00:14:59.240><c> actions</c><00:14:59.600><c> there's</c> 00:14:59.790 --> 00:14:59.800 align:start position:0% create update and delete actions there's 00:14:59.800 --> 00:15:01.150 align:start position:0% create update and delete actions there's also<00:15:00.000><c> a</c><00:15:00.120><c> read</c> 00:15:01.150 --> 00:15:01.160 align:start position:0% also a read 00:15:01.160 --> 00:15:04.910 align:start position:0% also a read API<00:15:02.160><c> if</c><00:15:02.279><c> I</c><00:15:02.480><c> go</c><00:15:02.680><c> over</c><00:15:03.639><c> across</c><00:15:04.040><c> the</c><00:15:04.199><c> code</c><00:15:04.480><c> you</c><00:15:04.639><c> can</c> 00:15:04.910 --> 00:15:04.920 align:start position:0% API if I go over across the code you can 00:15:04.920 --> 00:15:07.069 align:start position:0% API if I go over across the code you can add<00:15:05.240><c> custom</c><00:15:05.680><c> code</c><00:15:06.240><c> and</c><00:15:06.360><c> this</c><00:15:06.480><c> is</c><00:15:06.639><c> your</c><00:15:06.839><c> app</c> 00:15:07.069 --> 00:15:07.079 align:start position:0% add custom code and this is your app 00:15:07.079 --> 00:15:09.310 align:start position:0% add custom code and this is your app backend<00:15:07.519><c> in</c><00:15:07.680><c> node.js</c><00:15:08.160><c> so</c><00:15:08.560><c> if</c><00:15:08.639><c> you</c><00:15:08.720><c> are</c><00:15:08.920><c> writing</c> 00:15:09.310 --> 00:15:09.320 align:start position:0% backend in node.js so if you are writing 00:15:09.320 --> 00:15:10.670 align:start position:0% backend in node.js so if you are writing custom<00:15:09.680><c> functionality</c><00:15:10.279><c> that</c><00:15:10.440><c> happens</c> 00:15:10.670 --> 00:15:10.680 align:start position:0% custom functionality that happens 00:15:10.680 --> 00:15:12.150 align:start position:0% custom functionality that happens whenever<00:15:10.959><c> you</c><00:15:11.079><c> create</c><00:15:11.320><c> a</c><00:15:11.480><c> product</c><00:15:11.920><c> this</c><00:15:12.040><c> is</c> 00:15:12.150 --> 00:15:12.160 align:start position:0% whenever you create a product this is 00:15:12.160 --> 00:15:14.110 align:start position:0% whenever you create a product this is where<00:15:12.279><c> you'd</c><00:15:12.560><c> add</c><00:15:12.759><c> it</c><00:15:13.440><c> I'm</c><00:15:13.560><c> not</c><00:15:13.680><c> going</c><00:15:13.800><c> to</c><00:15:13.959><c> get</c> 00:15:14.110 --> 00:15:14.120 align:start position:0% where you'd add it I'm not going to get 00:15:14.120 --> 00:15:16.350 align:start position:0% where you'd add it I'm not going to get into<00:15:15.000><c> what</c><00:15:15.120><c> the</c><00:15:15.279><c> Run</c><00:15:15.480><c> andon</c><00:15:15.920><c> success</c> 00:15:16.350 --> 00:15:16.360 align:start position:0% into what the Run andon success 00:15:16.360 --> 00:15:18.230 align:start position:0% into what the Run andon success functions<00:15:17.199><c> mean</c><00:15:17.600><c> right</c><00:15:17.759><c> now</c><00:15:17.920><c> I'm</c><00:15:18.000><c> not</c><00:15:18.120><c> going</c> 00:15:18.230 --> 00:15:18.240 align:start position:0% functions mean right now I'm not going 00:15:18.240 --> 00:15:19.749 align:start position:0% functions mean right now I'm not going to<00:15:18.360><c> go</c><00:15:18.480><c> through</c><00:15:18.720><c> Gadget</c><00:15:19.120><c> stuff</c><00:15:19.480><c> I</c><00:15:19.560><c> do</c> 00:15:19.749 --> 00:15:19.759 align:start position:0% to go through Gadget stuff I do 00:15:19.759 --> 00:15:21.310 align:start position:0% to go through Gadget stuff I do recommend<00:15:20.160><c> going</c><00:15:20.320><c> to</c><00:15:20.480><c> our</c><00:15:20.639><c> product</c><00:15:20.920><c> tager</c> 00:15:21.310 --> 00:15:21.320 align:start position:0% recommend going to our product tager 00:15:21.320 --> 00:15:23.670 align:start position:0% recommend going to our product tager tutorial<00:15:22.320><c> it</c><00:15:22.440><c> will</c><00:15:22.720><c> teach</c><00:15:22.880><c> you</c><00:15:23.000><c> more</c><00:15:23.240><c> about</c> 00:15:23.670 --> 00:15:23.680 align:start position:0% tutorial it will teach you more about 00:15:23.680 --> 00:15:26.030 align:start position:0% tutorial it will teach you more about Gadget<00:15:24.279><c> and</c><00:15:24.440><c> less</c><00:15:24.720><c> focus</c><00:15:25.000><c> on</c> 00:15:26.030 --> 00:15:26.040 align:start position:0% Gadget and less focus on 00:15:26.040 --> 00:15:28.430 align:start position:0% Gadget and less focus on Shopify<00:15:27.040><c> over</c><00:15:27.240><c> here</c><00:15:27.399><c> in</c><00:15:27.519><c> the</c><00:15:27.639><c> trigger</c><00:15:28.120><c> section</c> 00:15:28.430 --> 00:15:28.440 align:start position:0% Shopify over here in the trigger section 00:15:28.440 --> 00:15:31.069 align:start position:0% Shopify over here in the trigger section though<00:15:29.079><c> we</c><00:15:29.199><c> do</c><00:15:29.399><c> have</c><00:15:29.600><c> Shopify</c><00:15:30.399><c> web</c><00:15:30.680><c> hooks</c><00:15:30.959><c> as</c> 00:15:31.069 --> 00:15:31.079 align:start position:0% though we do have Shopify web hooks as 00:15:31.079 --> 00:15:32.710 align:start position:0% though we do have Shopify web hooks as triggers<00:15:31.519><c> so</c><00:15:31.639><c> whenever</c><00:15:32.000><c> a</c><00:15:32.199><c> product</c><00:15:32.480><c> is</c> 00:15:32.710 --> 00:15:32.720 align:start position:0% triggers so whenever a product is 00:15:32.720 --> 00:15:34.069 align:start position:0% triggers so whenever a product is created<00:15:33.279><c> or</c> 00:15:34.069 --> 00:15:34.079 align:start position:0% created or 00:15:34.079 --> 00:15:36.509 align:start position:0% created or updated<00:15:35.079><c> this</c><00:15:35.360><c> create</c><00:15:35.720><c> action</c><00:15:36.040><c> can</c><00:15:36.160><c> be</c><00:15:36.279><c> run</c> 00:15:36.509 --> 00:15:36.519 align:start position:0% updated this create action can be run 00:15:36.519 --> 00:15:38.629 align:start position:0% updated this create action can be run and<00:15:36.639><c> the</c><00:15:36.759><c> reason</c><00:15:37.440><c> update</c><00:15:37.959><c> can</c><00:15:38.079><c> also</c><00:15:38.279><c> run</c><00:15:38.480><c> this</c> 00:15:38.629 --> 00:15:38.639 align:start position:0% and the reason update can also run this 00:15:38.639 --> 00:15:40.670 align:start position:0% and the reason update can also run this create<00:15:38.959><c> action</c><00:15:39.720><c> is</c><00:15:39.959><c> I</c><00:15:40.040><c> might</c><00:15:40.240><c> go</c><00:15:40.360><c> into</c><00:15:40.560><c> the</c> 00:15:40.670 --> 00:15:40.680 align:start position:0% create action is I might go into the 00:15:40.680 --> 00:15:42.509 align:start position:0% create action is I might go into the admin<00:15:41.079><c> update</c><00:15:41.360><c> a</c><00:15:41.560><c> product</c><00:15:41.959><c> if</c><00:15:42.040><c> it</c><00:15:42.199><c> doesn't</c> 00:15:42.509 --> 00:15:42.519 align:start position:0% admin update a product if it doesn't 00:15:42.519 --> 00:15:44.230 align:start position:0% admin update a product if it doesn't exist<00:15:42.800><c> in</c><00:15:42.920><c> my</c><00:15:43.040><c> database</c><00:15:43.519><c> already</c><00:15:43.920><c> it'll</c> 00:15:44.230 --> 00:15:44.240 align:start position:0% exist in my database already it'll 00:15:44.240 --> 00:15:47.069 align:start position:0% exist in my database already it'll create<00:15:44.759><c> a</c><00:15:44.920><c> new</c><00:15:45.519><c> instance</c><00:15:46.000><c> a</c><00:15:46.120><c> new</c><00:15:46.360><c> record</c><00:15:46.800><c> of</c> 00:15:47.069 --> 00:15:47.079 align:start position:0% create a new instance a new record of 00:15:47.079 --> 00:15:49.470 align:start position:0% create a new instance a new record of this<00:15:47.440><c> product</c><00:15:47.759><c> so</c><00:15:47.920><c> let's</c><00:15:48.160><c> test</c><00:15:48.440><c> this</c><00:15:48.600><c> out</c><00:15:49.399><c> I'm</c> 00:15:49.470 --> 00:15:49.480 align:start position:0% this product so let's test this out I'm 00:15:49.480 --> 00:15:50.990 align:start position:0% this product so let's test this out I'm going<00:15:49.600><c> to</c><00:15:49.680><c> go</c><00:15:49.800><c> to</c><00:15:49.920><c> my</c><00:15:50.040><c> admin</c><00:15:50.600><c> click</c><00:15:50.800><c> on</c> 00:15:50.990 --> 00:15:51.000 align:start position:0% going to go to my admin click on 00:15:51.000 --> 00:15:53.150 align:start position:0% going to go to my admin click on products<00:15:51.360><c> and</c><00:15:51.480><c> I</c><00:15:51.560><c> will</c><00:15:51.720><c> just</c><00:15:52.000><c> add</c><00:15:52.240><c> a</c><00:15:52.399><c> new</c> 00:15:53.150 --> 00:15:53.160 align:start position:0% products and I will just add a new 00:15:53.160 --> 00:15:56.470 align:start position:0% products and I will just add a new product<00:15:54.160><c> going</c><00:15:54.240><c> to</c><00:15:54.399><c> go</c><00:15:54.519><c> ahead</c><00:15:54.680><c> and</c><00:15:54.800><c> call</c><00:15:55.040><c> this</c> 00:15:56.470 --> 00:15:56.480 align:start position:0% product going to go ahead and call this 00:15:56.480 --> 00:15:58.790 align:start position:0% product going to go ahead and call this t-shirt<00:15:57.480><c> I</c><00:15:57.560><c> can</c><00:15:57.720><c> enter</c><00:15:57.920><c> a</c><00:15:58.000><c> description</c><00:15:58.360><c> if</c><00:15:58.680><c> I</c> 00:15:58.790 --> 00:15:58.800 align:start position:0% t-shirt I can enter a description if I 00:15:58.800 --> 00:16:01.430 align:start position:0% t-shirt I can enter a description if I want<00:15:59.279><c> I</c><00:15:59.360><c> don't</c><00:15:59.519><c> want</c><00:15:59.639><c> to</c><00:15:59.920><c> right</c><00:16:00.079><c> now</c><00:16:00.800><c> add</c><00:16:01.040><c> media</c> 00:16:01.430 --> 00:16:01.440 align:start position:0% want I don't want to right now add media 00:16:01.440 --> 00:16:02.910 align:start position:0% want I don't want to right now add media so<00:16:01.600><c> this</c><00:16:01.680><c> would</c><00:16:01.800><c> be</c><00:16:01.959><c> like</c><00:16:02.079><c> an</c><00:16:02.240><c> image</c><00:16:02.519><c> of</c><00:16:02.680><c> my</c> 00:16:02.910 --> 00:16:02.920 align:start position:0% so this would be like an image of my 00:16:02.920 --> 00:16:07.350 align:start position:0% so this would be like an image of my product<00:16:03.920><c> set</c><00:16:04.240><c> some</c><00:16:04.800><c> pricing</c><00:16:05.800><c> track</c><00:16:06.360><c> quantity</c> 00:16:07.350 --> 00:16:07.360 align:start position:0% product set some pricing track quantity 00:16:07.360 --> 00:16:09.710 align:start position:0% product set some pricing track quantity I<00:16:07.440><c> do</c><00:16:07.600><c> need</c><00:16:07.759><c> a</c><00:16:07.959><c> skew</c><00:16:08.720><c> in</c><00:16:08.839><c> order</c><00:16:09.120><c> to</c><00:16:09.319><c> create</c><00:16:09.600><c> a</c> 00:16:09.710 --> 00:16:09.720 align:start position:0% I do need a skew in order to create a 00:16:09.720 --> 00:16:10.990 align:start position:0% I do need a skew in order to create a new<00:16:09.920><c> product</c><00:16:10.240><c> doesn't</c><00:16:10.480><c> really</c><00:16:10.639><c> matter</c><00:16:10.880><c> what</c> 00:16:10.990 --> 00:16:11.000 align:start position:0% new product doesn't really matter what 00:16:11.000 --> 00:16:13.350 align:start position:0% new product doesn't really matter what it<00:16:11.160><c> is</c><00:16:11.399><c> so</c><00:16:11.959><c> I'm</c><00:16:12.240><c> okay</c><00:16:12.440><c> with</c><00:16:12.639><c> this</c><00:16:12.839><c> it's</c><00:16:13.000><c> just</c><00:16:13.120><c> a</c> 00:16:13.350 --> 00:16:13.360 align:start position:0% it is so I'm okay with this it's just a 00:16:13.360 --> 00:16:16.389 align:start position:0% it is so I'm okay with this it's just a title<00:16:13.720><c> right</c><00:16:13.880><c> now</c><00:16:14.120><c> I'll</c><00:16:14.319><c> press</c><00:16:14.959><c> save</c><00:16:15.959><c> so</c><00:16:16.199><c> this</c> 00:16:16.389 --> 00:16:16.399 align:start position:0% title right now I'll press save so this 00:16:16.399 --> 00:16:18.670 align:start position:0% title right now I'll press save so this actually<00:16:16.680><c> creates</c><00:16:17.120><c> a</c><00:16:17.279><c> new</c><00:16:17.600><c> product</c><00:16:18.199><c> in</c><00:16:18.440><c> my</c> 00:16:18.670 --> 00:16:18.680 align:start position:0% actually creates a new product in my 00:16:18.680 --> 00:16:20.910 align:start position:0% actually creates a new product in my shop<00:16:19.440><c> and</c><00:16:19.560><c> it'll</c><00:16:19.800><c> fire</c><00:16:20.120><c> that</c><00:16:20.279><c> products</c><00:16:20.680><c> create</c> 00:16:20.910 --> 00:16:20.920 align:start position:0% shop and it'll fire that products create 00:16:20.920 --> 00:16:22.550 align:start position:0% shop and it'll fire that products create web<00:16:21.160><c> hook</c><00:16:21.360><c> so</c><00:16:21.480><c> if</c><00:16:21.560><c> I</c><00:16:21.680><c> go</c><00:16:21.800><c> back</c><00:16:21.920><c> to</c><00:16:22.040><c> my</c><00:16:22.199><c> Gadget</c> 00:16:22.550 --> 00:16:22.560 align:start position:0% web hook so if I go back to my Gadget 00:16:22.560 --> 00:16:25.710 align:start position:0% web hook so if I go back to my Gadget app<00:16:23.199><c> I</c><00:16:23.279><c> can</c><00:16:23.399><c> go</c><00:16:23.519><c> to</c><00:16:23.639><c> my</c><00:16:23.800><c> data</c><00:16:24.199><c> page</c><00:16:25.199><c> you'll</c><00:16:25.440><c> see</c> 00:16:25.710 --> 00:16:25.720 align:start position:0% app I can go to my data page you'll see 00:16:25.720 --> 00:16:28.910 align:start position:0% app I can go to my data page you'll see that<00:16:25.959><c> the</c><00:16:26.160><c> T-shirt</c><00:16:26.920><c> has</c><00:16:27.120><c> been</c><00:16:27.399><c> added</c><00:16:27.959><c> to</c><00:16:28.279><c> my</c> 00:16:28.910 --> 00:16:28.920 align:start position:0% that the T-shirt has been added to my 00:16:28.920 --> 00:16:31.189 align:start position:0% that the T-shirt has been added to my database<00:16:29.920><c> so</c><00:16:30.120><c> that's</c><00:16:30.319><c> wonderful</c><00:16:30.759><c> when</c><00:16:30.920><c> I</c><00:16:31.000><c> am</c> 00:16:31.189 --> 00:16:31.199 align:start position:0% database so that's wonderful when I am 00:16:31.199 --> 00:16:32.870 align:start position:0% database so that's wonderful when I am creating<00:16:31.519><c> or</c><00:16:31.680><c> updating</c><00:16:32.120><c> products</c><00:16:32.519><c> I</c><00:16:32.639><c> might</c> 00:16:32.870 --> 00:16:32.880 align:start position:0% creating or updating products I might 00:16:32.880 --> 00:16:34.670 align:start position:0% creating or updating products I might also<00:16:33.160><c> want</c><00:16:33.319><c> to</c><00:16:33.560><c> get</c><00:16:33.880><c> all</c><00:16:34.040><c> of</c><00:16:34.160><c> the</c><00:16:34.360><c> products</c> 00:16:34.670 --> 00:16:34.680 align:start position:0% also want to get all of the products 00:16:34.680 --> 00:16:37.110 align:start position:0% also want to get all of the products that<00:16:34.759><c> are</c><00:16:35.040><c> already</c><00:16:35.519><c> installed</c><00:16:36.360><c> or</c><00:16:36.680><c> already</c> 00:16:37.110 --> 00:16:37.120 align:start position:0% that are already installed or already 00:16:37.120 --> 00:16:39.949 align:start position:0% that are already installed or already created<00:16:37.920><c> in</c><00:16:38.079><c> a</c><00:16:38.240><c> merchant</c><00:16:38.720><c> store</c><00:16:39.519><c> and</c><00:16:39.720><c> I</c><00:16:39.839><c> can</c> 00:16:39.949 --> 00:16:39.959 align:start position:0% created in a merchant store and I can 00:16:39.959 --> 00:16:41.910 align:start position:0% created in a merchant store and I can use<00:16:40.199><c> gadgets</c><00:16:40.560><c> data</c><00:16:40.800><c> sync</c><00:16:41.079><c> to</c><00:16:41.199><c> do</c><00:16:41.399><c> that</c><00:16:41.600><c> so</c><00:16:41.800><c> I'm</c> 00:16:41.910 --> 00:16:41.920 align:start position:0% use gadgets data sync to do that so I'm 00:16:41.920 --> 00:16:45.590 align:start position:0% use gadgets data sync to do that so I'm going<00:16:42.000><c> to</c><00:16:42.120><c> scroll</c><00:16:42.440><c> down</c><00:16:43.279><c> click</c><00:16:43.920><c> plugins</c> 00:16:45.590 --> 00:16:45.600 align:start position:0% going to scroll down click plugins 00:16:45.600 --> 00:16:48.350 align:start position:0% going to scroll down click plugins Shopify<00:16:46.600><c> and</c><00:16:46.720><c> then</c><00:16:46.880><c> go</c><00:16:47.040><c> to</c><00:16:47.240><c> shop</c><00:16:47.600><c> install</c><00:16:48.120><c> so</c> 00:16:48.350 --> 00:16:48.360 align:start position:0% Shopify and then go to shop install so 00:16:48.360 --> 00:16:51.189 align:start position:0% Shopify and then go to shop install so this<00:16:48.440><c> is</c><00:16:48.720><c> the</c><00:16:49.319><c> app</c><00:16:49.560><c> I</c><00:16:49.680><c> already</c> 00:16:51.189 --> 00:16:51.199 align:start position:0% this is the app I already 00:16:51.199 --> 00:16:53.550 align:start position:0% this is the app I already connected<00:16:52.199><c> and</c><00:16:52.600><c> I'm</c><00:16:52.759><c> going</c><00:16:52.839><c> to</c><00:16:53.040><c> go</c><00:16:53.199><c> ahead</c><00:16:53.480><c> this</c> 00:16:53.550 --> 00:16:53.560 align:start position:0% connected and I'm going to go ahead this 00:16:53.560 --> 00:16:56.430 align:start position:0% connected and I'm going to go ahead this is<00:16:53.720><c> my</c><00:16:53.839><c> store</c><00:16:54.199><c> cart</c><00:16:54.480><c> transform</c><00:16:55.279><c> testing</c><00:16:56.279><c> I'll</c> 00:16:56.430 --> 00:16:56.440 align:start position:0% is my store cart transform testing I'll 00:16:56.440 --> 00:16:58.670 align:start position:0% is my store cart transform testing I'll hit<00:16:56.639><c> the</c><00:16:56.759><c> sync</c><00:16:57.199><c> button</c><00:16:57.839><c> so</c><00:16:58.000><c> I'm</c><00:16:58.160><c> manually</c> 00:16:58.670 --> 00:16:58.680 align:start position:0% hit the sync button so I'm manually 00:16:58.680 --> 00:17:00.309 align:start position:0% hit the sync button so I'm manually triggering<00:16:59.000><c> a</c><00:16:59.120><c> sync</c><00:16:59.399><c> now</c><00:16:59.600><c> there</c><00:16:59.720><c> is</c><00:16:59.920><c> also</c><00:17:00.120><c> a</c> 00:17:00.309 --> 00:17:00.319 align:start position:0% triggering a sync now there is also a 00:17:00.319 --> 00:17:02.509 align:start position:0% triggering a sync now there is also a way<00:17:00.560><c> to</c><00:17:01.040><c> trigger</c><00:17:01.399><c> a</c><00:17:01.560><c> sync</c><00:17:02.000><c> as</c><00:17:02.079><c> soon</c><00:17:02.279><c> as</c><00:17:02.399><c> a</c> 00:17:02.509 --> 00:17:02.519 align:start position:0% way to trigger a sync as soon as a 00:17:02.519 --> 00:17:04.510 align:start position:0% way to trigger a sync as soon as a merchant<00:17:02.920><c> installs</c><00:17:03.319><c> your</c><00:17:03.480><c> app</c><00:17:03.639><c> on</c><00:17:03.720><c> a</c><00:17:03.880><c> store</c> 00:17:04.510 --> 00:17:04.520 align:start position:0% merchant installs your app on a store 00:17:04.520 --> 00:17:06.630 align:start position:0% merchant installs your app on a store and<00:17:04.679><c> what</c><00:17:04.839><c> this</c><00:17:04.919><c> is</c><00:17:05.079><c> going</c><00:17:05.160><c> to</c><00:17:05.360><c> do</c><00:17:05.880><c> is</c><00:17:06.079><c> pull</c><00:17:06.280><c> in</c> 00:17:06.630 --> 00:17:06.640 align:start position:0% and what this is going to do is pull in 00:17:06.640 --> 00:17:09.350 align:start position:0% and what this is going to do is pull in all<00:17:06.760><c> of</c><00:17:06.919><c> my</c><00:17:07.120><c> product</c><00:17:07.480><c> data</c><00:17:08.280><c> from</c><00:17:08.640><c> this</c><00:17:08.839><c> store</c> 00:17:09.350 --> 00:17:09.360 align:start position:0% all of my product data from this store 00:17:09.360 --> 00:17:11.829 align:start position:0% all of my product data from this store into<00:17:09.640><c> my</c><00:17:09.839><c> Gadget</c><00:17:10.240><c> database</c><00:17:11.120><c> so</c><00:17:11.280><c> that</c><00:17:11.480><c> I</c><00:17:11.600><c> can</c> 00:17:11.829 --> 00:17:11.839 align:start position:0% into my Gadget database so that I can 00:17:11.839 --> 00:17:15.189 align:start position:0% into my Gadget database so that I can start<00:17:12.439><c> using</c><00:17:13.439><c> my</c><00:17:13.679><c> data</c><00:17:14.039><c> from</c><00:17:14.240><c> my</c><00:17:14.480><c> database</c><00:17:14.959><c> to</c> 00:17:15.189 --> 00:17:15.199 align:start position:0% start using my data from my database to 00:17:15.199 --> 00:17:18.270 align:start position:0% start using my data from my database to actually<00:17:15.799><c> perform</c><00:17:16.199><c> my</c><00:17:16.360><c> apps</c> 00:17:18.270 --> 00:17:18.280 align:start position:0% actually perform my apps 00:17:18.280 --> 00:17:21.309 align:start position:0% actually perform my apps functionality<00:17:19.280><c> so</c><00:17:19.439><c> I'll</c><00:17:19.600><c> click</c><00:17:19.760><c> on</c><00:17:20.319><c> product</c> 00:17:21.309 --> 00:17:21.319 align:start position:0% functionality so I'll click on product 00:17:21.319 --> 00:17:24.510 align:start position:0% functionality so I'll click on product click<00:17:21.520><c> on</c><00:17:21.760><c> data</c><00:17:22.480><c> and</c><00:17:22.600><c> you</c><00:17:22.720><c> see</c><00:17:23.000><c> that</c><00:17:23.360><c> all</c><00:17:23.839><c> of</c> 00:17:24.510 --> 00:17:24.520 align:start position:0% click on data and you see that all of 00:17:24.520 --> 00:17:28.150 align:start position:0% click on data and you see that all of the<00:17:24.720><c> data</c><00:17:25.280><c> is</c><00:17:25.559><c> now</c><00:17:26.160><c> synced</c><00:17:26.720><c> to</c><00:17:27.000><c> my</c><00:17:27.160><c> database</c><00:17:28.000><c> so</c> 00:17:28.150 --> 00:17:28.160 align:start position:0% the data is now synced to my database so 00:17:28.160 --> 00:17:30.789 align:start position:0% the data is now synced to my database so that's<00:17:28.480><c> wonderful</c><00:17:29.200><c> the</c><00:17:29.320><c> shopy</c><00:17:29.760><c> API</c><00:17:30.240><c> does</c><00:17:30.520><c> have</c> 00:17:30.789 --> 00:17:30.799 align:start position:0% that's wonderful the shopy API does have 00:17:30.799 --> 00:17:32.630 align:start position:0% that's wonderful the shopy API does have rate<00:17:31.039><c> limits</c><00:17:31.480><c> and</c><00:17:31.640><c> Gadget</c><00:17:31.960><c> handles</c><00:17:32.280><c> that</c><00:17:32.440><c> for</c> 00:17:32.630 --> 00:17:32.640 align:start position:0% rate limits and Gadget handles that for 00:17:32.640 --> 00:17:34.909 align:start position:0% rate limits and Gadget handles that for you<00:17:33.280><c> so</c><00:17:33.600><c> you</c><00:17:33.720><c> don't</c><00:17:33.919><c> have</c><00:17:34.039><c> to</c><00:17:34.200><c> worry</c><00:17:34.600><c> about</c><00:17:34.799><c> the</c> 00:17:34.909 --> 00:17:34.919 align:start position:0% you so you don't have to worry about the 00:17:34.919 --> 00:17:36.549 align:start position:0% you so you don't have to worry about the number<00:17:35.160><c> of</c><00:17:35.440><c> products</c><00:17:35.760><c> or</c><00:17:35.960><c> orders</c><00:17:36.280><c> or</c> 00:17:36.549 --> 00:17:36.559 align:start position:0% number of products or orders or 00:17:36.559 --> 00:17:39.430 align:start position:0% number of products or orders or customers<00:17:37.400><c> that</c><00:17:37.520><c> a</c><00:17:37.679><c> store</c><00:17:38.080><c> already</c><00:17:38.640><c> has</c> 00:17:39.430 --> 00:17:39.440 align:start position:0% customers that a store already has 00:17:39.440 --> 00:17:41.510 align:start position:0% customers that a store already has Gadget<00:17:39.799><c> will</c><00:17:39.960><c> sync</c><00:17:40.320><c> all</c><00:17:40.440><c> of</c><00:17:40.600><c> that</c><00:17:40.799><c> data</c><00:17:41.240><c> as</c> 00:17:41.510 --> 00:17:41.520 align:start position:0% Gadget will sync all of that data as 00:17:41.520 --> 00:17:44.190 align:start position:0% Gadget will sync all of that data as fast<00:17:41.840><c> as</c><00:17:41.960><c> it</c><00:17:42.200><c> can</c><00:17:42.880><c> and</c><00:17:43.080><c> manage</c><00:17:43.640><c> that</c><00:17:43.919><c> rate</c> 00:17:44.190 --> 00:17:44.200 align:start position:0% fast as it can and manage that rate 00:17:44.200 --> 00:17:45.789 align:start position:0% fast as it can and manage that rate limit<00:17:44.640><c> so</c><00:17:44.799><c> you</c><00:17:44.880><c> don't</c><00:17:45.120><c> have</c><00:17:45.240><c> to</c><00:17:45.360><c> worry</c><00:17:45.600><c> about</c> 00:17:45.789 --> 00:17:45.799 align:start position:0% limit so you don't have to worry about 00:17:45.799 --> 00:17:48.029 align:start position:0% limit so you don't have to worry about doing<00:17:46.080><c> that</c><00:17:46.280><c> yourself</c><00:17:47.240><c> another</c><00:17:47.559><c> nice</c><00:17:47.760><c> benefit</c> 00:17:48.029 --> 00:17:48.039 align:start position:0% doing that yourself another nice benefit 00:17:48.039 --> 00:17:49.750 align:start position:0% doing that yourself another nice benefit of<00:17:48.160><c> using</c> 00:17:49.750 --> 00:17:49.760 align:start position:0% of using 00:17:49.760 --> 00:17:52.830 align:start position:0% of using Gadget<00:17:50.760><c> so</c><00:17:51.000><c> this</c><00:17:51.120><c> is</c><00:17:51.320><c> good</c><00:17:51.600><c> I</c><00:17:51.760><c> have</c><00:17:52.160><c> synced</c> 00:17:52.830 --> 00:17:52.840 align:start position:0% Gadget so this is good I have synced 00:17:52.840 --> 00:17:56.710 align:start position:0% Gadget so this is good I have synced data<00:17:53.240><c> into</c><00:17:53.559><c> my</c><00:17:53.960><c> database</c><00:17:54.960><c> I</c><00:17:55.159><c> have</c><00:17:55.480><c> my</c><00:17:56.159><c> embedded</c> 00:17:56.710 --> 00:17:56.720 align:start position:0% data into my database I have my embedded 00:17:56.720 --> 00:18:00.510 align:start position:0% data into my database I have my embedded front<00:17:57.080><c> end</c><00:17:58.080><c> uh</c><00:17:58.640><c> I</c><00:17:58.799><c> think</c><00:17:59.159><c> I'm</c><00:17:59.559><c> probably</c><00:18:00.120><c> ready</c> 00:18:00.510 --> 00:18:00.520 align:start position:0% front end uh I think I'm probably ready 00:18:00.520 --> 00:18:03.590 align:start position:0% front end uh I think I'm probably ready at<00:18:00.760><c> this</c><00:18:00.960><c> point</c><00:18:01.640><c> to</c><00:18:02.280><c> go</c><00:18:02.480><c> ahead</c> 00:18:03.590 --> 00:18:03.600 align:start position:0% at this point to go ahead 00:18:03.600 --> 00:18:06.669 align:start position:0% at this point to go ahead and<00:18:04.600><c> create</c><00:18:04.880><c> a</c><00:18:05.159><c> production</c><00:18:05.760><c> version</c><00:18:06.200><c> of</c><00:18:06.440><c> my</c> 00:18:06.669 --> 00:18:06.679 align:start position:0% and create a production version of my 00:18:06.679 --> 00:18:08.470 align:start position:0% and create a production version of my app<00:18:06.960><c> let's</c><00:18:07.200><c> say</c><00:18:07.760><c> so</c><00:18:07.919><c> I</c><00:18:08.000><c> haven't</c><00:18:08.280><c> actually</c> 00:18:08.470 --> 00:18:08.480 align:start position:0% app let's say so I haven't actually 00:18:08.480 --> 00:18:10.549 align:start position:0% app let's say so I haven't actually built<00:18:08.720><c> an</c><00:18:08.919><c> app</c><00:18:09.400><c> uh</c><00:18:09.520><c> once</c><00:18:09.760><c> again</c><00:18:10.039><c> I</c><00:18:10.120><c> will</c><00:18:10.280><c> refer</c> 00:18:10.549 --> 00:18:10.559 align:start position:0% built an app uh once again I will refer 00:18:10.559 --> 00:18:12.750 align:start position:0% built an app uh once again I will refer you<00:18:10.720><c> to</c><00:18:10.960><c> any</c><00:18:11.120><c> of</c><00:18:11.240><c> our</c><00:18:11.400><c> other</c><00:18:11.640><c> tutorials</c><00:18:12.480><c> figure</c> 00:18:12.750 --> 00:18:12.760 align:start position:0% you to any of our other tutorials figure 00:18:12.760 --> 00:18:13.950 align:start position:0% you to any of our other tutorials figure out<00:18:12.919><c> what</c><00:18:13.000><c> you</c><00:18:13.080><c> want</c><00:18:13.200><c> to</c><00:18:13.360><c> build</c><00:18:13.600><c> and</c><00:18:13.720><c> then</c><00:18:13.840><c> go</c> 00:18:13.950 --> 00:18:13.960 align:start position:0% out what you want to build and then go 00:18:13.960 --> 00:18:16.149 align:start position:0% out what you want to build and then go ahead<00:18:14.120><c> and</c><00:18:14.200><c> build</c><00:18:14.480><c> our</c><00:18:14.720><c> app</c><00:18:15.720><c> I'm</c><00:18:15.840><c> going</c><00:18:15.919><c> to</c> 00:18:16.149 --> 00:18:16.159 align:start position:0% ahead and build our app I'm going to 00:18:16.159 --> 00:18:18.070 align:start position:0% ahead and build our app I'm going to skip<00:18:16.480><c> that</c><00:18:16.679><c> part</c><00:18:16.919><c> and</c><00:18:17.039><c> just</c><00:18:17.200><c> get</c><00:18:17.320><c> to</c><00:18:17.640><c> how</c><00:18:17.760><c> do</c><00:18:17.919><c> I</c> 00:18:18.070 --> 00:18:18.080 align:start position:0% skip that part and just get to how do I 00:18:18.080 --> 00:18:20.909 align:start position:0% skip that part and just get to how do I release<00:18:18.400><c> an</c><00:18:18.559><c> app</c><00:18:19.280><c> in</c><00:18:19.679><c> production</c><00:18:20.520><c> so</c><00:18:20.679><c> this</c><00:18:20.799><c> is</c> 00:18:20.909 --> 00:18:20.919 align:start position:0% release an app in production so this is 00:18:20.919 --> 00:18:22.669 align:start position:0% release an app in production so this is my<00:18:21.080><c> development</c><00:18:21.559><c> environment</c><00:18:22.039><c> Gadget</c><00:18:22.440><c> also</c> 00:18:22.669 --> 00:18:22.679 align:start position:0% my development environment Gadget also 00:18:22.679 --> 00:18:24.950 align:start position:0% my development environment Gadget also has<00:18:22.840><c> a</c><00:18:23.120><c> production</c><00:18:23.640><c> environment</c><00:18:24.120><c> I</c><00:18:24.200><c> can</c><00:18:24.360><c> use</c> 00:18:24.950 --> 00:18:24.960 align:start position:0% has a production environment I can use 00:18:24.960 --> 00:18:27.390 align:start position:0% has a production environment I can use so<00:18:25.120><c> I</c><00:18:25.200><c> actually</c><00:18:25.400><c> need</c><00:18:25.520><c> to</c><00:18:25.720><c> go</c><00:18:25.960><c> back</c><00:18:26.600><c> to</c><00:18:27.120><c> my</c> 00:18:27.390 --> 00:18:27.400 align:start position:0% so I actually need to go back to my 00:18:27.400 --> 00:18:29.430 align:start position:0% so I actually need to go back to my partner<00:18:27.840><c> dashboard</c> 00:18:29.430 --> 00:18:29.440 align:start position:0% partner dashboard 00:18:29.440 --> 00:18:32.149 align:start position:0% partner dashboard once 00:18:32.149 --> 00:18:32.159 align:start position:0% 00:18:32.159 --> 00:18:35.470 align:start position:0% again<00:18:33.159><c> I</c><00:18:33.280><c> do</c><00:18:33.440><c> need</c><00:18:33.600><c> to</c><00:18:33.840><c> create</c><00:18:34.280><c> a</c><00:18:34.480><c> new</c><00:18:34.840><c> app</c> 00:18:35.470 --> 00:18:35.480 align:start position:0% again I do need to create a new app 00:18:35.480 --> 00:18:39.510 align:start position:0% again I do need to create a new app another<00:18:35.840><c> new</c><00:18:36.120><c> app</c><00:18:36.760><c> call</c><00:18:36.960><c> it</c><00:18:37.720><c> my</c> 00:18:39.510 --> 00:18:39.520 align:start position:0% another new app call it my 00:18:39.520 --> 00:18:41.710 align:start position:0% another new app call it my first 00:18:41.710 --> 00:18:41.720 align:start position:0% first 00:18:41.720 --> 00:18:45.590 align:start position:0% first production 00:18:45.590 --> 00:18:45.600 align:start position:0% 00:18:45.600 --> 00:18:48.070 align:start position:0% app<00:18:46.600><c> once</c><00:18:46.840><c> again</c><00:18:47.039><c> I</c><00:18:47.159><c> get</c><00:18:47.240><c> a</c><00:18:47.400><c> client</c><00:18:47.679><c> ID</c><00:18:47.919><c> in</c> 00:18:48.070 --> 00:18:48.080 align:start position:0% app once again I get a client ID in 00:18:48.080 --> 00:18:49.669 align:start position:0% app once again I get a client ID in secret<00:18:48.400><c> so</c><00:18:48.559><c> I</c><00:18:48.640><c> do</c><00:18:48.760><c> want</c><00:18:48.840><c> to</c><00:18:49.000><c> copy</c><00:18:49.280><c> these</c><00:18:49.520><c> back</c> 00:18:49.669 --> 00:18:49.679 align:start position:0% secret so I do want to copy these back 00:18:49.679 --> 00:18:52.110 align:start position:0% secret so I do want to copy these back to<00:18:49.960><c> gadget</c><00:18:50.919><c> I</c><00:18:51.000><c> can</c><00:18:51.200><c> go</c><00:18:51.360><c> back</c><00:18:51.480><c> to</c><00:18:51.640><c> my</c><00:18:51.799><c> connection</c> 00:18:52.110 --> 00:18:52.120 align:start position:0% to gadget I can go back to my connection 00:18:52.120 --> 00:18:53.789 align:start position:0% to gadget I can go back to my connection and<00:18:52.400><c> plugins</c> 00:18:53.789 --> 00:18:53.799 align:start position:0% and plugins 00:18:53.799 --> 00:18:56.830 align:start position:0% and plugins Shopify<00:18:54.799><c> and</c><00:18:54.960><c> there</c><00:18:55.080><c> is</c><00:18:55.280><c> this</c><00:18:55.520><c> production</c><00:18:56.080><c> box</c> 00:18:56.830 --> 00:18:56.840 align:start position:0% Shopify and there is this production box 00:18:56.840 --> 00:18:58.270 align:start position:0% Shopify and there is this production box I<00:18:56.960><c> just</c><00:18:57.080><c> want</c><00:18:57.200><c> to</c><00:18:57.440><c> add</c><00:18:57.640><c> my</c><00:18:57.840><c> app</c><00:18:58.039><c> cred</c> 00:18:58.270 --> 00:18:58.280 align:start position:0% I just want to add my app cred 00:18:58.280 --> 00:19:01.510 align:start position:0% I just want to add my app cred credentials<00:18:58.760><c> here</c><00:18:58.880><c> so</c><00:18:59.039><c> that's</c><00:18:59.200><c> my</c><00:18:59.360><c> client</c> 00:19:01.510 --> 00:19:01.520 align:start position:0% credentials here so that's my client 00:19:01.520 --> 00:19:05.630 align:start position:0% credentials here so that's my client ID<00:19:02.520><c> my</c><00:19:02.720><c> client</c><00:19:03.120><c> secret</c><00:19:03.880><c> I</c><00:19:03.960><c> can</c><00:19:04.200><c> confirm</c><00:19:04.720><c> that</c><00:19:05.559><c> I</c> 00:19:05.630 --> 00:19:05.640 align:start position:0% ID my client secret I can confirm that I 00:19:05.640 --> 00:19:07.549 align:start position:0% ID my client secret I can confirm that I can<00:19:05.760><c> go</c><00:19:05.880><c> ahead</c><00:19:06.080><c> and</c><00:19:06.360><c> copy</c><00:19:06.720><c> the</c><00:19:06.919><c> app</c><00:19:07.120><c> URL</c><00:19:07.440><c> and</c> 00:19:07.549 --> 00:19:07.559 align:start position:0% can go ahead and copy the app URL and 00:19:07.559 --> 00:19:10.149 align:start position:0% can go ahead and copy the app URL and redirection<00:19:08.120><c> URL</c><00:19:09.120><c> back</c><00:19:09.280><c> to</c><00:19:09.440><c> the</c><00:19:09.600><c> shop</c><00:19:09.960><c> VI</c> 00:19:10.149 --> 00:19:10.159 align:start position:0% redirection URL back to the shop VI 00:19:10.159 --> 00:19:16.510 align:start position:0% redirection URL back to the shop VI Partners 00:19:16.510 --> 00:19:16.520 align:start position:0% 00:19:16.520 --> 00:19:19.750 align:start position:0% app<00:19:17.520><c> click</c> 00:19:19.750 --> 00:19:19.760 align:start position:0% app click 00:19:19.760 --> 00:19:22.070 align:start position:0% app click save<00:19:20.760><c> go</c><00:19:20.919><c> to</c> 00:19:22.070 --> 00:19:22.080 align:start position:0% save go to 00:19:22.080 --> 00:19:24.190 align:start position:0% save go to overview<00:19:23.080><c> now</c><00:19:23.320><c> this</c><00:19:23.400><c> is</c><00:19:23.600><c> where</c><00:19:23.799><c> I</c><00:19:23.880><c> can</c><00:19:24.039><c> go</c> 00:19:24.190 --> 00:19:24.200 align:start position:0% overview now this is where I can go 00:19:24.200 --> 00:19:27.190 align:start position:0% overview now this is where I can go ahead<00:19:24.360><c> and</c><00:19:24.559><c> choose</c><00:19:24.919><c> my</c><00:19:25.159><c> app</c><00:19:25.960><c> distribution</c><00:19:26.960><c> so</c> 00:19:27.190 --> 00:19:27.200 align:start position:0% ahead and choose my app distribution so 00:19:27.200 --> 00:19:28.789 align:start position:0% ahead and choose my app distribution so if<00:19:27.320><c> I</c><00:19:27.440><c> click</c><00:19:27.640><c> on</c><00:19:27.760><c> this</c><00:19:27.919><c> choose</c> 00:19:28.789 --> 00:19:28.799 align:start position:0% if I click on this choose 00:19:28.799 --> 00:19:34.190 align:start position:0% if I click on this choose distribution<00:19:29.799><c> I</c><00:19:29.880><c> can</c><00:19:30.120><c> select</c><00:19:30.600><c> the</c><00:19:30.880><c> Custom</c> 00:19:34.190 --> 00:19:34.200 align:start position:0% 00:19:34.200 --> 00:19:37.430 align:start position:0% Distribution<00:19:35.200><c> this</c><00:19:35.320><c> is</c><00:19:35.600><c> just</c><00:19:36.320><c> warning</c><00:19:36.960><c> that</c> 00:19:37.430 --> 00:19:37.440 align:start position:0% Distribution this is just warning that 00:19:37.440 --> 00:19:39.190 align:start position:0% Distribution this is just warning that my<00:19:37.600><c> app</c><00:19:37.840><c> can</c><00:19:38.039><c> only</c><00:19:38.240><c> be</c><00:19:38.400><c> installed</c><00:19:38.799><c> by</c><00:19:38.880><c> a</c><00:19:38.960><c> single</c> 00:19:39.190 --> 00:19:39.200 align:start position:0% my app can only be installed by a single 00:19:39.200 --> 00:19:42.310 align:start position:0% my app can only be installed by a single store<00:19:39.559><c> plus</c><00:19:39.799><c> organization</c><00:19:40.440><c> so</c><00:19:40.600><c> I'm</c><00:19:40.840><c> okay</c><00:19:41.039><c> with</c> 00:19:42.310 --> 00:19:42.320 align:start position:0% store plus organization so I'm okay with 00:19:42.320 --> 00:19:44.669 align:start position:0% store plus organization so I'm okay with that<00:19:43.320><c> and</c><00:19:43.480><c> I</c><00:19:43.559><c> need</c><00:19:43.679><c> to</c><00:19:43.840><c> enter</c><00:19:44.080><c> my</c><00:19:44.280><c> storees</c> 00:19:44.669 --> 00:19:44.679 align:start position:0% that and I need to enter my storees 00:19:44.679 --> 00:19:47.350 align:start position:0% that and I need to enter my storees domain<00:19:45.159><c> so</c><00:19:45.360><c> this</c><00:19:45.480><c> is</c><00:19:46.200><c> my</c><00:19:46.440><c> cart</c><00:19:46.760><c> transform</c> 00:19:47.350 --> 00:19:47.360 align:start position:0% domain so this is my cart transform 00:19:47.360 --> 00:19:49.669 align:start position:0% domain so this is my cart transform testing<00:19:47.880><c> store</c><00:19:48.840><c> I</c><00:19:48.919><c> think</c><00:19:49.080><c> I</c><00:19:49.200><c> can</c><00:19:49.440><c> actually</c> 00:19:49.669 --> 00:19:49.679 align:start position:0% testing store I think I can actually 00:19:49.679 --> 00:19:53.149 align:start position:0% testing store I think I can actually just<00:19:49.840><c> go</c><00:19:49.960><c> ahead</c><00:19:50.120><c> and</c><00:19:51.000><c> copy</c><00:19:51.360><c> this</c> 00:19:53.149 --> 00:19:53.159 align:start position:0% just go ahead and copy this 00:19:53.159 --> 00:19:57.350 align:start position:0% just go ahead and copy this here<00:19:54.320><c> perfect</c><00:19:55.320><c> so</c><00:19:55.559><c> that's</c><00:19:55.840><c> the</c><00:19:56.080><c> admin</c><00:19:56.440><c> link</c> 00:19:57.350 --> 00:19:57.360 align:start position:0% here perfect so that's the admin link 00:19:57.360 --> 00:19:59.070 align:start position:0% here perfect so that's the admin link you<00:19:57.520><c> can</c><00:19:57.720><c> allow</c><00:19:58.000><c> mult</c><00:19:58.200><c> multi</c><00:19:58.480><c> Store</c><00:19:58.720><c> install</c> 00:19:59.070 --> 00:19:59.080 align:start position:0% you can allow mult multi Store install 00:19:59.080 --> 00:20:00.990 align:start position:0% you can allow mult multi Store install for<00:19:59.200><c> a</c><00:19:59.320><c> plus</c><00:19:59.559><c> organization</c><00:20:00.400><c> I'm</c><00:20:00.559><c> fine</c><00:20:00.799><c> with</c> 00:20:00.990 --> 00:20:01.000 align:start position:0% for a plus organization I'm fine with 00:20:01.000 --> 00:20:03.830 align:start position:0% for a plus organization I'm fine with that<00:20:01.159><c> so</c><00:20:01.320><c> I'll</c><00:20:01.440><c> generate</c><00:20:01.919><c> a</c><00:20:02.520><c> link</c><00:20:03.520><c> this</c><00:20:03.640><c> is</c> 00:20:03.830 --> 00:20:03.840 align:start position:0% that so I'll generate a link this is 00:20:03.840 --> 00:20:05.590 align:start position:0% that so I'll generate a link this is just<00:20:04.000><c> a</c><00:20:04.200><c> confirmation</c><00:20:04.799><c> dialogue</c><00:20:05.240><c> this</c><00:20:05.400><c> can't</c> 00:20:05.590 --> 00:20:05.600 align:start position:0% just a confirmation dialogue this can't 00:20:05.600 --> 00:20:08.190 align:start position:0% just a confirmation dialogue this can't be 00:20:08.190 --> 00:20:08.200 align:start position:0% 00:20:08.200 --> 00:20:10.630 align:start position:0% undone<00:20:09.200><c> so</c><00:20:09.400><c> there</c><00:20:09.520><c> we</c><00:20:09.679><c> go</c><00:20:09.880><c> I</c><00:20:09.960><c> can</c><00:20:10.200><c> copy</c><00:20:10.480><c> this</c> 00:20:10.630 --> 00:20:10.640 align:start position:0% undone so there we go I can copy this 00:20:10.640 --> 00:20:13.110 align:start position:0% undone so there we go I can copy this link<00:20:10.840><c> to</c><00:20:11.320><c> install</c><00:20:11.760><c> my</c><00:20:11.960><c> app</c><00:20:12.360><c> on</c><00:20:12.880><c> this</c> 00:20:13.110 --> 00:20:13.120 align:start position:0% link to install my app on this 00:20:13.120 --> 00:20:14.990 align:start position:0% link to install my app on this particular<00:20:13.559><c> store</c><00:20:13.919><c> now</c><00:20:14.440><c> there's</c><00:20:14.640><c> one</c><00:20:14.799><c> thing</c><00:20:14.919><c> I</c> 00:20:14.990 --> 00:20:15.000 align:start position:0% particular store now there's one thing I 00:20:15.000 --> 00:20:17.110 align:start position:0% particular store now there's one thing I need<00:20:15.159><c> to</c><00:20:15.240><c> do</c><00:20:15.360><c> in</c><00:20:15.600><c> gadget</c><00:20:15.960><c> first</c><00:20:16.679><c> and</c><00:20:16.799><c> that</c><00:20:16.919><c> is</c> 00:20:17.110 --> 00:20:17.120 align:start position:0% need to do in gadget first and that is 00:20:17.120 --> 00:20:18.870 align:start position:0% need to do in gadget first and that is actually<00:20:17.400><c> deploy</c><00:20:17.760><c> my</c><00:20:17.919><c> app</c><00:20:18.080><c> to</c><00:20:18.280><c> production</c><00:20:18.720><c> so</c> 00:20:18.870 --> 00:20:18.880 align:start position:0% actually deploy my app to production so 00:20:18.880 --> 00:20:20.310 align:start position:0% actually deploy my app to production so because<00:20:19.120><c> there's</c><00:20:19.320><c> two</c><00:20:19.760><c> environments</c> 00:20:20.310 --> 00:20:20.320 align:start position:0% because there's two environments 00:20:20.320 --> 00:20:22.390 align:start position:0% because there's two environments development<00:20:20.799><c> and</c><00:20:21.039><c> production</c><00:20:21.799><c> I</c><00:20:21.919><c> need</c><00:20:22.039><c> to</c><00:20:22.280><c> go</c> 00:20:22.390 --> 00:20:22.400 align:start position:0% development and production I need to go 00:20:22.400 --> 00:20:24.590 align:start position:0% development and production I need to go ahead<00:20:22.799><c> and</c><00:20:23.240><c> take</c><00:20:23.480><c> all</c><00:20:23.679><c> my</c><00:20:23.880><c> code</c><00:20:24.159><c> and</c><00:20:24.320><c> model</c> 00:20:24.590 --> 00:20:24.600 align:start position:0% ahead and take all my code and model 00:20:24.600 --> 00:20:26.350 align:start position:0% ahead and take all my code and model changes<00:20:25.120><c> and</c><00:20:25.320><c> push</c><00:20:25.520><c> them</c><00:20:25.640><c> to</c><00:20:25.799><c> my</c><00:20:26.000><c> production</c> 00:20:26.350 --> 00:20:26.360 align:start position:0% changes and push them to my production 00:20:26.360 --> 00:20:28.230 align:start position:0% changes and push them to my production environment<00:20:26.840><c> before</c><00:20:27.039><c> I</c><00:20:27.200><c> install</c><00:20:27.880><c> so</c><00:20:28.039><c> I</c><00:20:28.159><c> you</c> 00:20:28.230 --> 00:20:28.240 align:start position:0% environment before I install so I you 00:20:28.240 --> 00:20:29.990 align:start position:0% environment before I install so I you can<00:20:28.320><c> just</c><00:20:28.400><c> go</c><00:20:28.520><c> to</c><00:20:28.679><c> this</c><00:20:28.840><c> deploy</c><00:20:29.559><c> down</c><00:20:29.720><c> at</c><00:20:29.880><c> the</c> 00:20:29.990 --> 00:20:30.000 align:start position:0% can just go to this deploy down at the 00:20:30.000 --> 00:20:32.710 align:start position:0% can just go to this deploy down at the bottom<00:20:30.360><c> here</c><00:20:30.880><c> click</c><00:20:31.200><c> deploy</c><00:20:31.559><c> to</c><00:20:31.760><c> production</c> 00:20:32.710 --> 00:20:32.720 align:start position:0% bottom here click deploy to production 00:20:32.720 --> 00:20:35.789 align:start position:0% bottom here click deploy to production and<00:20:32.880><c> what</c><00:20:33.039><c> this</c><00:20:33.120><c> will</c><00:20:33.320><c> do</c><00:20:33.799><c> is</c><00:20:34.760><c> Minify</c><00:20:35.520><c> and</c> 00:20:35.789 --> 00:20:35.799 align:start position:0% and what this will do is Minify and 00:20:35.799 --> 00:20:38.070 align:start position:0% and what this will do is Minify and optimize<00:20:36.360><c> all</c><00:20:36.480><c> of</c><00:20:36.600><c> my</c><00:20:36.760><c> front-end</c><00:20:37.280><c> assets</c><00:20:37.960><c> it's</c> 00:20:38.070 --> 00:20:38.080 align:start position:0% optimize all of my front-end assets it's 00:20:38.080 --> 00:20:39.950 align:start position:0% optimize all of my front-end assets it's going<00:20:38.200><c> to</c><00:20:38.360><c> set</c><00:20:38.559><c> up</c><00:20:38.760><c> a</c><00:20:38.960><c> production</c><00:20:39.440><c> database</c> 00:20:39.950 --> 00:20:39.960 align:start position:0% going to set up a production database 00:20:39.960 --> 00:20:42.110 align:start position:0% going to set up a production database run<00:20:40.200><c> any</c><00:20:40.480><c> migrations</c><00:20:41.159><c> that</c><00:20:41.280><c> need</c><00:20:41.440><c> to</c><00:20:41.600><c> run</c> 00:20:42.110 --> 00:20:42.120 align:start position:0% run any migrations that need to run 00:20:42.120 --> 00:20:44.909 align:start position:0% run any migrations that need to run behind<00:20:42.480><c> the</c><00:20:42.640><c> scenes</c><00:20:43.600><c> and</c><00:20:43.799><c> then</c><00:20:44.240><c> restart</c><00:20:44.720><c> the</c> 00:20:44.909 --> 00:20:44.919 align:start position:0% behind the scenes and then restart the 00:20:44.919 --> 00:20:46.430 align:start position:0% behind the scenes and then restart the production 00:20:46.430 --> 00:20:46.440 align:start position:0% production 00:20:46.440 --> 00:20:49.549 align:start position:0% production app<00:20:47.440><c> happens</c><00:20:48.039><c> usually</c><00:20:48.520><c> pretty</c><00:20:48.840><c> quickly</c><00:20:49.400><c> which</c> 00:20:49.549 --> 00:20:49.559 align:start position:0% app happens usually pretty quickly which 00:20:49.559 --> 00:20:52.270 align:start position:0% app happens usually pretty quickly which is<00:20:49.799><c> nice</c><00:20:50.799><c> and</c><00:20:50.960><c> it</c><00:20:51.080><c> is</c><00:20:51.280><c> one</c><00:20:51.559><c> click</c><00:20:51.880><c> which</c><00:20:52.000><c> is</c> 00:20:52.270 --> 00:20:52.280 align:start position:0% is nice and it is one click which is 00:20:52.280 --> 00:20:54.430 align:start position:0% is nice and it is one click which is another<00:20:52.760><c> nice</c><00:20:52.960><c> thing</c><00:20:53.440><c> no</c><00:20:53.640><c> messing</c><00:20:53.960><c> around</c><00:20:54.280><c> in</c> 00:20:54.430 --> 00:20:54.440 align:start position:0% another nice thing no messing around in 00:20:54.440 --> 00:20:57.590 align:start position:0% another nice thing no messing around in an<00:20:54.640><c> AWS</c><00:20:55.440><c> or</c><00:20:55.720><c> Google</c><00:20:56.039><c> Cloud</c><00:20:56.360><c> console</c><00:20:57.240><c> so</c><00:20:57.400><c> that's</c> 00:20:57.590 --> 00:20:57.600 align:start position:0% an AWS or Google Cloud console so that's 00:20:57.600 --> 00:21:00.230 align:start position:0% an AWS or Google Cloud console so that's great<00:20:57.760><c> my</c><00:20:57.840><c> app</c><00:20:58.000><c> is</c><00:20:58.120><c> has</c><00:20:58.240><c> been</c><00:20:58.360><c> deployed</c><00:20:59.320><c> so</c><00:20:59.960><c> now</c> 00:21:00.230 --> 00:21:00.240 align:start position:0% great my app is has been deployed so now 00:21:00.240 --> 00:21:02.149 align:start position:0% great my app is has been deployed so now I<00:21:00.320><c> can</c><00:21:00.559><c> go</c> 00:21:02.149 --> 00:21:02.159 align:start position:0% I can go 00:21:02.159 --> 00:21:05.190 align:start position:0% I can go ahead<00:21:03.159><c> copy</c><00:21:03.520><c> this</c><00:21:03.679><c> install</c><00:21:04.159><c> link</c><00:21:04.760><c> paste</c><00:21:05.000><c> it</c> 00:21:05.190 --> 00:21:05.200 align:start position:0% ahead copy this install link paste it 00:21:05.200 --> 00:21:07.029 align:start position:0% ahead copy this install link paste it into<00:21:05.559><c> yet</c><00:21:05.720><c> another</c><00:21:06.080><c> new</c> 00:21:07.029 --> 00:21:07.039 align:start position:0% into yet another new 00:21:07.039 --> 00:21:11.990 align:start position:0% into yet another new tab<00:21:08.039><c> I</c><00:21:08.120><c> am</c><00:21:08.320><c> going</c><00:21:08.480><c> to</c> 00:21:11.990 --> 00:21:12.000 align:start position:0% 00:21:12.000 --> 00:21:14.750 align:start position:0% go<00:21:13.000><c> cart</c><00:21:13.279><c> transform</c> 00:21:14.750 --> 00:21:14.760 align:start position:0% go cart transform 00:21:14.760 --> 00:21:19.750 align:start position:0% go cart transform testing<00:21:15.760><c> install</c><00:21:16.279><c> my</c> 00:21:19.750 --> 00:21:19.760 align:start position:0% 00:21:19.760 --> 00:21:22.230 align:start position:0% app<00:21:20.760><c> and</c><00:21:20.960><c> there</c><00:21:21.080><c> we</c><00:21:21.240><c> go</c><00:21:21.480><c> so</c><00:21:21.640><c> this</c><00:21:21.760><c> is</c><00:21:21.919><c> the</c> 00:21:22.230 --> 00:21:22.240 align:start position:0% app and there we go so this is the 00:21:22.240 --> 00:21:25.310 align:start position:0% app and there we go so this is the production<00:21:22.799><c> version</c><00:21:23.760><c> of</c><00:21:23.960><c> my</c><00:21:24.200><c> app</c><00:21:24.640><c> installed</c> 00:21:25.310 --> 00:21:25.320 align:start position:0% production version of my app installed 00:21:25.320 --> 00:21:27.029 align:start position:0% production version of my app installed on<00:21:25.600><c> my</c><00:21:25.760><c> store</c> 00:21:27.029 --> 00:21:27.039 align:start position:0% on my store 00:21:27.039 --> 00:21:30.230 align:start position:0% on my store now<00:21:28.200><c> so</c><00:21:28.480><c> that's</c><00:21:28.720><c> great</c><00:21:29.400><c> that</c><00:21:29.520><c> was</c><00:21:29.720><c> kind</c><00:21:29.840><c> of</c><00:21:29.960><c> a</c> 00:21:30.230 --> 00:21:30.240 align:start position:0% now so that's great that was kind of a 00:21:30.240 --> 00:21:32.830 align:start position:0% now so that's great that was kind of a quick<00:21:30.520><c> end</c><00:21:30.799><c> to</c><00:21:30.880><c> end</c><00:21:31.200><c> build</c><00:21:31.880><c> minus</c><00:21:32.279><c> the</c><00:21:32.440><c> build</c> 00:21:32.830 --> 00:21:32.840 align:start position:0% quick end to end build minus the build 00:21:32.840 --> 00:21:37.149 align:start position:0% quick end to end build minus the build part<00:21:33.559><c> of</c><00:21:33.960><c> setting</c><00:21:34.320><c> up</c><00:21:34.720><c> my</c><00:21:34.919><c> first</c><00:21:35.320><c> Shopify</c><00:21:36.159><c> app</c> 00:21:37.149 --> 00:21:37.159 align:start position:0% part of setting up my first Shopify app 00:21:37.159 --> 00:21:39.149 align:start position:0% part of setting up my first Shopify app so<00:21:37.320><c> that</c><00:21:37.440><c> was</c><00:21:37.600><c> just</c><00:21:37.799><c> a</c><00:21:38.039><c> very</c><00:21:38.360><c> quick</c><00:21:38.600><c> intro</c><00:21:38.960><c> to</c> 00:21:39.149 --> 00:21:39.159 align:start position:0% so that was just a very quick intro to 00:21:39.159 --> 00:21:41.590 align:start position:0% so that was just a very quick intro to Shopify<00:21:39.799><c> app</c><00:21:40.039><c> development</c><00:21:40.960><c> I</c><00:21:41.080><c> do</c><00:21:41.240><c> recommend</c> 00:21:41.590 --> 00:21:41.600 align:start position:0% Shopify app development I do recommend 00:21:41.600 --> 00:21:43.149 align:start position:0% Shopify app development I do recommend you<00:21:41.799><c> actually</c><00:21:42.000><c> go</c><00:21:42.200><c> through</c><00:21:42.400><c> the</c><00:21:42.600><c> process</c><00:21:43.000><c> of</c> 00:21:43.149 --> 00:21:43.159 align:start position:0% you actually go through the process of 00:21:43.159 --> 00:21:45.549 align:start position:0% you actually go through the process of building<00:21:43.520><c> an</c><00:21:43.760><c> app</c><00:21:44.200><c> next</c><00:21:44.799><c> and</c><00:21:44.960><c> included</c><00:21:45.400><c> in</c> 00:21:45.549 --> 00:21:45.559 align:start position:0% building an app next and included in 00:21:45.559 --> 00:21:47.350 align:start position:0% building an app next and included in this<00:21:45.720><c> video</c><00:21:46.039><c> description</c><00:21:46.559><c> is</c><00:21:46.679><c> a</c><00:21:46.799><c> link</c><00:21:47.000><c> to</c><00:21:47.159><c> our</c> 00:21:47.350 --> 00:21:47.360 align:start position:0% this video description is a link to our 00:21:47.360 --> 00:21:49.029 align:start position:0% this video description is a link to our product<00:21:47.679><c> tager</c><00:21:48.120><c> tutorial</c><00:21:48.559><c> and</c><00:21:48.640><c> that'll</c><00:21:48.880><c> walk</c> 00:21:49.029 --> 00:21:49.039 align:start position:0% product tager tutorial and that'll walk 00:21:49.039 --> 00:21:51.310 align:start position:0% product tager tutorial and that'll walk you<00:21:49.159><c> through</c><00:21:49.440><c> actually</c><00:21:50.240><c> modifying</c><00:21:50.919><c> your</c> 00:21:51.310 --> 00:21:51.320 align:start position:0% you through actually modifying your 00:21:51.320 --> 00:21:54.510 align:start position:0% you through actually modifying your database<00:21:52.320><c> adding</c><00:21:52.640><c> some</c><00:21:52.919><c> custom</c><00:21:53.360><c> backend</c><00:21:53.840><c> code</c> 00:21:54.510 --> 00:21:54.520 align:start position:0% database adding some custom backend code 00:21:54.520 --> 00:21:56.430 align:start position:0% database adding some custom backend code and<00:21:54.640><c> then</c><00:21:54.799><c> building</c><00:21:55.240><c> a</c><00:21:55.440><c> unique</c><00:21:55.799><c> front</c><00:21:56.039><c> end</c><00:21:56.279><c> for</c> 00:21:56.430 --> 00:21:56.440 align:start position:0% and then building a unique front end for 00:21:56.440 --> 00:21:59.310 align:start position:0% and then building a unique front end for your<00:21:56.679><c> embedded</c><00:21:57.320><c> app</c><00:21:58.360><c> if</c><00:21:58.480><c> you</c><00:21:58.720><c> have</c><00:21:59.000><c> any</c> 00:21:59.310 --> 00:21:59.320 align:start position:0% your embedded app if you have any 00:21:59.320 --> 00:22:00.830 align:start position:0% your embedded app if you have any questions<00:21:59.720><c> about</c><00:21:59.960><c> getting</c><00:22:00.159><c> started</c><00:22:00.520><c> building</c> 00:22:00.830 --> 00:22:00.840 align:start position:0% questions about getting started building 00:22:00.840 --> 00:22:04.149 align:start position:0% questions about getting started building shopy<00:22:01.440><c> apps</c><00:22:02.039><c> feel</c><00:22:02.320><c> free</c><00:22:02.559><c> to</c><00:22:02.919><c> join</c><00:22:03.279><c> our</c><00:22:03.640><c> Discord</c> 00:22:04.149 --> 00:22:04.159 align:start position:0% shopy apps feel free to join our Discord 00:22:04.159 --> 00:22:06.269 align:start position:0% shopy apps feel free to join our Discord and<00:22:04.400><c> reach</c><00:22:04.640><c> out</c><00:22:05.200><c> the</c><00:22:05.320><c> link</c><00:22:05.520><c> is</c><00:22:05.640><c> in</c><00:22:05.760><c> the</c><00:22:05.880><c> video</c> 00:22:06.269 --> 00:22:06.279 align:start position:0% and reach out the link is in the video 00:22:06.279 --> 00:22:08.430 align:start position:0% and reach out the link is in the video description<00:22:07.200><c> until</c><00:22:07.520><c> next</c><00:22:07.760><c> time</c><00:22:08.080><c> I</c><00:22:08.200><c> hope</c><00:22:08.320><c> you</c> 00:22:08.430 --> 00:22:08.440 align:start position:0% description until next time I hope you 00:22:08.440 --> 00:22:10.269 align:start position:0% description until next time I hope you keep<00:22:08.600><c> building</c><00:22:08.919><c> more</c><00:22:09.159><c> and</c><00:22:09.320><c> coding</c><00:22:09.679><c> less</c><00:22:10.039><c> with</c> 00:22:10.269 --> 00:22:10.279 align:start position:0% keep building more and coding less with 00:22:10.279 --> 00:22:13.039 align:start position:0% keep building more and coding less with Gadget