Frontendmasters Courses
897 subscribers
1 photo
7.9K videos
2.04K links
#frontendmasters courses

source: https://frontendmasters.com/courses

Channel for automated uploaded courses from frontendmasters.com

Our Channels:
@vue_courses
@vue_updates

Contacts:
@Black_Yuzia
Download Telegram
Media is too big
VIEW IN TELEGRAM
27. Visual Considerations
Marcy discusses topics related to visual accessibility. Examples of color contrast, reflow/zoom, reducing motion, and color schemes are shared. Performance metrics are also important, including how many keystrokes it takes to perform an action on the page.
#lesson
This media is not supported in your browser
VIEW IN TELEGRAM
28. Reduced Motion Exercise
Students are instructed to improve the accessibility of the header by using the prefers reduced motion API.
-
https://web-accessibility-v3.vercel.app/topics/visual-considerations/exercise-6
#lesson
1
Media is too big
VIEW IN TELEGRAM
29. Wrapping Up
Marcy wraps up the course with additional resources for improving the accessibility of your web applications.
-
https://web-accessibility-v3.vercel.app/topics/wrap-up
#lesson
Title: Server-Side GraphQL in Next.js
Description: Craft schemas, interface types, and resolvers while building a custom GraphQL API with Next.js.
Link: https://frontendmasters.com/courses/server-graphql-nextjs/
Time: 3 hours, 32 minutes
Lessons: 21 / 21
Tags: #course #frontendmasters #720p
Media is too big
VIEW IN TELEGRAM
1. Introduction
Scott introduces the course and provides an overview of what will be covered, including building a GraphQL API using Next.js, working with databases, and enabling authentication. Scott also explains the format of the course, which will involve a combination of explanations, live demos, and hands-on practice.
-
https://github.com/Hendrixer/server-side-gql
-
https://clumsy-humor-894.notion.site/Server-side-GraphQL-55308b7315644a858dd6ccf0201ff13c
#lesson
This media is not supported in your browser
VIEW IN TELEGRAM
2. Course Setup
Scott provides instructions on how to set up the development environment for the course. He explains how to fork the repository, install the necessary dependencies using npm, and create a Turso account for the hosted SQLite database. He also guides students through creating a .env file to store secret variables and pushing the database schema to the Turso database.
-
https://github.com/Hendrixer/server-side-gql
-
https://clumsy-humor-894.notion.site/Server-side-GraphQL-55308b7315644a858dd6ccf0201ff13c
#lesson
Media is too big
VIEW IN TELEGRAM
3. What is GraphQL
Scott introduces GraphQL and explains its two main components: the query language and the server component. He discusses how GraphQL allows clients to query data sources and how the server component fulfills those queries. Scott also highlights the benefits of using GraphQL, such as tying into multiple data sources and organizing APIs in a standardized way.
-
https://clumsy-humor-894.notion.site/1-What-is-GraphQL-01bbdde7a70f47d4bb6a942626067799
#lesson
Media is too big
VIEW IN TELEGRAM
4. Schema Type Definition
Scott introduces the concept of the schema definition language (SDL) in GraphQL. He explains that SDL is used to define the structure and types of a GraphQL schema, similar to how a database schema defines the structure of a database. Scott demonstrates how to create a simple GraphQL schema using SDL and shows how to explore and test the schema using Apollo Studio.
-
https://clumsy-humor-894.notion.site/2-SDL-c0c6bf4e1d934046a4dbf0880c62082a
#lesson
Media is too big
VIEW IN TELEGRAM
5. Interface Types
Scott explains that an interface is like an abstract type that can be implemented by other object types. He demonstrates how to define an interface in the schema and how to implement it in different object types. He also shows how to query for common fields shared by objects that implement the interface, as well as specific fields for each object type.
#lesson
Media is too big
VIEW IN TELEGRAM
6. Union Types
Scott explains the concept of unions in GraphQL and provides an example of a search result where different types of objects can be returned. Scott demonstrates how to define a union type and incorporate it into the query object. He also discusses the syntax for querying fields on union types and how to determine the type of a union object using the " typename" field.
#lesson
Media is too big
VIEW IN TELEGRAM
7. Schema Relationships
Scott discusses relationships in GraphQL and demonstrates how to define a one-to-one relationship between a profile and a person, as well as a cyclic relationship where a person has a profile and a profile has a person. Scott also mentions the potential issues with cyclic relationships and the need for additional tools or plugins to prevent abuse or performance problems.
#lesson
Media is too big
VIEW IN TELEGRAM
8. Directives & Enums
Scott explains that directives are like middleware for fields or entities in a GraphQL schema. He demonstrates how to use the built-in "deprecated" directive to mark a field as deprecated and show a deprecation message in the GraphQL Explorer. He also mentions that custom directives can be created for various purposes, such as authentication.
#lesson
Media is too big
VIEW IN TELEGRAM
9. Queries & Mutations
Scott discusses the difference between queries and mutations, with queries being used to retrieve data and mutations being used to modify or create data. He also demonstrates how to pass arguments to queries and mutations, and how to use input types for more complex arguments. Scott also briefly touches on custom directives, walking through an example of how to create and use a directive called "uppercase" to modify the behavior of a field.
#lesson
Media is too big
VIEW IN TELEGRAM
10. Resolvers
Scott explains that resolvers are functions that generate responses for GraphQL queries. He demonstrates how to create resolvers for different types and fields in the schema, and explains the arguments that resolvers receive, such as the parent object, arguments, context, and info. Scott also shows how resolvers can be used to override the default resolution of fields and return custom data.
-
https://clumsy-humor-894.notion.site/3-Resolvers-bebd1ca0ddc447df8b22372d61890585
#lesson
Media is too big
VIEW IN TELEGRAM
11. Resolving Enums & Unions
Scott discusses how to resolve enums, which involves mapping the enum values to different values if needed. Then, he moves on to resolving unions, which requires determining the type of the object being resolved based on its properties. Scott also provides examples and code snippets to demonstrate the process of resolving enums and unions.
#lesson
This media is not supported in your browser
VIEW IN TELEGRAM
12. Resolving Nested Objects
Scott demonstrates how to create a resolver for a nested object, such as a person's pets, and explains the importance of only querying the database for the nested object when it is requested in the GraphQL query. Scott also clarifies the concept of the parent object in resolvers and mentions that the order of resolvers within an object does not matter, as long as the names match.
#lesson
Media is too big
VIEW IN TELEGRAM
13. Configuring the API Server
Scott guides students through creating schema and resolver files and configuring the server in the route.ts file. He explains the purpose of each step and provides code examples for students to follow along.
-
https://clumsy-humor-894.notion.site/4-Creating-an-API-a211adfd0d2b45e5933c2e9a54c775ab
#lesson
Media is too big
VIEW IN TELEGRAM
14. Authentication Schema
Scott discusses the necessary components for authentication, such as the user type, query to get the user, and input for signing in. He mentions the importance of not including sensitive information, like passwords, in the GraphQL schema. He also provides examples of how to define the user type, auth input, and mutations for signing in.
-
https://clumsy-humor-894.notion.site/5-Authentication-56c255319ff84214b7b4c12399b4dbaf
#lesson
Media is too big
VIEW IN TELEGRAM
15. Authentication Resolver
Scott walks through creating resolvers and explains the purpose of the imports and the different utility functions used in the resolvers. He also demonstrates creating a resolver for the "me" query and the signin and signup mutations.
#lesson
Media is too big
VIEW IN TELEGRAM
16. Testing the Authentication Routes
Scott explains how to configure the global context to retrieve the current user if an authorization header is set. He demonstrates how to add a context property to the Apollo server configuration and writes a function that retrieves the user from the authorization header.
#lesson
Media is too big
VIEW IN TELEGRAM
17. Creating Issues
Scott guides students through the process of creating a "create issue" mutation in GraphQL. He defines the issue type, creates an input type for creating an issue, and implements the mutation resolver.
-
https://clumsy-humor-894.notion.site/6-Create-Issues-9ba38ba5cfa34592bc9f4d5b5bab9e5b
#lesson