|
所在平台: Udemy |
课程主页: https://www.udemy.com/course/feature-rich-graphql-api-in-elixir-phoenix/
课程评论:没有评论
**课程名称:** Elixir & Phoenix 中的实时 GraphQL API **课程概述:** 本课程将教授如何使用 Elixir 和 Phoenix 框架创建 GraphQL API。Elixir 是一种强大的函数式编程语言,其底层技术 Erlang 支撑着 WhatsApp、Discord、Pinterest 等知名应用。Phoenix 作为 Elixir 的佼佼者,是一个功能强大的 MVC 框架,可以用来开发后端和全栈项目,堪比 Node.js 中的 Express,但更加出色。 **课程内容涵盖:** * **用户管理:** 用户注册、登录、获取已认证用户、登出。 * **房间管理:** 创建房间、获取所有房间、删除房间及其所有消息。 * **消息处理:** * 将消息持久化到数据库并发送到特定房间。 * 订阅特定房间以实时接收新消息通知。 * **消息分页:** 使用基于游标的分页技术,避免一次性返回大量消息。 * **受保护路由:** 实现访问控制列表,区分认证用户和访客的访问权限。例如,访客无法创建房间或发送消息。 * **API 测试:** 使用 Insomnia 和 GraphQL Playground 进行 API 测试,尤其是在开发订阅功能时。 * **更多内容:** 除了以上列出的基础功能,课程还将深入探讨 Elixir、Phoenix、GraphQL 以及 API 开发的更多相关知识。 **学习目标:** 完成本课程后,您将能够使用 Elixir 和 Phoenix 框架独立构建功能完善、实时更新的 GraphQL API。
Create GraphQL API in Elixir. The language which powers, in one way or another (ErLang) Whatsapp, Discord, Pinterest etc.We will be using Phoenix Framework, the fantastic MVC framework for developing backends and full stack projects in Elixir. Consider Phoenix more like Express of Node.js but way more cooler of course. Well, Elixir altogether is cooler than any other language I code but nevertheless, one thing at a time.ArchitectureUsersRegister UserLoginGet Authenticated UserLogoutRoomsCreate RoomsGet All RoomsDelete Room and all of it's messagesMessagesPost Messages (persisted to db) to a particular room.Subscribe to a particular room to get the newly posted message notifications in real time.PaginationCursor Based Pagination for fetching messages so that we don't give back all the messages of a room at once (which could be of thousands of number as you can imagine).Protected RoutesImplement private routes to maintain an access control list => what can be accessed and what not. For example, a non authenticated user (guest) should not have access to the following apisCreate RoomPost Message to a Roometc...Insomnia & GraphQL PlaygroundTest the API with Insomnia & GraphQL Playground (For testing Subscriptions), along the way, while developing each route.A lot moreWe will be learning a lot more than written, about Elixir, Phoenix, GraphQL, and creating APIs altogether.