-
Урок 1.
00:02:09
Welcome to the course
-
Урок 2.
00:01:40
How to get the most out of ServerlessReact.Dev
-
Урок 3.
00:02:30
Goals of the modern stack
-
Урок 4.
00:05:27
What is the modern stack
-
Урок 5.
00:01:54
The exact stack we use
-
Урок 6.
00:04:48
Gatsby
-
Урок 7.
00:05:43
Design systems and Rebass
-
Урок 8.
00:06:05
GraphQL
-
Урок 9.
00:04:00
Serverless
-
Урок 10.
00:02:36
Infrastructure as code
-
Урок 11.
00:03:37
DynamoDB
-
Урок 12.
00:02:55
Auth0 and useAuth
-
Урок 13.
00:04:06
Edge First Architecture
-
Урок 14.
00:03:16
Offline-first Architecture
-
Урок 15.
00:05:16
Outline your project
-
Урок 16.
00:01:51
Create your repository
-
Урок 17.
00:03:32
Create Gatsby webapp
-
Урок 18.
00:02:19
Update config
-
Урок 19.
00:05:16
Configure styling with Rebass
-
Урок 20.
00:01:41
Gatsby component shadowing
-
Урок 21.
00:02:11
Rebass responsiveness
-
Урок 22.
00:02:04
Basic landing page
-
Урок 23.
00:02:53
Authentication
-
Урок 24.
00:06:53
Add useAuth hook
-
Урок 25.
00:00:52
The backend
-
Урок 26.
00:04:39
serverless.yml
-
Урок 27.
00:02:32
GraphQL Lambda
-
Урок 28.
00:02:52
Deploy script
-
Урок 29.
00:02:34
What is The Server anyway?
-
Урок 30.
00:01:06
Connect your webapp to GraphQL
-
Урок 31.
00:03:19
use static query
-
Урок 32.
00:03:02
Connect to GraphQL at run-time
-
Урок 33.
00:02:57
Use live data
-
Урок 34.
00:03:04
What we created
-
Урок 35.
00:00:50
Building your app
-
Урок 36.
00:01:48
Prepare GraphQL mutation
-
Урок 37.
00:04:32
Mutation resolver
-
Урок 38.
00:01:21
How typescript finds bugs
-
Урок 39.
00:04:25
Create DynamoDB table
-
Урок 40.
00:03:05
First working test of your resolver
-
Урок 41.
00:03:32
Write mutation to actually upsert
-
Урок 42.
00:02:27
Verify upserting users works
-
Урок 43.
00:04:25
Running mutation in useMutation
-
Урок 44.
00:02:44
Extract logic into custom hooks
-
Урок 45.
00:03:29
How useAuth and useUpdateUser work together
-
Урок 46.
00:00:38
Create user landing pages
-
Урок 47.
00:02:08
A simple dashboard component
-
Урок 48.
00:03:14
A create page form
-
Урок 49.
00:02:24
createPage mutation on button click
-
Урок 50.
00:04:42
createPage mutation on the backend
-
Урок 51.
00:03:13
Make the pages table
-
Урок 52.
00:02:10
Link to page after creating
-
Урок 53.
00:03:05
Add an allPages query on the server
-
Урок 54.
00:04:50
Dynamically create static Gatsby pages
-
Урок 55.
00:02:44
Render created pages
-
Урок 56.
00:03:16
Fetch fresh data on page load
-
Урок 57.
00:03:56
Add page query to server
-
Урок 58.
00:03:24
Show content and editor side-by-side
-
Урок 59.
00:03:02
Render markdown with Remark
-
Урок 60.
00:03:29
Live edit page
-
Урок 61.
00:03:32
Editing requires auth
-
Урок 62.
00:03:05
Add save button
-
Урок 63.
00:04:58
savePage mutation
-
Урок 64.
00:05:25
debug odd savePage issue
-
Урок 65.
00:02:09
Provisional prod deploy
-
Урок 66.
00:01:23
Verify it works
-
Урок 67.
00:02:22
Does GraphQL require DynamoDB?
-
Урок 68.
00:01:05
Why is expression and values separate?
-
Урок 69.
00:01:27
Are DynamoDB keys like relations in a traditional DB?
-
Урок 70.
00:00:48
What's the difference between useQuery and useMutation?
-
Урок 71.
00:01:36
Should you use useMutation centrally?
-
Урок 72.
00:02:13
Where we're at
-
Урок 73.
00:00:50
What we're doing next
-
Урок 74.
00:02:32
Use static query to load page list
-
Урок 75.
00:02:25
Render page list
-
Урок 76.
00:03:25
Static-to-dynamic page list
-
Урок 77.
00:01:56
Refactor to a custom hook
-
Урок 78.
00:02:23
Prep backend for live redeploys
-
Урок 79.
00:01:02
Connect zeit and github
-
Урок 80.
00:02:18
Use deploy hooks to trigger deployments
-
Урок 81.
00:04:40
Ensure deployment runs on save page
-
Урок 82.
00:00:55
Verify deployments work
-
Урок 83.
00:04:10
Time to integrate Stripe and start getting paid for all your hard work.
-
Урок 84.
00:01:32
improve textarea, add Deploy button
-
Урок 85.
00:00:57
initiate payment proces
-
Урок 86.
00:03:10
create Stripe session pt1
-
Урок 87.
00:05:55
create Stripe session rest api
-
Урок 88.
00:02:00
fix typescript errors
-
Урок 89.
00:02:23
cors headers
-
Урок 90.
00:02:44
correctly call createStripeSession api
-
Урок 91.
00:02:46
make test purchase
-
Урок 92.
00:03:10
show purchase success
-
Урок 93.
00:01:56
Prod vs. Dev on backend
-
Урок 94.
00:01:42
use dev and prod configs
-
Урок 95.
00:00:33
see separate deploy
-
Урок 96.
00:00:40
Prod on frontend
-
Урок 97.
00:01:39
With Gatsby .env approach
-
Урок 98.
00:02:11
runtime .env configs
-
Урок 99.
00:01:07
setup zeit manual deploys
-
Урок 100.
00:01:45
Using Zeit secrets
-
Урок 101.
00:01:39
alias to prod domain
-
Урок 102.
00:01:38
move runtime config to static queries
-
Урок 103.
00:02:06
use json files to feed configs
-
Урок 104.
00:01:12
it works in prod, yay
-
Урок 105.
00:01:14
Why charge if data is already sent to browser?
-
Урок 106.
00:00:44
When does gatsby-browser vs. gatsby-ssr run?