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

๐Ÿ“

Full Stack Development with Angular and GraphQL: Learn to build scalable monorepo and a complete Angular app using Apollo, Lerna, and GraphQL

โœ Scribed by A. Bouchefra


Year
2022
Tongue
English
Leaves
390
Category
Library

โฌ‡  Acquire This Volume

No coin nor oath required. For personal study only.

โœฆ Table of Contents


Cover
Title Page
Contributors
Table of Contents
Preface
Copyright and Credits
Part 1: Setting Up the Development Environment, GraphQL Server, and Database
Chapter 1: App Architecture and Development Environment
Technical requirements
The architecture and technologies
Full-stack architecture
The development technologies
Running JavaScript on the server with Node.js
Installing packages with npm
Running a web server with Express.js
GraphQL
Integrating the frontend and backend with Apollo
Saving data with TypeORM and MySQL
Building the frontend with TypeScript and Angular
Installing MySQL
Configuring MySQL Server
Testing MySQL Server
Installing and configuring Node.js
Installing Node.js with nvm
Summary
Chapter 2: Setting Up GraphQL with Node.js, Express.js, and Apollo
Technical requirements
Setting up a monorepo project
Initializing our server project
Generating a package.json file
Installing Express.js and development dependencies
Creating the server
Watching and recompiling our code
Creating a GraphQL API
Installing the necessary libraries
Exposing a simple GraphQL API
Sending queries with Apollo Studio
Creating a GraphQL schema for our social network
Mocking our GraphQL API
Linking the mocked data
Configuring CORS
Summary
Chapter 3: Connecting the Database with TypeORM
Technical requirements
Creating a MySQL user and database
Setting up TypeORM and MySQL
Creating TypeORM entities
Seeding test data
Using Apollo with TypeORM
Summary
Chapter 4: Implementing Authentication and Image Uploads with Apollo Server and Node.js
Technical requirements
What's JWT?
Implementing authentication
Protecting GraphQL queries and mutations
Implementing image uploads
Assignments
Summary
Chapter 5: Adding Realtime Support with Apollo Server
Technical requirements
Understanding GraphQL subscriptions
Implementing GraphQL subscriptions
Implementing JWT authentication with subscriptions
Summary
Part 2: Building the Angular Frontend with Realtime Support
Chapter 6: Angular Application Architecture and Routing
Technical requirements
Installing the Angular CLI
Angular CLI commands
Initializing the Angular project
Understanding the application architecture
What's a module?
What's a component?
Understanding services and dependency injection
Creating modules, services, and components
Creating modules
Creating components and services
Understanding Angular routing
How the Angular Router works
The tag
The routing modules
The router outlet
Importing the routing module
Understanding and adding routes
Route-matching strategies
Route parameters
Adding routes
Adding navigation
Debugging Angular applications
Adding Angular Material
Summary
Chapter 7: Adding User Search Functionality
Technical requirements
Introducing and installing Apollo Client
Importing Angular Material components
Signing up and logging users in
Defining GraphQL documents
Defining types for user authentication
Defining Apollo services
Implementing the user authentication service
Building and styling the signup UI
Building and styling the login UI (assignment)
Implementing the header component
Implementing the footer and page not found components
Implementing the user search dialog component
Summary
Chapter 8: Guarding Routes and Testing Authentication
Technical requirements
Guarding routes
Sending the JWT
Improving the search functionality (assignment)
Using GraphQL fragments
Local state management with Apollo Client
Using the OnPush change detection strategy
Testing the auth service and component(s)
Testing the auth service
Testing the auth guard
Testing the header component
Testing the search dialog component
Testing other components
Summary
Chapter 9: Uploading Images and Adding Posts
Technical requirements
Image uploading with Angular and Apollo
Setting up GraphQL Code Generator
Adding fragments and mutations
Generating types and services
Implementing the post service
Implementing the profile service
Implementing the base component
Implementing the profile component
Defining field policies
Creating the profile UI
Styling the profile component
Implementing the create post component
Testing
Summary
Chapter 10: Fetching Posts and Adding Comments and Likes
Technical requirements
Improving the authentication system
Adding queries and generating types and services
Fetching paginated posts
Implementing comments and likes services
Implementing a presentational post component
Displaying posts, comments, and likes
Summary
Part 3: Adding Realtime Support
Chapter 11: Implementing
GraphQL
Subscriptions
Technical requirements
Persisting the component state with reactive variables
Using field policies to rewrite dates
Displaying comments
Displaying new comments
Updating the cache after removing comments
Giving focus to the commenting box
Setting up Apollo Client for subscriptions
Implementing GraphQL subscriptions
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

Building Vue.js Applications with GraphQ
โœ Heitor Ramon Ribeiro ๐Ÿ“‚ Library ๐Ÿ“… 2021 ๐Ÿ› Packt Publishing Ltd ๐ŸŒ English

<p><b>Take your Vue.js knowledge to the next level by understanding full-stack development concepts and exploring modern web technologies such as AWS Amplify, GraphQL, and Quasar Framework</b></p>Key Features<ul><li>Build a fully functional Vue.js web app and learn how it integrates with GraphQL</li

Building Vue.js Applications with GraphQ
โœ Heitor Ramon Ribeiro ๐Ÿ“‚ Library ๐Ÿ› Packt Publishing ๐ŸŒ English

<p><span>Take your Vue.js knowledge to the next level by understanding full-stack development concepts and exploring modern web technologies such as AWS Amplify, GraphQL, and Quasar Framework</span></p><h4><span>Key Features</span></h4><ul><li><span><span>Build a fully functional Vue.js web app and

Practical GraphQL : Learning Full-Stack
โœ Nabendu Biswas ๐Ÿ“‚ Library ๐Ÿ“… 2023 ๐Ÿ› Apress ๐ŸŒ English

Master the query language that is revolutionizing how websites are developed and built. This book is a hands-on guide to GraphQL, and will teach you how to use this open source tool to develop and deploy applications quickly and with minimal fuss. Using a project-based approach, you'll learn how

Building Large-Scale Web Applications wi
โœ Chandermani Arora; Kevin Hennessy; Christoffer Noring; Doguhan Uluca ๐Ÿ“‚ Library ๐Ÿ“… 2018 ๐Ÿ› Packt Publishing Ltd ๐ŸŒ English

<p><b>A definitive guide on frontend development with Angular from design to deployment</b></p>Key Features<ul><li>Develop web applications from scratch using Angular and TypeScript</li><li>Explore reactive programming principles and RxJS to develop and test apps easily</li><li>Study continuous inte