视频

了解更多
献血是一种简单而安全的救命方式。 然而,在将献血者与具有正确血型的患者相匹配方面仍然存在复杂性。时间在献血方面是一种有限的商品,因此将献血者与正确的患者对齐绝对至关重要。
这个过程效率越高,挽救的生命就越多。 Bhanu Korthiwada 承担了这项挑战,他创建了一个非凡的应用程序 Zindagi,通过将献血者与理想的患者相匹配,加快了整个献血过程。
该应用程序的核心是需要以最高的效率传输数据,以便为用户提供实时更新。延迟或延误会阻碍用户的体验,并且无法跟上对献血的快速需求。
由于这些需求,Redis 被用作应用程序的主要数据库,这对性能产生了巨大的影响。 数据以最高的效率传输。 用户收到实时更新。 献血变得无缝。
让我们看看 Bhanu 是如何创建这个应用程序的。但在我们检查这个应用程序的来龙去脉之前,我们想指出的是,我们在 Redis Launchpad 上还有一系列令人兴奋的其他应用程序供您查看。
因此,请务必在阅读完这篇文章后浏览一下!
你将构建一个将血型相同的献血者与患者相匹配的应用程序。 这将促进更加无缝和高效的献血过程,从而节省时间来挽救生命。
下面我们将介绍将该应用程序变为现实所需的一切,并重点介绍你需要的组件。 从头到尾,我们将所有内容分解为易于理解的步骤,以使构建此应用程序尽可能容易。
准备好开始了吗?
好的,让我们直接开始吧。
RedisJSON: 将 ECMA-404(JSON 数据交换标准)实现为原生数据类型。
RediSearch: 为 Redis 提供高级查询、辅助索引和全文搜索。
Redis Pub/Sub: 用于事件消息传递,并且可以向通道上的任意数量的订阅者提供消息。
Telerik: 为 Web、移动、桌面应用程序、开发等提供一系列软件工具。
Blazor: 用作免费的开源 Web 框架,允许开发人员使用 C# 和 HTML 构建 Web 应用程序。
.NET Core Runtime – 为互联网连接的应用程序提供基本服务
先决条件
git clone https://github.com/redis-developer/rediszindagi
使用 Auth0 和 SMTP 详细信息更新 .env 文件
version: '3.7'
services:
redismod:
image: redis/redis-stack:latest
container_name: redis
restart: unless-stopped
environment:
EMAIL: [email protected]
volumes:
- ./persistence/redismod/data:/data
networks:
- default
ports:
- 6379:6379
rediszindagi:
image: ghcr.io/bhanukorthiwada/rediszindagi:latest
container_name: zindagi
restart: unless-stopped
environment:
ASPNETCORE_ENVIRONMENT: ${APP_ENV}
AUTH0__DOMAIN: ${APP_AUTH0_DOMAIN}
AUTH0__CLIENTID: ${APP_AUTH0_CLIENTID}
AUTH0__CLIENTSECRET: ${APP_AUTH0_CLIENTSECRET}
SMTP__DISABLE: ${APP_SMTP_DISABLE}
SMTP__FROM: ${APP_SMTP_FROM}
SMTP__HOST: ${APP_SMTP_HOST}
SMTP__PORT: ${APP_SMTP_PORT}
SMTP__USERNAME: ${APP_SMTP_USERNAME}
SMTP__PASSWORD: ${APP_SMTP_PASSWORD}
SMTP__USESSL: ${APP_SMTP_USESSL}
CONNECTIONSTRINGS__REDIS: ${APP_REDIS_CONNECTIONSTRING}
volumes:
- ./persistence/zindagi/logs:/app/logs
networks:
- default
ports:
- 80:80
depends_on:
- redismod
networks:
default:
name: network_default
driver: bridge
上面的 Compose 文件定义了两个基本服务
Redismod 具有 RedisJSON 和 RediSearch 等内置模块,这些模块用于本项目。 你需要传递许多 auth0 环境变量。 SMTP 仍然是可选的。 为了持久性,已添加 Docker 卷挂载,并且该应用已暴露给端口 80。
从终端/命令提示符运行 docker-compose up -d
可以使用 localhost 访问该应用程序。
要获得该应用程序的全部好处,献血者必须创建一个帐户。 你可以通过单击主仪表板上的“立即注册”来执行此操作。
单击导航栏顶部的献血按钮。 然后,你将填写一些字段,这些字段将通知数据库你的血型以及你想要捐献的数量。
创建帐户后,适合你献血的患者将收到你可用性的通知。 然后,他们将能够向你发送献血请求。 要访问你的完整请求列表,请单击导航栏顶部的“请求”选项卡。 在这里,你将全面了解患者发送的所有捐赠请求。
对于许多患者而言,快速获得血液是生死攸关的事情。 将献血者与正确的患者相匹配通常是一个耗时的过程,每一秒都会危及患者。 Bhanu 的应用程序有助于通过 Redis 以闪电般的速度在组件之间发送数据的能力来消除这一障碍。
以如此高的效率传输数据使得 Zindagi 能够根据给定的标准快速地将献血者与正确的患者相匹配。 这加快了整个献血过程,使献血者和患者能够实时互动并安排可能的献血。
该应用程序的核心是能够将所有各方聚集在一起,为进展提供最佳方向。 这意味着更多的捐赠,更少的浪费时间,以及所有相关人员的完全无缝的体验。
要更直观地了解此应用程序的工作原理,请查看此YouTube 视频。 如果你喜欢这篇文章,请务必查看Redis Launchpad,在那里你将可以访问各种正在对日常生活产生影响的创新应用程序。
我们有在地图上实时跟踪公共汽车的应用程序。 我们有防止发展中国家医院供应短缺的应用程序。 我们还有更多等你来发现。
因此请务必查看它们!
Bhanu Korthiwada
Bhanu 是一位经验丰富的软件工程师,目前担任 ADP 的高级顾问。 如果你想及时了解他的所有最新项目,请务必在 GitHub 上关注他。