4.68 sur 5
4.68

Guide complet pour créer une application avec .Net Core et React

Le guide complet pour créer une application du début à la fin en utilisant ASP.NET Core, React (avec Typescript) et Mobx
Instructeur :
Mahefa Abel
English En savoir plus
Apprenez à créer une application du début à la publication avec .Net Core (v2.2), React (avec Typescript) et Mobx
Comment créer une API Web dans .Net Core avec Clean Architecture en utilisant le modèle CQRS + Mediator
Comment utiliser les packages AutoMapper et MediatR dans les projets .Net
Comment construire une solution multi-projets avec .Net Core
Comment utiliser Entity Framework Core en tant que mappeur relationnel objet
Comment intégrer ASPNET Core SignalR dans une application de communication Web en temps réel
Comment ajouter une identité et une authentification à l'aide de .Net Core Identity
Comment créer une application côté client pour l'API avec React
Comment utiliser MobX comme bibliothèque de gestion d'état
Comment créer notre propre widget de téléchargement de photos avec une Dropzone et un Cropper pour redimensionner les images

***Course a maintenant eu une mise à jour majeure pour .Net 5.0 et React 17***

Remarque : La vraie longueur de ce le cours dure environ 32 heures.   La version héritée du cours a été déplacée à la fin après la nouvelle version du cours.

Avez-vous appris les bases d’ASP.NET Core et de React ? Vous ne savez pas où aller ensuite? Ce cours devrait pouvoir vous y aider. Dans ce cours, nous apprenons à créer une solution ASP.NET Core multi-projets qui est construite en utilisant Clean Architecture et le modèle CQRS et Mediator cela rend notre code facile à comprendre, à raisonner et à étendre.

Les deux ASP.NET Core et React sont des sujets d’actualité et ce cours améliorera vos connaissances des deux, simplement en créant une application du début à la fin. Dans chaque module, nous apprenons quelque chose de nouveau, tout en ajoutant progressivement des fonctionnalités à l’application. Construire une application est nettement plus gratifiant que de construire une autre liste de tâches à partir de la documentation !

Chaque ligne de code est démontrée et expliquée et à la fin de ce cours, vous aurez les compétences et les connaissances pour créez votre propre application en utilisant les techniques enseignées dans ce cours.

Voici certaines des choses que vous apprendrez dans ce cours :

  • Configuration de l’environnement de développement
  • Création d’une solution multi-projets à l’aide de l’API Web ASP.NET Core et de l’application React à l’aide de la CLI DotNet et de l’utilitaire create-react-app.
  • Clean Architecture et le modèle CQRS + Mediator
  • Installation et configuration de l’identité ASP.NET Core pour l’authentification
  • Utilisation de React avec Typescript
  • Ajout d’une fonction de connexion et d’enregistrement côté client à notre application React
  • Utilisation de React Router
  • Utilisation d’AutoMapper dans ASP.NET Core
  • Création d’un gr manger une interface utilisateur à l’aide de l’interface utilisateur sémantique
  • Ajout d’un widget de téléchargement de photos et création de pages de profil utilisateur
  • Utilisation du formulaire final React pour créer -entrées de formulaire utilisables avec validation
  • Paging, tri et filtrage
  • Utilisation de SignalR pour permettre la communication Web en temps réel vers un chat fonctionnalité dans notre application
  • Publier l’application à la fois sur IIS et Linux
  • Obtenir une note « A » pour la sécurité d’un site d’analyse de sécurité bien connu.
  • Beaucoup d’autres choses également

Outils dont vous avez besoin pour ce cours

Dans ce cours, toutes les leçons sont illustrées à l’aide de Visual Studio Code, un éditeur de code multiplateforme gratuit (et fantastique). Vous pouvez bien sûr utiliser n’importe quel éditeur de code que vous aimez et n’importe quel système d’exploitation que vous aimez… tant qu’il s’agit de Windows, Linux ou Mac

Ce cours est-il pour vous ?</ p>

Ce cours est très pratique, environ 90%+ des leçons vous impliqueront de coder avec moi sur ce projet. Si vous êtes le genre de personne qui tire le meilleur parti de l’apprentissage par la pratique, alors ce cours est fait pour vous.

Dans ce cours, nous allons créer un exemple d’application de réseau social qui permet aux utilisateurs de s’inscrire à événements (similaires à MeetUp ou Facebook), entièrement à partir de zéro. Tout ce avec quoi nous commençons est une fenêtre de terminal vide ou une invite de commande.

Tout ce dont vous aurez besoin pour commencer est un ordinateur avec votre système d’exploitation préféré et une passion pour apprendre à créer une application à l’aide d’ASP.NET Core et réagir

Introduction

1
Course introduction
2
Setting up the developer environment
3
VS Code extensions
4
Source code and Resources used on this course

Walking Skeleton Part 1 - API

1
Introduction
2
Creating the .Net projects and references
3
Reviewing the project files and startup
4
The API controller and using postman
5
Creating a domain entity
6
Adding an Entity Framework Db Context
7
Creating an Entity Framework code first migration
8
Creating the database
9
Seeding data to the Database
10
Adding an API controller
11
Saving changes into source control
12
Summary of Section 2

Walking Skeleton Part 2 - Client

1
Introduction
2
Creating the React project
3
Reviewing the React project files
4
Why React?
5
React Components
6
Typescript concepts
7
Typescript demo
8
Using Typescript with React
9
React dev tools
10
Fetching data from the API
11
CORS Policy
12
Semantic UI React
13
Summary of section 3

Creating a CRUD application using the CQRS + Mediator pattern

1
Introduction
2
Clean Architecture
3
CQRS
4
Creating our first Query handler
5
Thin controllers in the API
6
Adding a Details handler
7
Adding a Create handler
8
Adding an Edit handler
9
Adding AutoMapper
10
Adding a Delete handler
11
Startup class housekeeping
12
Cancellation tokens
13
Using the debugger in VS Code
14
Summary of section 4

Creating a CRUD application in React

1
Introduction
2
Folder structure in React
3
Adding an Activity interface
4
Adding a Nav bar
5
Adding some style to the nav bar
6
Creating an activity dashboard
7
Creating an activity list
8
Creating a details view
9
Creating an Activity form
10
Selecting an activity to view
11
Displaying the create/edit form
12
Editing an activity and form basics in React
13
Handle create and edit submission
14
Using a GUID for the activity id
15
Deleting an activity
16
Summary of section 5

Axios

1
Introduction
2
Setting up axios
3
Axios types
4
Adding loading indicators
5
Posting data to the server
6
Deleting activity on the server
7
Summary of section 6

MobX

1
Introduction
2
What is MobX?
3
Setting up MobX
4
MobX actions
5
Refactoring the app to use MobX
6
MobX strict mode
7
Selecting an Activity using MobX
8
Creating an Activity using MobX
9
Deleting an activity using MobX
10
Using a Javascript map object to store the activities
11
Summary of section 7

Routing

1
Introduction
2
Installing React Router
3
Adding routes
4
Adding nav links
5
Adding a details link
6
Getting an individual activity
7
Using route parameters
8
Adding the edit activity route
9
Adding a key to the route
10
Redirect after submission
11
Moving the home page outside of nav
12
Cleaning up unused code
13
Summary of section 8

Styling the User Interface

1
Introduction
2
Styling the activity list
3
Grouping the activities by date
4
Styling the list items
5
Activity details page
6
Populating the detailed components
7
Adding the activity filter component
8
Styling the home page
9
Summary of section 9

Error handling

1
Introduction
2
Validation with data annotations
3
Fluent Validation
4
Handling API Error responses
5
Handling API Error responses part 2
6
Handling API Error responses part 3
7
Handling API Error responses part 4
8
Handling exceptions
9
Preparing for setting up error handling in the client app
10
Using an interceptor to handle API error responses
11
Adding a not found component
12
Handling 400 errors
13
Handling 500 errors on the client
14
Handling the validation error from an invalid GUID
15
Summary of section 10

Forms

1
Introduction
2
Setting up Formik
3
Formik with less code
4
Validation in Formik
5
Creating a reusable text input
6
Creating a reusable text area
7
Creating a reusable select input
8
Creating a reusable date input
9
The date strategy
10
Using Date-FNS
11
Hooking up the form submission to Formik
12
Summary of section 11

Identity

1
Introduction
2
Adding a user entity
3
Adding an IdentityDbContext
4
Configuring Identity in the Startup class
5
Adding seed users
6
Creating the user DTOs
7
Adding an account controller
8
JSON Web Tokens
9
Creating a token service
10
Authenticating to the app
11
Storing secrets in development
12
Creating an auth policy
13
Registering new users
14
Validating the registration of users
15
Getting the current user
16
Summary of section 12

Client side login and registration

1
Introduction
2
Creating a login form
3
Creating the interfaces and methods
4
Creating a user store
5
Displaying errors in the form
6
Setting the token upon login
7
Updating the home page and nav bar
8
Persisting the login
9
Sending up the token with the request
10
Adding Modals
11
Adding the register form
12
Handling validation errors in the register form
13
Summary of section 13

Entity Framework Relationships

1
Introduction
2
Configuring the new relationship
3
Adding an infrastructure project
4
Updating the create activity handler
5
Testing the create activity
6
Loading related data
7
Shaping the related data
8
Configuring AutoMapper profiles
9
Adding the attendance handler
10
Adding a custom auth policy
11
Resolving the bug with with the edit handler
12
Updating the seed data
13
Summary of section 14

Feature - Client side attendance

1
Introduction
2
Adding the attendees component
3
Updating the details component
4
Conditionally rendering the buttons
5
Adding the store methods to attend
6
Updating the create and edit methods
7
Adding a cancel activity method
8
Adding a popover for attendees
9
Summary of section 15

API Image upload

1
Introduction
2
Adding Cloudinary
3
Adding the Cloudinary interfaces
4
Adding the add photo logic
5
Adding the Photo entity
6
Adding the Add photo handler
7
Adding a photos controller
8
Deleting photos
9
Setting the main photo
10
Returning user profiles
11
Updating the mapping configuration
12
Returning an attendee DTO
13
Summary of section 16

Client image upload

1
Introduction
2
Creating a profile page
3
Adding a profile header
4
Adding the profile content
5
Getting the profile data
6
Getting the profile data part 2
7
Displaying the photos
8
Conditionally rendering the photo widget
9
Creating a photo upload widget
10
Adding a Dropzone
11
Styling the Dropzone
12
Adding a react cropper
13
Adding the photo upload method
14
Setting the main photo
15
Deleting photos
16
Summary of section 17

Challenge

1
Challenge introduction

SignalR

1
Introduction
2
Setting up the comment entity
3
Adding a comment DTO and mapping
4
Adding the create handler
5
Adding a list handler
6
Adding a SignalR Hub
7
Authenticating to SignalR
8
Adding SignalR to the client
9
Connecting to the hub
10
Sending comments
11
Adding validation and fix issues
12
Resolving UTC dates
13
Summary of section 19

Followers / Following feature

1
Introduction
2
Adding a join entity
3
Adding a handler for following
4
Adding the controller
5
Update the profile class
6
Return a list of followers
7
Adding the following property to the mapping configuration
8
Updating the other handlers with the following property
9
Adding the UI for followers
10
Adding methods to follow and unfollow
11
Making the follow button a component
12
Getting a list of followings
13
Using MobX Reactions
14
Summary of section 20

Paging, Sorting and Filtering

1
Introduction
2
Adding a PagedList class
3
Adding application layer pagination logic
4
Adding a pagination header
5
Adding client side pagination
6
Adding pagination parameters
7
Adding vertical paging
8
Adding infinite scrolling
9
Adding filtering in the API
10
Client side filtering
11
Updating the filter component
12
Adding placeholders
13
Adding a user profile activities component + challenge
14
Challenge solution
15
Summary of section 21

Finishing touches and publishing

1
Introduction
2
Adding Scroll to top for our routes
3
Adding private routes
4
Prepping the client app for production
5
Building the production build of the react app
6
Running the client app on the dotnet Kestrel server
7
Adding PostGresQL
8
Switching to PostGresQL
9
Setting up Heroku
10
Deploying the app to Heroku
11
Security tightening
12
Content security policies
13
End of course summary

Bonus section - Identity Cookbook

1
Introduction
2
Setting up Facebook login
3
Connecting Heroku to GitHub
4
Adding the Facebook JS SDK
5
Configuring the API endpoint
6
Debugging the Facebook info
7
Facebook login finishing touches
8
Redeploying the app to Heroku
9
Introduction to Refresh Tokens
10
Adding the Refresh token domain entity
11
Updating the JWT token parameters
12
Updating the account controller
13
Testing in Postman
14
Client side configuration
15
Testing the refresh token in the client
16
Redeploying the app to Heroku
17
Introduction to Email verification
18
Setting up SendGrid
19
Require a confirmed email to sign in
20
Updating the register method
21
Adding the confirm email endpoint
22
Testing in Postman
23
Setting up the client for email confirmation
24
Adding a verify email component
25
Finishing up and testing
26
Redeploying the app to Heroku

Introduction (Legacy)

1
Course Introduction
2
Setting up the dev environment
3
Visual Studio Code extensions
4
Source code and resources for this course

Walking Skeleton Part 1 - API (Legacy)

1
Section 2 introduction
2
Creating the ASP.NET Core solutions and projects using the DotNet CLI
3
Creating the project references using the DotNet CLI
4
Reviewing the Project files
5
Running the application
6
Creating a Domain entity
7
Creating the DbContext and service
8
Adding our first Entity Framework code first migration
9
Creating the database
10
Seeding data using Entity Framework fluent configuration
11
Using Dependancy Injection
12
Introduction to Postman
13
Saving our changes into Source control using Git
14
Section 2 summary

Walking Skeleton Part 2 - Client (Legacy)

1
Section 3 introduction
2
Using create-react-app to create our React application
3
Reviewing the React project files
4
Introduction to React - Concepts
5
Introduction to React - Components
6
Introduction to Typescript
7
Typescript basics demo
8
Using Typescript with React
9
Adding React dev tools
10
React Class Components
11
Using React State
12
Fetching data from the API
13
Adding CORS support to the API
14
Adding Semantic UI to our app
15
Clean up and saving our code to source control
16
Summary of section 3

Building a CRUD application in .Net Core using the CQRS + Mediator (Legacy)

1
Section 4 introduction
2
Adding the Activity entity
3
Seeding Activity data
4
Commands and Queries - CQRS
5
Introduction to MediatR
6
Creating our first Query handler
7
Creating the Activities API Controller
8
Adding the Details Handler
9
Cancellation Tokens
10
Adding the Create handler
11
Dealing with boilerplate code in our handlers
12
Adding an Edit handler
13
Adding a Delete handler
14
Summary of section 4

Building a CRUD application in React (Legacy)

1
Section 5 introduction
2
Introduction to React Hooks
3
Folder structure in React
4
Getting a list of activities from the API
5
Adding an Activity interface in Typescript
6
Refactoring our class component to use React Hooks
7
Adding the Navigation bar
8
Styling React components
9
Adding the Activity Dashboard
10
Creating the Activity List
11
Adding the Activity Details component
12
Adding the Activity Form component
13
Selecting an individual Activity
14
Adding an edit mode to display the form
15
Adding a create activity mode
16
Initialising the form with data
17
Controlled components in React
18
Handling form submission
19
Fixing issues with the dates in the form
20
Adding the delete functionality
21
Summary of section 5

Axios (Legacy)

1
Section 6 introduction
2
Setting up the agent.ts file
3
Listing our activities
4
Updating an Activity
5
Adding a delay to our API methods
6
Adding a loading component
7
Adding a loading indicator for submitting data
8
Isolating the loading indicator on the delete button
9
Summary of section 6

MobX (Legacy)

1
Section 7 introduction
2
Introduction to MobX
3
Setting up a MobX store
4
Refactoring the activity list to use the store
5
Refactoring the select activity function
6
Using Async Await in our methods
7
Refactoring the create activity method
8
MobX computed properties
9
Using an Observable Map
10
Adding the edit activity action
11
Adding the delete activity action
12
Cleaning up our code
13
Enabling MobX strict mode
14
Adding MobX dev tools
15
Summary of section 7

React Router (Legacy)

1
Section 8 introduction
2
Setting up React Router
3
Setting up our Routes
4
Adding Links and NavLinks
5
Adding the Details link
6
Getting an Activity from the API
7
Using Route params
8
Navigating via code
9
Routing to the edit form
10
Using a Fully Uncontrolled Component with a key to reset component state
11
Navigating after submission
12
Moving the home page outside of our navigation routes
13
Scrolling to the top of the page on navigation
14
More code clean up
15
Summary of section 8

Adding some style (Legacy)

1
Section 9 introduction
2
Styling the activity list
3
Grouping activities by date
4
Styling the activity list items
5
Creating the Activity Details page
6
Styling the Activity Detailed Page Header
7
Styling the Activity Detailed Info
8
Styling the Activity Detailed Chat and Sidebar components
9
Styling the Activity Form
10
Styling the Home page
11
Section 9 summary

Error handling and validation (Legacy)

1
Section 10 introduction
2
Introduction to validation in the API
3
Adding validation in the API using Data Annotations
4
Adding validation in the API using Fluent Validation
5
Error handling concepts in our application
6
Error handling strategy
7
Creating a derived Exception class for Rest exceptions
8
Adding Error handling middleware
9
Using our Error handling middleware
10
Using Axios interceptors to catch errors
11
Throwing errors in the client
12
Adding routing functionality to Axios
13
Handling an invalid GUID on a get request
14
Adding toast notifications
15
Handling network errors in Axios
16
Summary of section 10

Forms (Legacy)

1
Section 11 introduction
2
Setting up React Final Form
3
Creating a reusable Text input field
4
Refactoring the form to use React Final Form
5
Creating a reusable Text Area Input field
6
Creating a reusable Select input field
7
Setting up React Widgets
8
Creating a reusable Date Input field
9
Formatting the dates using Date-FNS
10
Creating separate Date and Time fields
11
Combining Date and Time inputs
12
Initialising the form with data
13
Submitting data to the server
14
Form error handling
15
Form validation
16
Summary of section 11

ASP.NET Core Identity (Legacy)

1
Section 12 introduction
2
Introduction to ASP.NET Core Identity
3
Adding the Identity User Entity
4
Configuring Identity in our startup class
5
Seeding users to the database
6
Adding a Login Handler
7
Adding a Base API controller
8
Adding a User API controller
9
Adding a User object
10
JSON Web Tokens introduction
11
Adding the Infrastructure project
12
Adding the JWT Generator interface and class
13
Generating a JWT Token
14
Returning the JWT Token on successful login
15
Securing our app with Authorization
16
Dotnet user secrets
17
Adding an authorisation policy
18
Adding a Register Handler
19
Testing user registration
20
Adding a Fluent Validator extension for password validation
21
Retrieving the Username from the token in the Http Context
22
Getting the currently logged in user
23
Summary of section 12

Client side login and register (Legacy)

1
Section 13 introduction
2
Creating the Typescript interfaces and Axios methods
3
Creating a Mobx user store
4
Creating a MobX root store
5
Creating the Login form
6
Hooking up the Login form to the API
7
Dealing with submission errors
8
Adding home page and NavBar user information
9
Creating a MobX common store
10
Using Axios request interceptor to automatically send the JWT token
11
Persisting login on refresh
12
Adding Modals to our application
13
Adding better error messages to our form
14
Adding a Register form
15
Displaying server validation errors in our form
16
Summary of section 13

Entity Framework Core Relationships (Legacy)

1
Section 14 introduction
2
Adding a class to join our Users and Activities
3
Updating the Create Activity handler
4
Testing in Postman
5
Loading related data using Eager loading
6
Adding DTOs to shape our data
7
Adding AutoMapper
8
Adding AutoMapper profiles
9
Configuring AutoMapper mappings
10
Using Lazy Loading to load related data
11
Adding the Join activity feature
12
Adding the remove attendance feature
13
Creating a custom Auth policy
14
Updating our Seed data
15
Section 14 summary

Adding Client side attendances (Legacy)

1
Section 15 introduction
2
Adding attendees to our list items
3
Adding attendees to the Detailed view sidebar
4
Adding the IsGoing and IsHost properties to the Activity interface
5
Conditionally rendering the activity detailed header buttons
6
Adding the cancel attendance function
7
Hooking it all up to the API
8
Loose ends
9
Summary of section 15

Photo Upload Part 1 - API (Legacy)

1
Section 16 introduction
2
Cloudinary settings
3
Adding the interface and class for our Photo Accessor
4
Adding the AddPhoto handler
5
Adding the Domain Entity
6
Adding the Add Photo Handler
7
Adding the Photo API Controller
8
Adding User Profiles feature
9
Adding the Delete photo handler
10
Adding the set main photo functionality
11
Adding the Mapping Profile configuration for User images
12
Summary of section 16

Photo Upload Part 2 - Client (Legacy)

1
Section 17 introduction
2
Adding links and a profile page component
3
Adding the Profile Header component
4
Adding the Profile content component
5
Getting the profile data from the API
6
Displaying User images on the profile page
7
Conditionally rendering the Photo Upload Widget
8
Creating a Photo Upload Widget
9
React Dropzone
10
Styling our Dropzone
11
React Cropper Part 1
12
React Cropper Part 2
13
Adding the Photo Upload methods to the store
14
Adding the photo upload functionality to the Profile component
15
Adding the set main photo functionality
16
Isolating our loading indicators
17
Adding Delete photo functionality
18
Summary of section 17

Challenge (Legacy)

1
Challenge Introduction
2
Challenge Solution

SignalR (Legacy)

1
Section 19 Introduction
2
Adding the Comment entity
3
Adding the Comment DTO and mapping
4
Adding the Create comment handler
5
Adding a SignalR hub
6
Configuring Auth for SignalR
7
Adding the SignalR hub connection to the client
8
Connecting to the SignalR hub from our client
9
Adding the Comment functionality to the client
10
Formatting Dates in words using Date-FNS
11
Using SignalR Groups in the API
12
Using SignalR Groups in the client
13
Section 19 summary

Following/Follower feature (Legacy)

1
Section 20 introduction
2
Adding the UserFollower Entity
3
Adding the Add Follower handler
4
Adding the Delete Following handler
5
Adding a Following API Controller
6
Adding a Profile reader helper class and interface
7
Getting a List of Followings for a user
8
Adding a Custom value resolver for AutoMapper
9
Adding the UI components to show followed users
10
Adding the Follow / Unfollow methods
11
Adding the Follow / Unfollow UI components
12
Getting a list of followings from the API
13
Using MobX reactions to get followers or followings on tab change
14
Section 20 summary

Paging, Sorting and Filtering (Legacy)

1
Section 21 introduction
2
Paging our Activity list
3
Refactoring the Activity store list method for paging
4
Adding vertical paging to our activity dashboard
5
Adding infinite scrolling to our activity dashboard
6
Updating the dashboard with Filter component
7
Filtering our Activity List in the API
8
Adding the Filtering methods in the client
9
Updating the Activity Filters UI to allow filtering
10
Adding User Activities filter in the API
11
Adding User Activities filter in the client
12
Summary of section 21

Final touches and publishing (Legacy)

1
Section 22 introduction
2
Swapping our loading indicator for Placeholders
3
Adding a loading indicator to index.html
4
Adding private routes on the client
5
Adding logout for token expiry
6
Safari bug fix
7
Preparing the client application for publishing
8
Building a production version of the React app
9
Serving the production React app from the API server
10
Adding MySQL and configuring a user
11
Adding additional DB providers for Entity Framework
12
Swapping the DB for MySQL
13
Publishing the app to Linux - Part 1
14
Publishing the app to Linux - Part 2
15
Configuring Apache to use an HTTPS SSL certificate
16
Adding Security headers to our API
17
Adding Content Security Policy to our API
18
Getting an A rating from a SecurityHeaders site scan
19
Setting up Azure for publishing our app
20
Publishing our App to Azure
21
Tweaking the Azure deployment
22
End of course summary

Bonus - Identity Cookbook (Legacy)

1
Intro to the bonus section
2
FB Login - Setting up the app in Facebook
3
FB Login - Creating a new Git branch to work from
4
FB Login - Adding a Facebook login button to the client app
5
FB Login - Adding the API configuration to user secrets
6
FB Login - Adding a facebook accessor service to the infrastructure project
7
FB Login - Adding the Facebook login handler
8
FB Login - Adding the API Controller method and tying it together with the clien
9
FB Login - Adding loading indicator and merging changes with master branch
10
Refresh Tokens - Introduction
11
Refresh Tokens - Updaing the Domain and adding a new Migration
12
Refresh Tokens - Updating the Token Validation Expriry
13
Refresh Tokens - Updating the Application layer classes
14
Refresh Tokens - Adding the Refresh Token Handler
15
Refresh Tokens - Adding the API Endpoint
16
Refresh Tokens - Testing in Postman
17
Refresh Token - Updating the MobX Stores
18
Refresh Tokens - Testing it works
19
Email Verification - Introduction
20
Email Verification - Setting up SendGrid
21
Email verification - Identity settings
22
Email verification - Updating the register handler
23
Email verification - Adding a confirm email handler
24
Email verification - Testing email verification in postman
25
Email verification - Resend verification email handler
26
Email verification - Client agent methods
27
Email Verification - Create a register success component
28
Email verification - creating a verify email component
29
Email verification - making sure it works

Bonus - Updating the React client packages to latest versions (Legacy)

1
Updating the client packages
Vous pouvez afficher et revoir les supports de cours indu00e9finiment, comme une chau00eene u00e0 la demande.
Absolumentu00a0! Si vous disposez d'une connexion Internet, les cours sur WeCours sont disponibles u00e0 tout moment sur n'importe quel appareil. Si vous n'avez pas de connexion Internet, certains instructeurs permettent u00e9galement u00e0 leurs u00e9tudiants de tu00e9lu00e9charger les cours. instructeur cependant, alors assurez-vous d'u00eatre de leur bon cu00f4tu00e9u00a0!
4.7
4.7 sur 5
Notes3731

Détails des Notes

Étoiles 5
2364
Étoiles 4
1043
Étoiles 3
225
Étoiles 2
33
Étoiles 1
30
Suivre un cours
Garantie de remboursement de 30 jours

Inclut

69 heures de vidéo à la demande
Accès complet à vie
Accès sur le mobile et la télévision
Certificat d'achèvement

Archive

Working hours

Monday 9:30 am - 6.00 pm
Tuesday 9:30 am - 6.00 pm
Wednesday 9:30 am - 6.00 pm
Thursday 9:30 am - 6.00 pm
Friday 9:30 am - 5.00 pm
Saturday Closed
Sunday Closed