数字技术将我们推向了激动人心的新时代,它改变了生活的几乎各个方面。随着通信变得即时,我们比以往任何时候都更加互联。在家办公现在已成为常态,帮助我们在疫情期间转向新的工作方式。我们通过参加在线工作相关活动来减少碳排放的能力意味着我们在应对全球变暖方面取得了更大的进展。继续这一趋势的是Shamshir Anees 和他的团队,他们创建了一个可以托管数字拍卖的应用程序。通过使用 Redis,组件之间的数据传输以最大效率执行,为用户提供仪表板上的实时竞价更新。
让我们看看这是如何实现的。
你将构建一个允许用户参加并参与数字拍卖的应用程序。该应用程序将允许用户创建帐户,出价,甚至设置自己的拍卖。下面我们将揭示所需组件、它们的功能以及如何在该架构中部署它们。
准备开始了吗?好的,让我们直接开始。
NodeJS 连接到 Redis Cloud 数据库。
然后前端通过 API 调用与 NodeJS 后端通信。
GET : /api/auctions
从拍卖哈希中获取所有键。
NodeJS 使用 Redis 模块来使用 Redis Cloud。然后使用 Redis 凭据和 hmget() 创建 Redis 客户端。这等效于用于将数据推送到 Redis 数据库的 HMSET 命令。
GET : /api/auctions/{auctionId}
通过 ID 获取每个拍卖项目。
NodeJS 使用 Redis 模块来使用 Redis Cloud。然后使用 Redis 凭据和 hmget() 创建 Redis 客户端。这等效于用于将数据推送到 Redis 数据库的 HMSET 命令。
拍卖项目的全部竞价数据
GET : /api/bidding/{auctionId}
NodeJS 使用 Redis 模块来使用 Redis Cloud。然后使用 Redis 凭据和 hmget() 创建 Redis 客户端。这等效于用于将数据推送到 Redis 数据库的 HMSET 命令。
GET : /api/settings
NodeJS 使用 Redis 模块来使用 Redis Cloud。然后使用 Redis 凭据和 hmget() 创建 Redis 客户端。这等效于用于将数据推送到 Redis 数据库的 HMSET 命令。
GET : /api/users/{email}
NodeJS 使用 Redis 模块来使用 Redis Cloud。然后使用 Redis 凭据和 hmget() 创建 Redis 客户端。这等效于用于将数据推送到 Redis 数据库的 HMSET 命令。
NodeJS 连接到 Redis Cloud 数据库。
然后前端通过 API 调用与 NodeJS 后端通信。
GET : /api/auctions
从拍卖哈希中获取所有键。
NodeJS 使用 Redis 模块来使用 Redis Cloud。然后使用 Redis 凭据和 hmget() 创建 Redis 客户端。这等效于用于将数据推送到 Redis 数据库的 HMSET 命令。
GET : /api/auctions/{auctionId}
通过 ID 获取每个拍卖项目。
NodeJS 使用 Redis 模块来使用 Redis Cloud。然后使用 Redis 凭据和 hmget() 创建 Redis 客户端。这等效于用于将数据推送到 Redis 数据库的 HMSET 命令。
拍卖项目的全部竞价数据
GET : /api/bidding/{auctionId}
NodeJS 使用 Redis 模块来使用 Redis Cloud。然后使用 Redis 凭据和 hmget() 创建 Redis 客户端。这等效于用于将数据推送到 Redis 数据库的 HMSET 命令。
GET : /api/settings
NodeJS 使用 Redis 模块来使用 Redis Cloud。然后使用 Redis 凭据和 hmget() 创建 Redis 客户端。这等效于用于将数据推送到 Redis 数据库的 HMSET 命令。
GET : /api/users/{email}
NodeJS 使用 Redis 模块来使用 Redis Cloud。然后使用 Redis 凭据和 hmget() 创建 Redis 客户端。这等效于用于将数据推送到 Redis 数据库的 HMSET 命令。
https://github.com/redis-developer/NR-digital-auction-backend
'npm install' 是一个 npm cli 命令,它执行预定义的操作,即安装 package.json 中指定的依赖项
npm install
export REDIS_END_POINT=XXXX
export REDIS_PASSWORD=XXX
export REDIS_PORT=XXX
npm run build
npm start
git clone https://github.com/redis-developer/NR-digital-auction-frontend
npm run build
npm start
您将使用包含 Redis Stack 的 Redis Cloud 数据库来安装数据。
类型 - Redis 哈希
用于存储对每个拍卖项目进行的出价
NodeJS 连接到 Redis Cloud 数据库。前端通过 API 调用与 NodeJS 后端通信。
POST : /api/bidding
请求主体包含要插入数据库的 JSON 数据。
请求主体中的 AuctionId 作为键
包含键的 JSON 数据
竞标数组包含对特定拍卖项目进行的所有出价。
根据当前的 BidEndTime 和 BidTime,拍卖结束日期将根据动态结束概念进行延长。
当前动态结束逻辑 - 如果在拍卖结束时间的前 5 分钟内进行了新的出价,则结束时间将延长 1 小时。
这将在 SaaS 解决方案中可配置。
NodeJS 使用 Redis 模块与 Redis Cloud 交互。Redis 客户端是使用 Redis 凭据创建的,并使用 hmset()。这等效于用于将数据推送到 Redis 数据库的 HMSET 命令。
/api/settings
/api/users
当您访问数字拍卖主页时,您将看到一系列待拍卖的物品(见下文)。单击“欢迎”按钮以创建帐户。
然后,您将被带到注册页面。输入您的详细信息,然后单击“注册”。完成注册表格后,您将收到一封确认电子邮件以激活您的帐户。
转到主页以访问所有物品及其拍卖详细信息。此处的所有数据均由 Redis Stack 和 Redis Cloud 填充。滚动页面,然后单击要出价的物品。
单击物品后,您将在页面顶部看到竞标过程的详细信息。您还可以选择设置提醒,以便在该物品的竞标过程开始时收到电子邮件。
在图像的右侧,您将看到该物品的最高出价。下方是不同用户进行的先前出价列表,这些列表会实时更新。
单击“出价”按钮以进行出价。
要访问元数据信息或查看更多物品图像,只需向下滚动页面(见下文)。
单击导航栏顶部的“我的竞标”以查看您的竞标历史记录(见下文)。
单击导航栏顶部的“拍卖”以查看所有即将举行的拍卖。
数字技术对现代生活的各个方面都产生了连锁反应。能够在线完成重要的任务,而不是亲自完成,彻底改变了我们的生活方式,帮助我们减少碳排放,节省出行时间,并可以即时访问以前从未拥有的大量数据。
但是,此类活动的成功取决于数据库实时传输数据的能力。任何传输故障都会在用户和拍卖之间造成脱节,阻碍拍卖师对出价的反应。这只会导致沮丧、脱节,以及用户完全与应用程序脱节。
但由于 Redis 的存在,构成架构系统的组件变得更加相互关联,因此数据能够实时发送、处理和接收。实现这一点为流畅的竞标流程铺平了道路,用户可以在没有任何中断的情况下实时与事件进行互动,最终增强了应用程序的功能。
NR-Digital-Auction 是 Redis 如何将创新变为现实的绝佳示例。来自世界各地的日常程序员正在尝试使用 Redis 构建影响日常生活的应用程序,您也可以做到!
那么,您可以使用 Redis 构建什么?如果您准备开始构建,请快速启动一个免费的数据库 Redis Cloud。