Cho máu là một cách dễ dàng và an toàn để cứu một mạng người. Tuy nhiên, các biến chứng vẫn tồn tại trong việc kết hợp người hiến tặng và bệnh nhân có nhóm máu phù hợp. Thời gian là một thứ có hạn khi nói đến việc hiến máu, vì vậy nó hoàn toàn cơ bản để gắn kết người hiến với đúng bệnh nhân.
Quá trình này càng hiệu quả thì càng có nhiều người được cứu sống. Đảm nhận thử thách này là Bhanu Korthiwada, người đã tạo ra một ứng dụng phi thường, Zindagi, giúp đẩy nhanh toàn bộ quá trình hiến máu bằng cách kết hợp những người hiến máu với những bệnh nhân lý tưởng.
Trọng tâm của ứng dụng này là nhu cầu cơ bản để dữ liệu được truyền với hiệu quả tối đa để cung cấp cho người dùng các bản cập nhật trong thời gian thực. Độ trễ hoặc độ trễ sẽ cản trở trải nghiệm của người dùng và không bắt kịp tốc độ với nhu cầu hiến máu ngày càng nhanh.
Do những nhu cầu này, Redis được sử dụng làm cơ sở dữ liệu chính của ứng dụng, điều này có tác động đáng kể đến hiệu suất. Dữ liệu được truyền với hiệu suất tối đa. Người dùng đã nhận được các bản cập nhật theo thời gian thực. Và việc hiến máu trở nên liền mạch.
Hãy cùng xem cách Bhanu tạo ra ứng dụng này. Nhưng trước khi xem xét chi tiết và nội dung của ứng dụng này, chúng tôi muốn chỉ ra rằng chúng tôi có một loạt các ứng dụng thú vị khác để bạn khám phá trên Redis Launchpad.
Vì vậy, hãy nhớ duyệt sau bài đăng này!
Cách tạo ứng dụng kết nối người hiến máu với bệnh nhân
- Bạn sẽ xây dựng cái gì?
- Bạn sẽ cần gì?
- Kiến trúc
- Bắt đầu
- Làm thế nào để sử dụng ứng dụng?
- Nó hoạt động như thế nào?
1. Bạn sẽ xây dựng cái gì?
Bạn sẽ xây dựng một ứng dụng để kết hợp những người hiến máu với những bệnh nhân có cùng nhóm máu. Điều này sẽ thúc đẩy quá trình hiến máu liền mạch và hiệu quả hơn, tiết kiệm thời gian để cứu người.
Dưới đây, chúng tôi sẽ trình bày từ A-Z về những gì cần thiết để đưa ứng dụng này vào hoạt động, cũng như làm nổi bật những thành phần nào bạn sẽ cần. Từ đầu đến cuối, chúng tôi sẽ chia nhỏ mọi thứ thành các bước nhỏ để giúp việc xây dựng ứng dụng này trở nên dễ dàng nhất có thể.
Sẵn sàng để bắt đầu?
Được rồi, chúng ta hãy đi thẳng vào.
2. Bạn sẽ cần gì?
RedisJSON : Triển khai ECMA-404, Tiêu chuẩn trao đổi dữ liệu JSON, làm kiểu dữ liệu gốc.
Tìm kiếm lại : Cung cấp truy vấn nâng cao, lập chỉ mục phụ và tìm kiếm toàn văn cho Redis.
Redis Pub / Sub : Được sử dụng để nhắn tin sự kiện và có thể cung cấp tin nhắn cho bất kỳ số lượng người đăng ký nào trên kênh.
Telerik : Cung cấp một loạt các công cụ phần mềm cho web, thiết bị di động, ứng dụng dành cho máy tính để bàn, phát triển và hơn thế nữa.
Blazor : Được sử dụng như một khung web mã nguồn mở miễn phí cho phép các nhà phát triển xây dựng các ứng dụng web bằng C # và HTML.
.NET Core Runtime - Cung cấp các dịch vụ cơ bản cho các ứng dụng được kết nối internet
3. Kiến trúc
4. Bắt đầu
Điều kiện tiên quyết
- .NET Core - v5.0.x (phiên bản vá mới nhất)
- Visual Studio 2019 16.9 hoặc Visual Studio Code 1.55
- Docker - v19.03.13 (tùy chọn)
- Auth0:
- Miền
- ID khách hàng
- Bí mật của Khách hàng
- SMTP (Tùy chọn):Đây là một tính năng tùy chọn. Có nhiều nhà cung cấp cho SMTP. Chúng tôi có thể sử dụng một cái dựa trên nhu cầu và giá cả. Dưới đây là một vài trong số chúng:
- SendGrid của Twilio
- Amazon SES
- Mail Jet
- Mailgun
- SMS:Mã tính năng SMS chưa được triển khai. Tuy nhiên, nó đã được lên kế hoạch. Dưới đây là một số nhà cung cấp phổ biến:
- Msg91
- Twilio
Thiết lập cài đặt cục bộ bằng docker
Điều kiện tiên quyết
- Docker
- Docker Compose
Bước 1. Sao chép repo:
git clone https://github.com/redis-developer/rediszindagi
Cập nhật
.envtệp có chi tiết Auth0 và SMTP
Bước 2. Kiểm tra tệp Docker Compose
Tệp Soạn thảo ở trên xác định hai dịch vụ cơ bản:
- Redismod
- rediszindagi.
Redismod có các mô-đun tích hợp sẵn như RedisJSON và RediSearch được sử dụng cho dự án này. Bạn sẽ cần chuyển một số biến môi trường auth0. SMTP vẫn là tùy chọn. Để tồn tại lâu dài, tập kết Docker đã được thêm vào và ứng dụng được hiển thị ở cổng 80.
Từ terminal / command prompt, chạy
docker-compose up -d
Ứng dụng có thể được truy cập bằng localhost.
5. Cách dữ liệu được lưu trữ
- Dữ liệu yêu cầu được lưu trữ trong các khóa khác nhau và nhiều kiểu dữ liệu khác nhau.
- Đối với mỗi yêu cầu:
- ID:
Guid
dưới dạng một chuỗi - Nhóm máu, Loại hiến tặng, Mức độ ưu tiên, Tình trạng:
C# ENUM
- ID:
- Đối với mỗi yêu cầu:
- Redis JSON
- Khoá Hồ sơ Người dùng:tiền tố:
USER_PROFILE
hậu tố:định danh tên Auth0 - Khóa yêu cầu:tiền tố:
BLOOD_REQUEST
postfix:chuỗi hướng dẫn
- Khoá Hồ sơ Người dùng:tiền tố:
- Redis Publish:
- Yêu cầu:Bất kỳ yêu cầu máu mới nào sẽ xuất bản id yêu cầu dưới dạng thông báo cho chủ đề
URN:BLOODREQUESTS:NEW
- Yêu cầu:Bất kỳ yêu cầu máu mới nào sẽ xuất bản id yêu cầu dưới dạng thông báo cho chủ đề
Cách dữ liệu được truy cập:
- Mẫu kho lưu trữ C # được sử dụng, mọi cuộc gọi sẽ tạo một bản sao bằng Bộ ghép kênh kết nối
6. Cách sử dụng ứng dụng
Tạo tài khoản hoặc đăng nhập
Để nhận được đầy đủ lợi ích của ứng dụng, người hiến máu phải tạo một tài khoản. Bạn có thể thực hiện việc này trên trang tổng quan chính bằng cách nhấp vào ‘Đăng ký ngay.’
Hiến máuBấm vào nút hiến máu ở đầu thanh điều hướng. Sau đó, bạn sẽ có một số trường để điền vào sẽ thông báo cho cơ sở dữ liệu về nhóm máu của bạn và số lượng bạn muốn hiến tặng.
Nhận yêu cầu hiến máuSau khi bạn tạo tài khoản, những bệnh nhân phù hợp để bạn hiến máu sẽ được thông báo về tình trạng sẵn có của bạn. Sau đó, họ sẽ có thể gửi cho bạn yêu cầu hiến máu của bạn. Để truy cập danh sách yêu cầu đầy đủ của bạn, hãy nhấp vào tab 'Yêu cầu' ở đầu thanh điều hướng. Tại đây, bạn sẽ có cái nhìn tổng quan đầy đủ về tất cả các yêu cầu mà bệnh nhân đã gửi cho khoản đóng góp của bạn.
Kết luận:Cầu nối bệnh nhân với những người hiến máu để cứu sống người bệnh thông qua RedisTiếp cận máu nhanh là sự khác biệt giữa sự sống và cái chết của nhiều bệnh nhân. Việc ghép những người hiến tặng với đúng bệnh nhân thường là một quá trình tốn nhiều thời gian, nơi mỗi giây đều có thể gây nguy hiểm cho bệnh nhân. Ứng dụng của Bhanu giúp loại bỏ trở ngại này thông qua khả năng gửi dữ liệu giữa các thành phần với tốc độ cực nhanh của Redis.
Việc truyền dữ liệu với hiệu quả như vậy cho phép Zindagi nhanh chóng kết hợp người hiến máu với đúng bệnh nhân dựa trên các tiêu chí đã cho. Điều này thúc đẩy toàn bộ quá trình hiến máu, cho phép người hiến và bệnh nhân tương tác với nhau trong thời gian thực và sắp xếp một lần hiến máu khả thi.
Trọng tâm của ứng dụng này là khả năng kéo tất cả các bên lại với nhau, cung cấp hướng đi tối ưu cho tiến trình. Điều này có nghĩa là đóng góp nhiều hơn, ít lãng phí thời gian hơn và trải nghiệm hoàn toàn liền mạch cho tất cả mọi người tham gia.
Để có thêm cái nhìn trực quan về cách ứng dụng này hoạt động, hãy xem video YouTube này. Nếu bạn thích bài đăng này, hãy nhớ xem Redis Launchpad, nơi bạn sẽ có quyền truy cập vào nhiều ứng dụng sáng tạo đang có ảnh hưởng đến cuộc sống hàng ngày.
Chúng tôi có các ứng dụng theo dõi xe buýt trong thời gian thực trên bản đồ. Chúng tôi có các ứng dụng ngăn ngừa tình trạng thiếu nguồn cung cấp trong các bệnh viện ở các quốc gia đang phát triển. Và chúng tôi có rất nhiều hơn thế nữa để bạn khám phá.
Vì vậy, hãy nhớ kiểm tra chúng!
Ai đã tạo ra ứng dụng?
Bhanu Korthiwada
Bhanu là một kỹ sư phần mềm giàu kinh nghiệm, hiện đang làm cố vấn cấp cao cho ADP. Nếu bạn muốn cập nhật tất cả các dự án mới nhất của anh ấy, hãy nhớ theo dõi anh ấy trên GitHub.