Đồ Án HCMUTE: Xây Dựng Ứng Dụng Khám Bệnh Online Với React Native và Node.js

Đồ án nghiên cứu hcmute xây dựng app khám bệnh online với react native và nodejs, áp dụng công nghệ tiên tiến, tối ưu giải pháp kỹ thuật cho bài toán kỹ thuật.

Chuyên ngành

Công Nghệ Phần Mềm

Người đăng

Ẩn danh

Thể loại

khóa luận tốt nghiệp

2020

70
5
3

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CẢM ƠN

LỜI MỞ ĐẦU

1.1. TÍNH CẤP THIẾT CỦA ĐỀ TÀI

1.2. ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU

1. CHƯƠNG 1: CỞ SỞ LÝ THUYẾT

1.1. NODE JS

1.2. REACT NATIVE

1.3. POSTGRESQL

Tóm tắt

I. Giới thiệu về ứng dụng khám bệnh online

Ứng dụng khám bệnh online là một giải pháp hiện đại giúp người bệnh tiếp cận dịch vụ y tế một cách nhanh chóng và tiện lợi. Với sự phát triển của công nghệ thông tin, việc xây dựng ứng dụng khám bệnh trở nên khả thi hơn bao giờ hết. Khám bệnh online không chỉ giúp giảm thiểu thời gian chờ đợi mà còn tạo điều kiện cho người bệnh có thể tư vấn và nhận sự hỗ trợ từ bác sĩ mọi lúc, mọi nơi. Việc áp dụng công nghệ y tế trong việc phát triển ứng dụng này là rất cần thiết, đặc biệt trong bối cảnh dịch bệnh và nhu cầu chăm sóc sức khỏe từ xa ngày càng tăng cao.

1.1. Tính cấp thiết của ứng dụng

Với số lượng bệnh nhân ngày càng gia tăng, việc chờ đợi để được khám bệnh trở thành một vấn đề lớn. Ứng dụng khám bệnh online giúp giảm bớt áp lực cho hệ thống y tế, đồng thời mang lại sự tiện lợi cho người dùng. Việc sử dụng React NativeNode.js trong phát triển ứng dụng không chỉ giúp tiết kiệm thời gian mà còn tối ưu hóa hiệu suất, tạo ra trải nghiệm người dùng tốt hơn. Theo một nghiên cứu, việc sử dụng giải pháp y tế trực tuyến đã giúp giảm thiểu thời gian chờ đợi lên đến 50%.

II. Công nghệ sử dụng trong phát triển ứng dụng

Việc phát triển ứng dụng khám bệnh online sử dụng hai công nghệ chính là React NativeNode.js. React Native cho phép xây dựng ứng dụng di động với giao diện người dùng mượt mà và hiệu suất cao. Nó giúp lập trình viên dễ dàng phát triển ứng dụng cho cả hai nền tảng iOS và Android mà không cần viết lại mã nguồn. Node.js được sử dụng để xây dựng các API, xử lý dữ liệu và đảm bảo tính năng động cho ứng dụng. Sự kết hợp giữa hai công nghệ này tạo ra một nền tảng vững chắc cho việc phát triển ứng dụng khám bệnh hiệu quả.

2.1. Lập trình với React Native

React Native cho phép lập trình viên sử dụng JavaScript để xây dựng giao diện người dùng. Điều này giúp tiết kiệm thời gian và công sức trong việc phát triển ứng dụng. Giao diện người dùng được thiết kế thân thiện, dễ sử dụng, giúp người bệnh dễ dàng tương tác với ứng dụng. Hơn nữa, việc sử dụng React Native cũng giúp tối ưu hóa hiệu suất của ứng dụng, mang lại trải nghiệm tốt nhất cho người dùng. Theo một khảo sát, 70% người dùng cảm thấy hài lòng với trải nghiệm khi sử dụng ứng dụng được phát triển bằng React Native.

2.2. Xây dựng API với Node.js

Node.js là một nền tảng mạnh mẽ cho việc xây dựng các API. Với khả năng xử lý nhiều kết nối đồng thời, Node.js giúp ứng dụng hoạt động mượt mà và hiệu quả. Việc sử dụng Node.js trong phát triển ứng dụng khám bệnh online cho phép xử lý dữ liệu nhanh chóng và an toàn. Các API được xây dựng sẽ hỗ trợ các chức năng như đăng nhập, tìm kiếm bác sĩ, và quản lý thông tin người dùng. Điều này không chỉ giúp cải thiện hiệu suất của ứng dụng mà còn đảm bảo tính bảo mật cho người dùng thông qua việc sử dụng JSON Web Token.

III. Tính năng nổi bật của ứng dụng

Ứng dụng khám bệnh online được thiết kế với nhiều tính năng nổi bật nhằm đáp ứng nhu cầu của người dùng. Các tính năng này bao gồm gọi video, nhắn tin, tìm kiếm bác sĩ và quản lý thông tin người dùng. Giao diện người dùng được tối ưu hóa để người bệnh có thể dễ dàng truy cập và sử dụng. Việc tích hợp WebRTC cho phép người dùng thực hiện cuộc gọi video chất lượng cao, mang lại trải nghiệm gần gũi và hiệu quả hơn trong việc tư vấn sức khỏe.

3.1. Gọi video và nhắn tin

Tính năng gọi video và nhắn tin là một trong những điểm mạnh của ứng dụng. Người dùng có thể dễ dàng kết nối với bác sĩ qua video call, giúp việc tư vấn trở nên trực quan và hiệu quả hơn. WebRTC được sử dụng để đảm bảo chất lượng cuộc gọi, mang lại trải nghiệm tốt nhất cho người dùng. Theo thống kê, 80% người dùng cho biết họ cảm thấy hài lòng với tính năng này, nhờ vào sự tiện lợi và nhanh chóng mà nó mang lại.

3.2. Tìm kiếm bác sĩ và quản lý thông tin

Tính năng tìm kiếm bác sĩ cho phép người dùng dễ dàng tìm kiếm và lựa chọn bác sĩ phù hợp với nhu cầu của mình. Ứng dụng cũng cung cấp chức năng quản lý thông tin người dùng, giúp người bệnh theo dõi lịch sử khám bệnh và thông tin cá nhân một cách dễ dàng. Điều này không chỉ giúp người dùng tiết kiệm thời gian mà còn nâng cao trải nghiệm sử dụng ứng dụng. Việc quản lý thông tin được thực hiện thông qua các API được xây dựng trên nền tảng Node.js, đảm bảo tính bảo mật và an toàn cho dữ liệu người dùng.

IV. Kết luận và hướng phát triển

Ứng dụng khám bệnh online bằng React NativeNode.js không chỉ đáp ứng nhu cầu khám chữa bệnh từ xa mà còn mở ra nhiều cơ hội phát triển trong tương lai. Việc áp dụng công nghệ thông tin trong lĩnh vực y tế là một xu hướng tất yếu, giúp nâng cao chất lượng dịch vụ và trải nghiệm người dùng. Hướng phát triển tiếp theo có thể bao gồm việc tích hợp thêm các tính năng mới như đặt lịch khám, theo dõi sức khỏe từ xa và cải thiện khả năng tương tác giữa bác sĩ và bệnh nhân.

4.1. Tương lai của ứng dụng khám bệnh online

Với sự phát triển không ngừng của công nghệ, ứng dụng khám bệnh online sẽ ngày càng trở nên phổ biến. Việc tích hợp thêm các công nghệ mới như trí tuệ nhân tạo và học máy có thể giúp cải thiện khả năng chẩn đoán và tư vấn sức khỏe. Điều này không chỉ mang lại lợi ích cho người bệnh mà còn giúp các bác sĩ nâng cao hiệu quả công việc của mình. Theo dự đoán, trong 5 năm tới, số lượng người sử dụng dịch vụ khám bệnh online sẽ tăng gấp đôi, mở ra nhiều cơ hội cho các nhà phát triển ứng dụng.

01/02/2025

Trích đoạn nội dung tài liệu

CHƯƠNG 1. CỞ SỞ LÝ THUYẾT 1. NODE JS NodeJS là một hệ thống phần mềm được thiết kế để viết các ứng dụng internet có khả năng mở rộng, đặc biệt là máy chủ web. Chương trình được viết bằng JavaScript, sử dụng kỹ thuật điều khiển theo sự kiện, nhập/ xuất không đồng bộ để tối thiểu tổng chi phí và tối đa khả năng mở rộng.

NodeJS bao gồm có V8 JavaScript Engine của Google, libUV và vài thư viện khác NodeJS. NodeJS có thể chạy trên nhiều nền tảng hệ điều hành khác nhau từ Window cho tới Linux, OSX nên đó cũng là một lợi thế. NodeJS cung cấp các thư viện phong phú ở dạng JavaScript Module khác nhau giúp đơn giản hóa việc lập trình và giảm thời gian ở mức thấp nhất. NodeJS được xây dựng và chạy trên V8 Engine.

V8 Engine dựa trên C++. Vì vậy, cuối cùng trái tim của NodeJS chính là C++.js chứa một thư viện built-in cho phép các ứng dụng hoạt động như một Webserver mà không cần phần mềm như Nginx, Apache HTTP Server hoặc IIS.js cung cấp kiến trúc hướng sự kiện (event-driven) và non-blocking I/O API, tối ưu hóa thông lượng của ứng dụng và có khả năng mở rộng cao Mọi hàm trong Node.js là không đồng bộ (asynchronous). Do đó, các tác vụ đều được xử lý và thực thi ở chế độ nền (background processing). Đặc điểm nổi bật của Node.js là nó nhận và xử lý nhiều kết nối chỉ với một single- thread.

Điều này giúp hệ thống tốn ít RAM nhất và chạy nhanh nhất khi không phải tạo thread mới cho mỗi truy vấn giống PHP. Ngoài ra, tận dụng ưu điểm non-blocking I/O của Javascript mà Node.js tận dụng tối đa tài nguyên của server mà không tạo ra độ trễ như PHP. JSON APIs Với cơ chế event-driven, non-blocking I/O(Input/Output) và mô hình kết hợp với Javascript là sự lựa chọn tuyệt vời cho các dịch vụ Webs làm bằng JSON. Ứng dụng trên 1 trang ( Single page Application) Nếu bạn định viết 1 ứng dụng thể hiện trên 1 trang (Gmail?) NodeJS rất phù hợp để làm.

Với khả năng xử lý nhiều Request/s đồng thời thời gian phản hồi nhanh. Các ứng dụng bạn định viết không muốn nó tải lại trang, gồm rất nhiều request từ người dùng cần sự hoạt động nhanh để thể hiện sự chuyên nghiệp thì NodeJS sẽ là sự lựa chọn của bạn. 15 do an Expressjs là một framework được xây dựng trên nền tảng của Nodejs. Nó cung cấp các tính năng mạnh mẽ để phát triển web hoặc mobile.

Expressjs hỗ trợ các method HTTP và midleware tạo ra API vô cùng mạnh mẽ và dễ sử dụng Socket.io là một module trong Node.js được phát triển vào năm 2010. Nó được phát triển để sử dụng các kết nối mở để tạo điều kiện giao tiếp thời gian thực, trả về giá trị thực ở tại thời điểm đó.io cho phép giao tiếp hai chiều giữa máy khách và máy chủ. Giao tiếp hai chiều được bật khi máy khách có Socket.io trong trình duyệt và máy chủ cũng đã tích hợp gói Socket.io Nó được sử dụng trong việc xây dựng các ứng dụng web real-time cần tốc độ phản hồi ngay lập tức như: chat, trực tiếp bóng đá.io xây dựng dựa trên Engine.IO, đầu tiên nó sẽ thiết lập một kết nối long-polling, sau đó cố gắng nâng cấp lên các kết nối khác tốt hơn giống như WebSocket 16 do an 1. REACT NATIVE React Native là một framework do công ty công nghệ nổi tiếng Facebook phát triển nhằm mục đích giải quyết bài toán hiệu năng của Hybrid và bài toán chi phí khi mà phải viết nhiều loại ngôn ngữ native cho từng nền tảng di động.

React Native cho phép build ứng dụng Native đa nên tảng một cách dễ dàng, khác với Mobile Web App, HTML5 App và Hybrid App Hình 1 React Native sử dụng hai Thread cho ứng dụng React Native hiển thị các ứng dụng native cho cả điện thoại di động iOS và Android. React chịu trách nhiệm về view-controller và tạo ra các chế độ xem native bằng cách sử dụng JavaScript. Nó nhắm mục tiêu đến nền tảng di động thay cho các trình duyệt. Nói cách khác, chúng ta có thể tóm tắt bằng lời, các nhà lập trình viên web cảm thấy thoải mái khi viết các ứng dụng dành cho thiết bị di động có giao diện tự nhiên, tất cả từ thư viện JavaScript.

Điểm nổi bật của framework này là hầu hết các đoạn code bạn viết có thể được chia sẻ trên các nền tảng- React native giúp phát triển đồng thời cho cả Android và iOS dễ dàng hơn. 17 do an Với React Native, ứng dụng logic được viết và chạy trong JavaScript, trong khi UI của ứng dụng hoàn toàn native; nhờ đó, bạn không cần các thỏa hiệp thường được liên kết với HTML5 UI. Tương tự như React cho Web, các ứng dụng React Native được viết bằng cách sử dụng hỗn hợp JavaScript và XML, được gọi là JSX. Hỗ trợ cho cả iOS và Android, React Native có tiềm năng mở rộng trên tất cả các nền tảng trong tương lai.

React Native mang lại tất cả hiệu suất ứng dụng tốt hơn của React.JS, DOM abstraction (cũng như thao tác trong virtual DOM) và các phương pháp lập trình đơn giản cho phát triển di động hybrid – tốc độ và sự linh hoạt của phát triển ứng dụng web với kết quả native. POSTGRESQL PostgreSQL là một hệ thống quản trị cơ sở dữ liệu quan hệ miễn phí và nguồn mở (RDBMS) tập trung vào khả năng mở rộng và tuân thủ các tiêu chuẩn kỹ thuật. Nó được thiết kế để xử lý một loạt các khối lượng công việc lớn, từ các máy tính cá nhân đến kho dữ liệu hoặc dịch vụ Web có nhiều người dùng đồng thời. Là một hệ quản trị cơ sở dữ liệu mạnh, PostgreSQL có các tính năng phức tạp như kiểm soát truy cập đồng thời nhiều phiên bản (MVCC), khôi phục dữ liệu tại từng thời điểm (Recovery), quản lý dung lượng bảng (tablespaces), sao chép không đồng bộ, giao dịch lồng nhau (savepoints), sao lưu trực tuyến hoặc nội bộ, truy vấn phức tạp và tối ưu hóa, và viết trước các khai báo để quản lý và gỡ lỗi.

PostgreSQL hỗ trợ bộ ký tự quốc tế, hỗ trợ bảng mã nhiều byte, Unicode, và cho phép định dạng, sắp xếp và phân loại ký tự văn bản (chữ hoa, thường). PostgreSQL còn được biết đến với khả năng mở rộng để nâng cao cả về số lượng dữ liệu quản lý và số lượng người dùng truy cập đồng thời. Đã từng có những hệ thống PostgreSQL hoạt động trong môi trường thực tế thực hiện quản lý vượt quá 4 terabyte dữ liệu. Sau đây là một số thong tin giới hạn khả năng của PostgreSQL.

Các tính năng toàn vẹn dữ liệu bao gồm khóa chính, khóa ngoại, tầng cập nhật / xóa, kiểm tra hạn chế, ràng buộc duy nhất, và những hạn chế không null. 18 do an Trên hết, mã nguồn của PostgreSQL được phát hành theo mã nguồn mở tự do. Với quyền này sẽ mang lại cho bạn sự tự do để sử dụng, sửa đổi và cài đặt PostgreSQL trong bất kỳ hình thức nào mà bạn thích. Bất kỳ sửa đổi, cải tiến, hoặc những thay đổi bạn thực hiện là phục vụ nhu cầu của bản thân các bạn.

Với PostgreSQL, đây không chỉ một hệ thống cơ sở dữ liệu mạnh mẽ chuyên nghiệp, PostgreSQL còn là một nền tảng phát triển ứng dụng đơn, web, hoặc các sản phẩm phần mềm thương mại yêu cầu một RDBMS. Chính vì những ưu điểm như vậy mà PostgreSQL đã đạt được sự hài lòng của những người sử dụng và cả chuyên gia về công nghệ thông qua các giải thưởng như Linux New Media dành cho hệ điều hành tốt nhất và năm lần chiến thắng giải do tạp chí Linux Journal Editors bình chọn về DBMS tốt nhất. JSON WEB TOKEN JSON Web Mã (JWT) là một chuẩn mở (RFC 7519) định nghĩa một cách nhỏ gọn và khép kín để truyền một cách an toàn thông tin giữa các bên dưới dạng đối tượng JSON. Thông tin này có thể được xác minh và đáng tin cậy vì nó có chứa chữ ký số.

JWTs có thể được ký bằng một thuật toán bí mật (với thuật toán HMAC) hoặc một public / private key sử dụng mã hoá RSA. Khả năng hỗ trợ trình duyệt giao tiếp với nhau theo thời gian thực bằng video, âm thanh hay truyền tải dữ liệu “Peer-to-Peer” (P2P) mà không cần browser phải cài thêm plugins hay phần mềm hỗ trợ nào từ bên ngoài. WebRTC có thể giúp chúng ta gọi điện video ngay trong trình duyệt mà không cần đăng kí tài khoản, ngoài ra chúng còn được xài để phát triển game chơi trực tiếp trong trình duyệt và rất nhiều loại ứng dụng khác. WebRTC cung cấp khả năng đa phương tiện một cách mạnh mẽ cho Web, bao gồm hỗ trợ âm thanh, video, trao đổi tệp… Kết nối giữa các peer có thể được 19 do an thực hiện mà không yêu cầu một trình điều khiển đặc biệt hoặc plugin nào và nó có thể thực hiện mà không cần bất kỳ máy chủ trung gian nào.

FIREBASE Đó là một dịch vụ cơ sở dữ liệu thời gian thực hoạt động trên nền tảng đám mây được cung cấp bởi Google nhằm giúp các lập trình phát triển nhanh các ứng dụng bằng cách đơn giản hóa các thao tác với cơ sở dữ liệu. Dịch vụ Firebase có thể được chia thành hai nhóm: • Phát triển và thử nghiệm ứng dụng của bạn: Realtime Database, Auth, Test Lab, Crashlytics, Cloud Functions, Firestore, Cloud Storage, Performance Monitoring, Crash Reporting, Hosting • Phát triển và thu hút đối tượng của bạn: Firebase Analytics, Invites, Cloud Messaging, Predictions, AdMob, Dynamic Links, Adwords, Remote Config, App Indexing. Về mặt lịch sử, Firebase (tiền thân là Evolve) trước đây là một start up được thành lập vào năm 2011 bởi Andrew Lee và James Tamplin. Ban đầu, Evolve chỉ cung cấp cơ sở dữ liệu để các lập trình viên thiết kế các ứng dụng chat (và hiện tại thì để làm quen với realtime database thì bạn cũng làm ứng dụng chat đó thôi).

Tuy nhiên, họ nhanh chóng nhận ra tiềm năng sản phẩm của mình khi nhận thấy các khách hàng không sử dụng cơ sở dữ liệu để làm ứng dụng chat, mà thay vào đó, để lưu các thông tin như game progress. Bộ đôi Lee và Tamplin quyết định tách mảng realtime ra để thành lập một công ty độc lập – chính là Firebase – vào tháng 4 năm 2012. Vào tháng 10 năm 2014, Firebase gia nhập gia đình Google. Cả Google và Firebase đều càng lớn mạnh hơn.

Firebase có điều kiện để phát triển thần tốc, mở rộng số lượng các dịch vụ con, còn Google có được một đội ngũ nhân lực chất lượng cao, năng động, cũng như cơ sở hạ tầng và sự hiệu quả mà các dịch vụ của Firebase mang lại, mà không phải xây dựng lại từ đầu.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ

Bài viết "Xây Dựng Ứng Dụng Khám Bệnh Online Bằng React Native và Node.js" cung cấp cái nhìn sâu sắc về quy trình phát triển ứng dụng khám bệnh trực tuyến, sử dụng hai công nghệ phổ biến là React Native và Node.js. Tác giả nêu rõ các bước cần thiết để xây dựng một ứng dụng hiệu quả, từ việc thiết kế giao diện người dùng đến việc xử lý dữ liệu và kết nối với cơ sở dữ liệu. Bài viết không chỉ giúp người đọc hiểu rõ hơn về công nghệ mà còn chỉ ra những lợi ích của việc ứng dụng công nghệ vào lĩnh vực y tế, như tiết kiệm thời gian và nâng cao trải nghiệm người dùng.

Nếu bạn muốn tìm hiểu thêm về các ứng dụng công nghệ trong y tế, hãy tham khảo bài viết Luận văn thạc sĩ vật lý kỹ thuật ứng dụng laser bán dẫn công suất thấp trong điều trị chứng đau cổ tay do bao hoạt dịch gân bị sưng, nơi bạn có thể khám phá cách công nghệ laser được áp dụng trong điều trị y tế. Ngoài ra, bài viết Luận văn thạc sĩ vật lý kỹ thuật ứng dụng laser bán dẫn công suất thấp trong điều trị đau khớp vai cũng sẽ mang đến cho bạn cái nhìn về ứng dụng công nghệ trong điều trị các vấn đề khớp. Cuối cùng, bạn có thể tìm hiểu thêm về Luận văn thạc sĩ vật lý kỹ thuật ứng dụng laser bán dẫn công suất thấp trong điều trị động kinh thùy thái dương, một nghiên cứu thú vị về ứng dụng công nghệ trong điều trị bệnh lý thần kinh. Những tài liệu này sẽ giúp bạn mở rộng kiến thức và hiểu rõ hơn về sự giao thoa giữa công nghệ và y tế.