
- 390 pages
- English
- ePUB (mobile friendly)
- Available on iOS & Android
Full Stack Development with Angular and GraphQL
About this book
Design and develop full-stack and cross-platform Angular applications using the latest web tooling, development techniques, and modern app architectureKey Featuresโข Implement scalability and maintainability to your full stack apps using Angular modules and componentsโข Get the complete source code of the example social network app built using GraphQL and Apolloโข Manage your Angular applications state using Apollo client for a seamless user experienceBook DescriptionGraphQL is an alternative to traditional REST technology for querying Web APIs. Together with Angular and TypeScript, it provides a tech stack option for building future-proof web applications that are robust and maintainable at any scale.This book leverages the potential of cutting-edge technologies like GraphQL and Apollo and helps Angular developers add it to their stack. Starting with introducing full-stack development, you will learn to create a monorepo project with Lerna and NPM Workspaces. You will then learn to configure Node.js-based backend using GraphQL, Express, and Apollo Server. The book will demonstrate how to build professional-looking UIs with Angular Material. It will then show you how to create Web APIs for your frontend with GraphQL. All this in a step-by-step manner. The book covers advanced topics such as local state management, reactive variables, and generating TypeScript types using the GraphQL scheme to develop a scalable codebase.By the end of this book, you'll have the skills you need to be able to build your 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 managementWho this book is forThe book is aimed at Angular developers who wish to learn about GraphQL for taking their frontend knowledge in full stack web development. The book assumes intermediate knowledge of Angular, however, full stack development is not required.
Frequently asked questions
- Essential is ideal for learners and professionals who enjoy exploring a wide range of subjects. Access the Essential Library with 800,000+ trusted titles and best-sellers across business, personal growth, and the humanities. Includes unlimited reading time and Standard Read Aloud voice.
- Complete: Perfect for advanced learners and researchers needing full, unrestricted access. Unlock 1.4M+ books across hundreds of subjects, including academic and specialized titles. The Complete Plan also includes advanced features like Premium Read Aloud and Research Assistant.
Please note we cannot support devices running on iOS 13 and Android 7 or earlier. Learn more about using the app.
Information
Part 1: Setting Up the Development Environment, GraphQL Server, and Database
- Chapter 1, App Architecture and Development Environment
- Chapter 2, Setting Up GraphQL with Node.js, Express.js, and Apollo
- Chapter 3, Connecting the Database with TypeORM
- Chapter 4, Implementing Authentication and Image Uploads with Apollo Server
- Chapter 5, Adding Realtime Support with Apollo Server
Chapter 1: App Architecture and Development Environment
- The project's architecture and development technologies
- Installing MySQL
- Installing and configuring Node.js
Technical requirements
The architecture and technologies
Full-stack architecture
- Client-side languages, frameworks, and tools for developing browser-based applications, including HTML, CSS, JavaScript, TypeScript, and Angular.
- Languages and tools for the server side, such as Node.js, Python, or PHP, as well as database languages, such as SQL.
- The frontend: This is the application that runs in the client's web browser on the client's machine. Historically, this was accomplished through the use of HTML pages rendered on the server and then returned to the client. However, browsers may now run fully fledged JavaScript applications (also known as client-side apps), which do the majority of the processing on the client's browser and rely on servers just to supply the application's initial files and data. Simply put, the frontend is what presents the user interface with which users interact.
- The backend: This is the server-side application that will handle HTTP requests, perform some processing logic, and return responses to the browser (HTML and/or JSON data).
- First, the client will make a request by putting your application domain name into the address bar of the browser.
- The server will intercept the requests and process the HTML document containing the Angular app.
- The client's browser will begin downloading all of the JavaScript and CSS files required to run the Angular application.
- Any initial requests to the server for data, such as posts, will be sent by the Angular application and rendered in the user interface.
- The other requests will be made to the server after the user begins engaging with the application.
The development technologies
Table of contents
- Full Stack Development with Angular and GraphQL
- Contributors
- Preface
- Part 1: Setting Up the Development Environment, GraphQL Server, and Database
- Chapter 1: App Architecture and Development Environment
- Chapter 2: Setting Up GraphQL with Node.js, Express.js, and Apollo
- Chapter 3: Connecting the Database with TypeORM
- Chapter 4: Implementing Authentication and Image Uploads with Apollo Server
- Chapter 5: Adding Realtime Support with Apollo Server
- Part 2: Building the Angular Frontend with Realtime Support
- Chapter 6: Angular Application Architecture and Routing
- Chapter 7: Adding User Search Functionality
- Chapter 8: Guarding Routes and Testing Authentication
- Chapter 9: Uploading Images and Adding Posts
- Chapter 10: Fetching Posts and Adding Comments and Likes
- Part 3: Adding Realtime Support
- Chapter 11: Implementing GraphQL Subscriptions
- Other Books You May Enjoy