๐”– Scriptorium
โœฆ   LIBER   โœฆ

๐Ÿ“

Full-stack web development with GraphQl and React : build scalable full-stack applications with React 18 while learning to solve complex problems with GraphQl

โœ Scribed by Sebastian Grebe


Year
2021
Tongue
English
Leaves
473
Edition
Second
Category
Library

โฌ‡  Acquire This Volume

No coin nor oath required. For personal study only.

โœฆ Table of Contents


Preface
Section 1: Building the Stack
Chapter 1: Preparing Your Development Environment
Technical requirements
Understanding the application architecture
The basic setup
Installing and configuring Node.js
Setting up React
Preparing and configuring webpack
Rendering your first React component
Rendering arrays from React state
CSS with webpack
Event handling and state updates with React
Controlling document heads with React Helmet
Production build with webpack
Useful development tools
Summary
Chapter 2: Setting Up GraphQL with Express.js
Technical requirements
Getting started with Node.js and Express.js
Setting up Express.js
Running Express.js in development
Routing in Express.js
Serving our production build
Using Express.js middleware
Installing important middleware
Express Helmet
Compression with Express.js
CORS in Express.js
Combining Express.js with Apollo
Writing your first GraphQL schemas
Implementing GraphQL resolvers
Sending GraphQL queries
Using multiple types in GraphQL schemas
Writing your first GraphQL mutation
Backend debugging and logging
Logging in Node.js
Debugging with Postman
Summary
Chapter 3: Connecting to the Database
Technical requirements
Using databases in GraphQL
Installing MySQL for development
Creating a database in MySQL
Integrating Sequelize into our Node.js stack
Connecting to a database with Sequelize
Using a configuration file with Sequelize
Writing database models
Your first database model
Your first database migration
Importing models with Sequelize
Seeding data with Sequelize
Using Sequelize with GraphQL
Global database instance
Running the first database query
One-to-one relationships in Sequelize
Updating the table structure with migrations
Model associations in Sequelize
Seeding foreign key data
Mutating data with Sequelize
Many-to-many relationships
Model and migrations
Chats and messages in GraphQL
Seeding many-to-many data
Creating a new chat
Creating a new message
Summary
Section 2: Building the Application
Chapter 4: Hooking Apollo into React
Technical requirements
Installing and configuring Apollo Client
Installing Apollo Client
Testing Apollo Client
Binding Apollo Client to React
Using Apollo Client in React
Querying in React with Apollo Client
Mutating data with Apollo Client
Apollo useMutation Hook
Updating the UI with Apollo Client
Implementing chats and messages
Fetching and displaying chats
Fetching and displaying messages
Sending messages through mutations
Pagination in React and GraphQL
Debugging with the Apollo Client Devtools
Summary
Chapter 5: Reusable React Components and React Hooks
Technical requirements
Introducing React patterns
Controlled components
Functional components
Conditional rendering
Rendering child components
Structuring our React application
The React file structure
Efficient Apollo React components
Extending Graphbook
The React context menu
The React application bar
The React Context API versus Apollo Consumer
Documenting React applications
Setting up React Styleguidist
React PropTypes
Summary
Chapter 6: Authentication with Apollo and React
Technical requirements
What are JSON Web Tokens?
localStorage versus cookies
Authentication with GraphQL
Apollo login mutation
The React login form
Apollo signup mutation
React signup form
Authenticating GraphQL requests
Accessing the user context from resolver functions
Logging out using React
Summary
Chapter 7: Handling Image Uploads
Technical requirements
Setting up Amazon Web Services
Configuring an AWS S3 bucket
Generating AWS access keys
Uploading images to Amazon S3
GraphQL image upload mutation
React image cropping and uploading
Summary
Chapter 8: Routing in React
Technical requirements
Setting up React Router
Installing React Router
Implementing your first route
Secured routes
Catch-all routes in React Router
Advanced routing with React Router
Parameters in routes
Querying the user profile
Programmatic navigation in React Router
Remembering the redirect location
Summary
Chapter 9: Implementing Server-Side Rendering
Technical requirements
Introducing SSR
Setting up SSR in Express.js to render React on the server
Authentication with SSR
Running Apollo queries with SSR
Summary
Chapter 10: Real-Time Subscriptions
Technical requirements
Using GraphQL with WebSockets
Digging deeper into Apollo subscriptions
Subscriptions on Apollo Server
Subscriptions on Apollo Client
Authentication with Apollo subscriptions
Notifications with Apollo subscriptions
Summary
Chapter 11: Writing Tests for React and Node.js
Technical requirements
Testing with Mocha
Our first Mocha test
Starting the backend with Mocha
Verifying the correct routing
Testing the GraphQL API with Mocha
Testing the authentication
Testing authenticated requests
Testing React with Enzyme
Summary
Section 3: Preparing for Deployment
Chapter 12: Continuous Deployment with CircleCI and AWS
Technical requirements
Preparing the final production build
Setting up Docker
What is Docker?
Installing Docker
Dockerizing your application
Building and running Docker containers
Multi-stage Docker production builds
Amazon RDS
Configuring continuous integration
Deploying applications to Amazon ECS
Setting up CircleCI with Amazon ECR and ECS
Summary
Index
Other Books You May Enjoy


๐Ÿ“œ SIMILAR VOLUMES


Hands-On Full-Stack Web Development with
โœ Sebastian Grebe ๐Ÿ“‚ Library ๐Ÿ“… 2019 ๐Ÿ› Packt Publishing ๐ŸŒ English

<p><b>Unearth the power of GraphQL, React, Apollo, Node, and Express to build a scalable, production ready application</b></p> <h4>Key Features</h4> <ul><li>Build full stack applications with modern APIs using GraphQL and Apollo </li> <li>Integrate Apollo into React and build frontend components usi

Full Stack Serverless: Modern Applicatio
โœ Nader Dabit ๐Ÿ“‚ Library ๐Ÿ“… 2020 ๐Ÿ› O'Reilly Media ๐ŸŒ English

<div><p>With a new generation of services and frameworks, frontend and mobile developers can use their existing skill set to build full stack applications by leveraging the cloud. Developers can build robust applications with production-ready features such as authentication, APIs, data layers, machi

Full Stack Serverless: Modern Applicatio
โœ Nader Dabit ๐Ÿ“‚ Library ๐Ÿ“… 2020 ๐Ÿ› O'Reilly Media ๐ŸŒ English

With a new generation of services and frameworks, frontend and mobile developers can use their existing skill set to build full stack applications by leveraging the cloud. Developers can build robust applications with production-ready features such as authentication, APIs, data layers, machine learn

Full Stack Serverless: Modern Applicatio
โœ Nader Dabit ๐Ÿ“‚ Library ๐Ÿ“… 2020 ๐Ÿ› O'Reilly Media ๐ŸŒ English

Code .<div><p>With a new generation of services and frameworks, frontend and mobile developers can use their existing skill set to build full stack applications by leveraging the cloud. Developers can build robust applications with production-ready features such as authentication, APIs, data layers,