跳转到主要内容

【Redwood】使用Redwood构建用户面板

现在,您登录的几乎每个应用程序都有一个仪表板。它们中的大多数都是用React或Angular等现代框架构建的,并且有某种后端来支持它们。用户依靠这些仪表板来检查他们的帐户信息、更新他们的业务以及处理许多其他操作。

在本教程中,我们将使用Redwood为管理系统制作一个用户面板。用户可以采取一些操作将其他用户添加到具有不同角色的帐户中。仪表板还允许用户将新项目添加到其库存中,这些项目将附加到不同的位置。

让我们以红木为背景开始吧。

什么是Redwood

Redwood是一个使用Prisma、React和GraphQL构建的全栈框架。它有很多功能和一些命令,我们将使用这些功能快速制作这个应用程序。如果你有兴趣了解更多关于红木的信息,一定要查看他们的文档。

设置项目

现在,让我们开始设置我们的仪表板。我们将通过运行以下命令来引导此应用程序。只是提醒一下,它可能需要几分钟才能完成,但值得等待。

【GraphQL】什么是Prisma?

本页提供了Prisma及其工作原理的高级概述。

如果您想开始一个实用的介绍并了解Prisma Client API,请参阅入门文档。

要了解更多关于Prisma的动机,请查看“为什么选择Prisma?”?页

什么是Prisma?

Prisma是一个开源的下一代ORM。它由以下部分组成:

  • Prisma客户端:Node.js和TypeScript的自动生成和类型安全查询生成器
  • Prisma迁移:迁移系统
  • Prisma Studio:GUI,用于查看和编辑数据库中的数据。

Prisma Studio是Prisma ORM中唯一一个非开源的部分。您只能在本地运行Prisma Studio。Prisma Studio还集成在我们的商业产品Prisma Data Platform中,名称为Data Browser。在数据浏览器中,您可以查看和编辑每个项目的数据,其他团队成员也可以在您授予他们适当角色的权限后进行查看和编辑。

【GraphQL 】将GraphQL API添加到Postgres数据库的六种简单方法,比较Hasura、Prisma和其他

PostgreSQL是世界上最流行的开源SQL数据库之一,GraphQL是一种日益流行的API规范。

将经过验证和众所周知的PostgreSQL与GraphQL带来的API创建新方式集成在一起不是很好吗?

在本文中,我们讨论了六个不同的项目,它们试图将SQL与GraphQL世界合并。其中一些甚至允许基于数据库结构自动创建模式。

以数据库为中心的方法

以数据库为中心的解决方案试图消除大多数配置和架构设置。他们将检查我们的数据库外观,并为我们提供类型和端点。

由于他们知道数据库的结构,他们可以为我们生成高性能的解析器,因此我们不会遇到N+1查询问题。

1. Hasura

Instant Real-time GraphQL on Postgres

Hasura可能是目前球场上最令人兴奋的球员。这是服用类固醇的PHPMyAdmin。

它在Docker容器中运行,作为数据库前面的服务器,并为我们提供一个DB和API的管理UI,就像PHPMyAdmin一样。

【GraphQL】PostGraphile简介

什么是PostGraphile?

如果您熟悉Spring Data JPA,那么理解PostGraphile将非常容易。但没关系。让我们来看看。PostgreSQL数据库是一个非常流行的高性能应用数据库。ProstGraphile与PostgreSQL数据库和GraphQL配合使用。

它在几秒钟内从PostgreSQL模式提供了即时和高性能的GraphQLAPI,并提供了更多功能。

PostGraphile的特点

  • 令人惊叹的展示
  • 数据库关系自动发现,CRUD自动突变

例如:vehicleById、createVehicle、updateVehicle、deleteVehicle等。

【全栈开发】使用GraphQL、Amazon Rds和Hasura开发Angular应用程序的终极指南

使用GraphQL编写数据和查询API可以加快软件开发过程。与REST API相比,使用GraphQL可以得到您想要的东西,后者为您提供了一个可能导致数据传输浪费的完整数据集。使用GraphQL技术查询API意味着我们终于可以告别过度获取了。

将任何软件应用程序与GraphQL绑定将提高应用程序的性能,因为您只选择需要的字段。在本教程中,您将学习如何使用Apollo客户端将GraphQL与Angular框架绑定。AWS RDS将成为我们的Postgres数据库,我们将在其上部署Hasura。Hasura GraphQL引擎将使我们能够快速连接到我们的GraphQL API。为了高效地开发我们的GraphQL API,我们将使用Hasura来完成以下工作;

  • 创建一个表。
  • 设置外键。
  • 查询响应缓存。

为了更好地理解这个概念,我们的Angular应用程序将使用突变创建新闻文章,并提取文章,以便将它们注入用户界面。