Full-Stack Vue With GraphQL – The Ultimate Guide
Build a complete Pinterest-inspired full-stack app from scratch with Vue, GraphQL, Apollo 2, Vuex, and Vuetify.
What you’ll learn
- Learn in-depth how to use Apollo Server 2 and Apollo Boost to create powerful full-stack apps
- Learn how to handle errors on the client and server with Apollo / GraphQL
- Be able to implement session-based JWT authentication to GraphQL applications
- Integrate Apollo with Vuex for more reliable and scalable state management
- Implement infinite scrolling functionality using Vue-Apollo
- Learn how to write queries and mutations in the GraphQL language on both the client and server
- Make use of many useful MongoDB methods and features
- Be able to create attractive, sophisticated UIs using the Vuetify CSS framework
- Become more familiar with all the best ES6 / 7 features such as async / await, destructuring, spread operators, arrow functions, etc
- A basic familiarity with Vue
Includes Apollo Server 2, Apollo Boost and the very new Vue CLI 3!
Interested in building next-level apps with Vue and GraphQL? Look no further!
This course is your one-stop guide to learning…
- Complete CRUD functionality (create, read, update, and delete) with Vue and GraphQL / Apollo 2
- The latest and greatest Apollo tools: Apollo Server 2, Apollo Boost and Vue Apollo
- Using the new Vue CLI 3 to create/scaffold Vue apps, add plugins and deploy to the web
- GraphQL Syntax, including types (scalar/object), and creating schemas with typeDefs
- Writing and executing GraphQL queries and mutations on both the client and server
- Essential Apollo features such as the update function, optimistic responses, and refetching queries
- Error handling with Apollo Server 2 with the new AuthorizationError and formatErrors features
- Role-based user authentication with JSON Web Tokens
- State management with Vuex, in concert with ApolloClient
- Stunning UIs using mobile-first design with the Vuetify, a Material Design Component Library for Vue
- Form Validation with the help of Vuetify
- Vue Router (including protected routes, page transitions, router props, and dynamic segments)
- Building resolvers using many MongoDB methods and operators
- Search Functionality with MongoDB
- Advanced GraphQL features such as infinite scrolling
- GraphQL shorthands to make our schemas and queries concise, such as inputs and fragments
- Lots of work with the Chrome/Firefox Vue Dev Tools Extension to Debug Vue / Vuex / Apollo
- Using the service Now to deploy Vue / GraphQL Apps
- Advanced UI tricks, including notifications and loading skeletons
- And more…
What will we be building? What is the course based on?
This entire course within the context of a practical application that we will build literally from the first line of code to live deployment on the web.
We’ll be building an image-sharing social application called VueShare, similar to that of Pinterest or Instagram. Authenticated users of our app will be able to like and unlike, share, comment on, search for, edit, and delete image-related posts.
How does the course develop as we go along?
In the beginning of the course, we’ll cover the basic GraphQL / Apollo concepts that we need to get started, then dive into building our app. We’ll build out our backend, cover creating a GraphQL server and database (hosted with MLab), and how to write resolver functions with MongoDB. Then we’ll move over to the frontend, create our Vue app and connect it with our backend, develop an interface and build client-side functionality with Vue, Vuetify, and Vue Apollo / Vuex. We’ll learn how to write and execute queries and mutations using Apollo to our backend to get and modify what we need. Once we cover and integrate all the essential features of our application (listed above), we’ll move on to deploying our app to the web. After deployment, for those who want to stick around and make their app truly production-ready, we’ll cover a number of cool features to make our app more functional, attractive and reliable.
I wanted to make this course as comprehensive as I could, but also give you the fast track to learning new technologies in an engaging way. GraphQL is an exciting new technology in the web development community and new Apollo releases such as Apollo Server 2 and Apollo Boost have made working with GraphQL easier than ever.
- Anyone who wants to learn how to build full-stack applications with Vue and GraphQL!
Created by Reed Barger
Last updated 9/2018
Size: 4.97 GB