|
所在平台: Udemy |
课程主页: https://www.udemy.com/course/nextjs-and-apollo-portfolio-app-w-react-graphql-node/
课程评论:没有评论
课程名称:Next.js与Apollo - 组合应用(使用React、GraphQL和Node) 课程概述: 在本课程中,我们将深入探讨GraphQL和Apollo,以及如何利用Next.js开发一个强大的组合应用。GraphQL是一种查询语言,专为API设计,它可以根据定义的数据模型执行查询。Apollo则是业界标准的GraphQL实现,提供将现代应用与云连接的数据图层,支持数据获取、缓存和状态管理。Next.js是一款基于React的框架,旨在提供服务器端渲染(SSR)应用的基础设施和简化开发体验。 课程内容: 我们将以构建一个个人作品集为主线,学习如何使用Apollo和GraphQL有效管理客户端和服务器端的数据。数据将存储在Mongo Atlas数据库中,通过Node.js服务器进行交互。课程涵盖以下关键功能: 1. **作品集管理**:学习如何创建、更新和删除作品集,掌握如何高效管理表单及实时更新视图。 2. **会话认证系统**:设计登录和注册表单,确保用户只能访问经过身份验证的功能,讲解如何管理会话和保护页面。 3. **论坛功能**:创建一个完整的论坛,包括主题和帖子,允许用户开发各种主题、撰写帖子及回复,实现实时更新和跨浏览器同步。 4. **分页功能**:掌握如何实现有效的分页功能。 5. **主页数据随机化**:学习如何为主页获取随机数据,提高代码的可重用性。 6. **部署应用**:在完成所有生产改进之后,将我们的应用部署到Heroku,确保作品集可以被全网访问。 通过本课程,您将全面了解如何结合使用Next.js、Apollo、GraphQL和Node.js构建现代Web应用,掌握开发流程和相关技术。
What is GraphQL?GraphQL is a query language for your API and a server-side runtime for executing queries using a system you define for your data. GraphQL isn't tied to any specific database or storage engine and is backed by your existing code and data.What is Apollo?Apollo is the industry-standard GraphQL implementation, providing the data graph layer that connects modern apps to the cloud. Apollo will handle data fetching, caching, and state management of out the box!What is Next.js?Next.js is React framework that provides infrastructure and simple development experience for server-side rendered(SSR) applications.An intuitive page-based routing system (with support for dynamic routes)Pre-rendering, both static generation (SSG) and server-side rendering (SSR) are supported on a per-page basisWhat are we going to build?We will work mainly on portfolios features. You will learn how to manage client and server data with Apollo and Graphql. Data will be stored in Mongo Atlas Database, to which we will be communicating through the Node JS Server. We will create functionality to create a portfolio, and I will explain how to manage forms efficiently. Then we will look at an update functionality where I will show you how to populate inputs with existing data. After that, works on a delete functionality. All of the features will be reactive and updating views in real-time. You will learn the basics of data fetching and data mutations with Apollo.Another significant feature we will be working on will be session-based authentication. We will prepare login and register forms. Users will register, login, and experience features only for authenticated users. You will learn how to manage sessions, protect the pages, and organize an authentication state through your application.The forum feature will be the biggest one. You will learn how to create a fully working forum consisting of topics and posts. We will integrate a component used for topic and posts creation. Users will be able to develop various topics, posts, and replies to other posts, all updated in real-time and across the browsers. After that, you will learn how to create a fully working pagination!Later in the course, we will create features to get randomized data for the home page, and I will talk about re-usability. We will finish the CV page, and we will get into deploying. After all production improvements are applied, we will deploy our application to Heroku so anyone on the internet can access our portfolio.