การให้เลือดเป็นวิธีที่ง่ายและปลอดภัยในการช่วยชีวิต อย่างไรก็ตาม ยังคงมีภาวะแทรกซ้อนในการจับคู่ผู้บริจาคและผู้ป่วยที่มีกรุ๊ปเลือดที่ถูกต้อง เวลาเป็นสินค้าที่มีจำกัดเมื่อพูดถึงการบริจาคโลหิต ทำให้เป็นพื้นฐานอย่างยิ่งในการจัดผู้บริจาคให้เข้ากับผู้ป่วยที่เหมาะสม
ยิ่งกระบวนการนี้มีประสิทธิภาพมากเท่าไร ก็ยิ่งช่วยชีวิตได้มากเท่านั้น ความท้าทายนี้คือ Bhanu Korthiwada ผู้สร้างแอปพลิเคชั่นมหัศจรรย์ Zindagi ซึ่งเร่งกระบวนการบริจาคโลหิตทั้งหมดโดยการจับคู่ผู้บริจาคโลหิตกับผู้ป่วยในอุดมคติ
หัวใจสำคัญของแอปพลิเคชันนี้คือความต้องการขั้นพื้นฐานในการส่งข้อมูลอย่างมีประสิทธิภาพสูงสุด เพื่อให้ผู้ใช้ได้รับการอัปเดตแบบเรียลไทม์ ความล่าช้าหรือความล่าช้าจะขัดขวางประสบการณ์ของผู้ใช้และไม่สามารถให้ทันกับความต้องการที่รวดเร็วสำหรับการบริจาคโลหิต
เนื่องจากความต้องการเหล่านี้ Redis จึงถูกใช้เป็นฐานข้อมูลหลักของแอปพลิเคชัน ซึ่งมีผลกระทบอย่างมากต่อประสิทธิภาพการทำงาน ข้อมูลถูกส่งไปอย่างมีประสิทธิภาพสูงสุด ผู้ใช้ได้รับการอัปเดตตามเวลาจริง และการบริจาคโลหิตเป็นไปอย่างราบรื่น
มาดูกันว่า Bhanu สร้างแอปพลิเคชั่นนี้อย่างไร แต่ก่อนที่เราจะตรวจสอบส่วนลึกของแอปนี้ เราอยากจะชี้ให้เห็นว่าเรามีแอปอื่นๆ ที่น่าตื่นเต้นมากมายให้คุณลองใช้ Redis Launchpad
ดังนั้นอย่าลืมเรียกดูหลังจากโพสต์นี้!
วิธีสร้างแอปที่เชื่อมโยงผู้บริจาคโลหิตกับผู้ป่วย
- คุณจะสร้างอะไร
- คุณต้องการอะไร
- สถาปัตยกรรม
- เริ่มต้นใช้งาน
- วิธีใช้แอปพลิเคชัน
- มันทำงานอย่างไร
1. คุณจะสร้างอะไร
คุณจะสร้างแอปพลิเคชันที่จะจับคู่ผู้บริจาคโลหิตกับผู้ป่วยที่มีกรุ๊ปเลือดเดียวกัน สิ่งนี้จะส่งเสริมกระบวนการบริจาคโลหิตที่ราบรื่นและมีประสิทธิภาพยิ่งขึ้นซึ่งช่วยประหยัดเวลาในการช่วยชีวิต
ด้านล่างนี้ เราจะพูดถึง A-Z ของสิ่งที่จำเป็นในการทำให้แอปพลิเคชันนี้มีชีวิต รวมทั้งเน้นว่าองค์ประกอบใดที่คุณต้องการ ตั้งแต่ต้นจนจบ เราจะแบ่งทุกอย่างออกเป็นขั้นตอนสั้นๆ เพื่อให้การสร้างแอปพลิเคชันนี้ง่ายที่สุด
พร้อมที่จะเริ่มต้นหรือยัง
ตกลง ไปดำน้ำกันเถอะ
2. คุณต้องการอะไร
RedisJSON : ใช้ ECMA-404 ซึ่งเป็นมาตรฐานการแลกเปลี่ยนข้อมูล JSON เป็นประเภทข้อมูลดั้งเดิม
ค้นหาซ้ำ : ให้การสืบค้นขั้นสูง การจัดทำดัชนีรอง และการค้นหาข้อความแบบเต็มสำหรับ Redis
ผับ/ย่อย Redis : ใช้สำหรับส่งข้อความกิจกรรมและส่งข้อความถึงผู้ติดตามจำนวนเท่าใดก็ได้ในช่อง
เทเลริก : จัดเตรียมชุดเครื่องมือซอฟต์แวร์สำหรับเว็บ มือถือ แอปพลิเคชันเดสก์ท็อป การพัฒนา และอื่นๆ อีกมากมาย
เสื้อคลุม : ใช้เป็นเฟรมเวิร์กเว็บโอเพ่นซอร์สฟรีที่ช่วยให้นักพัฒนาสร้างเว็บแอปโดยใช้ C # และ HTML
.NET Core Runtime – ให้บริการพื้นฐานสำหรับแอปที่เชื่อมต่ออินเทอร์เน็ต
3. สถาปัตยกรรม
4. เริ่มต้นใช้งาน
ข้อกำหนดเบื้องต้น
- .NET Core – v5.0.x (เวอร์ชันแพตช์ล่าสุด)
- Visual Studio 2019 16.9 หรือ Visual Studio Code 1.55
- นักเทียบท่า – v19.03.13 (ตัวเลือก)
- Auth0:
- โดเมน
- รหัสลูกค้า
- ความลับของลูกค้า
- SMTP (ไม่บังคับ):นี่เป็นคุณสมบัติเสริม มีผู้ให้บริการหลายรายสำหรับ SMTP เราสามารถใช้ได้ตามความต้องการและราคา ด้านล่างนี้คือบางส่วน:
- SendGrid โดย Twilio
- Amazon SES
- เมลเจ็ท
- Mailgun
- SMS:โค้ดคุณลักษณะ SMS ยังไม่ได้ใช้งาน อย่างไรก็ตามมีการวางแผน ด้านล่างนี้คือผู้ให้บริการยอดนิยมบางส่วน:
- ข่าวสาร91
- ทวิลิโอ
การตั้งค่าการติดตั้งในเครื่องโดยใช้นักเทียบท่า
ข้อกำหนดเบื้องต้น
- นักเทียบท่า
- นักเทียบท่าเขียน
ขั้นตอนที่ 1 โคลน repo:
git clone https://github.com/redis-developer/rediszindagi
อัปเดต
.envไฟล์ที่มีรายละเอียด Auth0 และ SMTP
ขั้นตอนที่ 2 การตรวจสอบไฟล์ Docker Compose
ไฟล์เขียนด้านบนกำหนดบริการพื้นฐานสองอย่าง:
- Redismod
- รีดิสซินดากิ.
Redismod มีโมดูลในตัวเช่น RedisJSON และ RediSearch ที่ใช้สำหรับโครงการนี้ คุณจะต้องส่งตัวแปรสภาพแวดล้อม auth0 จำนวนหนึ่ง SMTP ยังคงเป็นทางเลือก เพื่อความคงอยู่ เราได้เพิ่มการเมานต์โวลุ่ม Docker และแอปเปิดพอร์ต 80
จากเทอร์มินัล/พรอมต์คำสั่งให้เรียกใช้
docker-compose up -d
แอปพลิเคชันสามารถเข้าถึงได้โดยใช้ localhost
5. วิธีจัดเก็บข้อมูล
- ข้อมูลคำขอถูกเก็บไว้ในคีย์ต่างๆ และประเภทข้อมูลต่างๆ
- สำหรับแต่ละคำขอ:
- ID:
Guid
เป็นสตริง - กรุ๊ปเลือด ประเภทการบริจาค ลำดับความสำคัญ สถานะ:
C# ENUM
- ID:
- สำหรับแต่ละคำขอ:
- Redis JSON
- รหัสโปรไฟล์ผู้ใช้:คำนำหน้า:
USER_PROFILE
postfix:ตัวระบุชื่อ Auth0 - รหัสคำขอ:คำนำหน้า:
BLOOD_REQUEST
postfix:Guid string
- รหัสโปรไฟล์ผู้ใช้:คำนำหน้า:
- เผยแพร่ Redis:
- คำขอ:คำขอเลือดใหม่ใดๆ จะเผยแพร่ ID คำขอเป็นข้อความในหัวข้อ
URN:BLOODREQUESTS:NEW
- คำขอ:คำขอเลือดใหม่ใดๆ จะเผยแพร่ ID คำขอเป็นข้อความในหัวข้อ
วิธีการเข้าถึงข้อมูล:
- ใช้รูปแบบที่เก็บ C# ทุกการโทรจะสร้างอินสแตนซ์โดยใช้ Connection Multiplexer
6. วิธีใช้งานแอปพลิเคชัน
การสร้างบัญชีหรือเข้าสู่ระบบ
ผู้บริจาคโลหิตต้องสร้างบัญชีเพื่อให้ได้รับประโยชน์สูงสุดจากการสมัคร คุณสามารถทำได้บนแดชบอร์ดหลักโดยคลิกที่ 'ลงทะเบียนเลย'
บริจาคโลหิตคลิกที่ปุ่มบริจาคโลหิตที่ด้านบนของแถบนำทาง จากนั้นคุณจะมีหลายช่องให้กรอกซึ่งจะแจ้งฐานข้อมูลเกี่ยวกับกรุ๊ปเลือดของคุณและปริมาณที่คุณต้องการบริจาค
รับคำขอบริจาคโลหิตเมื่อคุณสร้างบัญชีแล้ว ผู้ป่วยที่เหมาะสมกับการบริจาคโลหิตจะได้รับแจ้งความพร้อมของคุณ จากนั้นพวกเขาจะสามารถส่งคำขอบริจาคโลหิตของคุณได้ หากต้องการเข้าถึงรายการคำขอทั้งหมดของคุณ ให้คลิกแท็บ "คำขอ" ที่ด้านบนของแถบนำทาง คุณจะมีภาพรวมโดยสมบูรณ์ของคำขอทั้งหมดที่ผู้ป่วยส่งสำหรับการบริจาคของคุณ
สรุป:เชื่อมโยงผู้ป่วยกับผู้บริจาคโลหิตเพื่อช่วยชีวิตผ่าน Redisการเข้าถึงเลือดอย่างรวดเร็วคือความแตกต่างระหว่างความเป็นและความตายของผู้ป่วยจำนวนมาก การจับคู่ผู้บริจาคกับผู้ป่วยที่เหมาะสมมักเป็นกระบวนการที่ใช้เวลานาน ซึ่งทุก ๆ วินาทีเป็นอันตรายต่อผู้ป่วย แอปพลิเคชันของ Bhanu ช่วยขจัดอุปสรรคนี้ผ่านความสามารถของ Redis ในการส่งข้อมูลระหว่างส่วนประกอบต่างๆ ด้วยความเร็วสูง
การส่งข้อมูลด้วยประสิทธิภาพดังกล่าวทำให้ Zindagi สามารถจับคู่ผู้บริจาคโลหิตกับผู้ป่วยที่เหมาะสมได้อย่างรวดเร็วตามเกณฑ์ที่กำหนด ซึ่งจะช่วยเร่งกระบวนการบริจาคโลหิตทั้งหมด ทำให้ผู้บริจาคและผู้ป่วยสามารถโต้ตอบกันแบบเรียลไทม์และจัดเตรียมการบริจาคโลหิตที่เป็นไปได้
หัวใจสำคัญของแอปพลิเคชันนี้คือความสามารถในการดึงทุกฝ่ายมารวมกัน โดยให้ทิศทางที่เหมาะสมที่สุดสำหรับความคืบหน้า ซึ่งหมายความว่ามีการบริจาคมากขึ้น เสียเวลาน้อยลง และมอบประสบการณ์ที่ราบรื่นสำหรับทุกคนที่เกี่ยวข้อง
หากต้องการทราบข้อมูลเชิงลึกเพิ่มเติมเกี่ยวกับวิธีการทำงานของแอปพลิเคชันนี้ โปรดดูวิดีโอ YouTube นี้ หากคุณชอบโพสต์นี้ อย่าลืมลองใช้ Redis Launchpad ซึ่งคุณจะสามารถเข้าถึงแอปพลิเคชันที่เป็นนวัตกรรมใหม่ๆ มากมายที่มีผลกระทบต่อชีวิตประจำวัน
เรามีแอพพลิเคชั่นที่ติดตามรถโดยสารแบบเรียลไทม์บนแผนที่ เรามีแอพพลิเคชั่นที่ป้องกันปัญหาการขาดแคลนอุปทานในโรงพยาบาลในประเทศกำลังพัฒนา และเรามี อีกมากมาย ให้คุณได้ค้นพบ
ดังนั้นอย่าลืมลองดู!
ใครเป็นคนสร้างแอปนี้
ภาณุ กอร์ทิวาดา
Bhanu เป็นวิศวกรซอฟต์แวร์ที่มีประสบการณ์ซึ่งปัจจุบันทำงานเป็นที่ปรึกษาอาวุโสของ ADP หากคุณต้องการติดตามข่าวสารล่าสุดเกี่ยวกับโปรเจ็กต์ล่าสุดทั้งหมด อย่าลืมติดตามเขาบน GitHub