Full Stack Development with Angular and GraphQL: Learn to build scalable monorepo and a complete Angular app using Apollo, Lerna, and GraphQL
- Use Angular modules and components to build apps that you can easily scale and maintain in the future
- Develop a GraphQL API for a small social network app using Node.js, Express, and Apollo Server
- Use Apollo Client to integrate Angular with a GraphQL server and manage your application's local state
This book shows you how to build apps using cutting-edge technologies. You'll learn how to solve common web development problems with GraphQL and Apollo, such as database access, authentication, and image uploads.
The book starts by introducing you to building full stack apps with Angular and GraphQL. Next, you'll learn how to create a monorepo project with Lerna and NPM Workspaces and configure a Node.js app to use GraphQL with Express and Apollo Server. You'll also understand the basics of Angular architecture and routing. Later, the book demonstrates how to build a professionally-looking UI with Angular Material, use Apollo Client to interface with the server to get data from the built GraphQL API.
You'll learn about Apollo Client's type and field policies, and various fetching policies. In addition to this, you'll learn about local state management and reactive variables with Apollo Client and how to generate TypeScript types and even Angular Apollo services for your GraphQL schema and queries using GraphQL Code Generator to implement a scalable codebase.
By the end of this book, you'll have the skills you need to be able to build your own full stack application.
What you will learn
- Create a monorepo project with Lerna and NPM workspaces
- Add realtime support with GraphQL subscriptions
- Build a frontend with a modular architecture and Material Design UI components to consume the GraphQL API
- Use GraphQL Code Generator to generate types and code for a type-safe and scalable code base
- Create Angular modules and smart and dumb components and share data between them
- Use Apollo Client features such as client-side queries and reactive variables for local state management
Who this book is for
This Angular GraphQL book is for Angular developers who want to learn how to use GraphQL and Apollo with Angular to build full-stack applications. This book does not assume prior knowledge of full-stack development with Angular and GraphQL.
Ahmed Bouchefra is a software developer and technical author with an engineering degree in software development. He is an expert in web development using modern technologies such as Angular and Node.js, along with using traditional technologies such as Python and Django. He's an open-source, developer, and maintainer of multiple open source Angular libraries, such as ngx-qrcode2. He also currently writes tutorials about modern web development on techiediaries and other industry-leading websites.
Table of Contents
- App Architecture and Development Environment
- Setting Up GraphQL with Node.js, Express.js, and Apollo
- Connecting the Database with TypeORM
- Implementing Authentication and Image Uploads with Apollo Server and Node.js
- Adding Realtime Support with Apollo Server
- Angular Application Architecture and Routing
- Adding User Search Functionality
- Guarding Routes and Testing Authentication
- Uploading Images and Adding Posts
- Fetching Posts and Adding Comments and Likes
- Implementing GraphQL Subscriptions