MỞ ĐẦU 1. Lý do chọn đề tài Trong bối cảnh các hoạt động y tế cũng như di chuyển trở nên khó khăn do ảnh hưởng đại dịch, cùng với sự phát triển ngày càng mạnh mẽ của công nghệ, ngày càng có nhiều người tiếp cận với Internet hơn. Nắm bắt được điều đó, rất nhiều bác sĩ và phòng khám đã và đang tập trung vào lĩnh vực kinh doanh trực tuyến, cung cấp cho các bệnh nhân những dịch vụ tiện ích trên Internet. Không ít các nhà đầu tư, khởi nghiệp nhận thấy điều này đã bắt tay tạo nên các mô hình kinh doanh trực tuyến về lĩnh vực y tế, đưa các hoạt động nghiệp vụ cơ bản hỗ trợ người dùng qua đó thu một lượng phí dịch vụ.
Các ứng dụng y tế, trang web dịch vụ y tế được thiết kế trực quan và đẹp mắt, hình ảnh được đầu tư đẹp mắt thu hút khách sử dụng nhiều hơn. Các bác sĩ và phòng khám cũng đã nhận ra điều này và đang tích cực xây dựng, tìm kiếm một dịch vụ y tế trực tuyến nhằm tiếp cận được nhiều khách hàng hơn và qua đó tăng thêm thu nhập. Đồng thời, nền tảng Internet ngày một phát triển, giúp cho việc kinh doanh chủ động hơn trong việc tiếp cận khách hàng, vượt qua giới hạn của kiểu kinh doanh truyền thống. Ngay cả khi chưa có nhu cầu chi tiêu, khách hàng vẫn được nuôi dưỡng bằng việc liên tục nhìn thấy các hình ảnh, tên và các dịch vụ được quảng cáo rải rác trên các nền tảng mạng xã hội và các trang web khác.
Mục tiêu đề tài Đề tài này xây dựng trang web giúp người dùng đặt lịch khám sức khỏe trực tuyến, vận dụng tốt công nghệ RESTFul API, NodeJS, React JS cho trang web. Đề tài có thể được sử dụng cho việc quản lý thông tin các bác sĩ, người dùng, thống kê, duyệt tài khoản của các bác sĩ nhằm tăng sự uy tín và niềm tin cho người sử dụng dịch vụ. Ngoài ra, người dùng sử dụng trang web để đặt lịch khám cho bản thân, thanh toán dễ dàng với giao diện dễ dàng sử dụng, thao tác nhanh gọn vì có đầy đủ chức năng cơ bản cho phép công việc thực hiện chính xác, an toàn. Đối tượng và phạm vi nghiên cứu 1.
Đối tượng Đối tượng mà nhóm chúng em hướng đến là tất cả mọi người có nhu cầu muốn kiểm Khoa ĐT CLC – ĐH SPKT TP.HCM |9 Khóa Luận Tốt Nghiệp tra sức khỏe của bản thân, các bác sĩ đang có nhu cầu tiếp cận thêm các khách hàng mới, những người quản lý mọi dịch vụ cùa website, quản lý thông tin bác sĩ, quản lý đơn hàng, quản lý tài khoản người dùng, theo dõi phát triển của hàng với thống kê doanh thu và ứng dụng đặt lịch khám trực tuyến của chúng em ra đời. Phạm vi nghiên cứu Ứng dụng dành cho người có nhu cầu được khám chữa bệnh nhưng không có thời gian chờ đợi, không muốn tình trạng chờ đợi dài hơi khi đến trực tiếp phòng khám và muốn lên kế hoạch chính xác cho lịch khám của bản thân, trong tình hình dịch bệnh ai ai cũng muốn tránh tiếp xúc với những nơi đông đúc, chen chúc, chỉ cần có một chiếc máy tính được kết nối mạng bên mình là có thể sử dụng dịch vụ mọi nơi, mọi lúc. Kết quả dự kiến đạt được 1. Phía người quản trị Cho phép người quản trị vào trang web để: Thống kê doanh thu Thống kê đơn đặt lịch Tạo tài khoản, thêm, sửa thông tin cho bác sĩ Thêm, chỉnh sửa kế hoạch khám bệnh của bác sĩ Duyệt / hủy yêu cầu đăng ký tài khoản của bác sĩ Quản lý tài khoản người dùng, bác sĩ Tạo chuyên khoa Đăng nhập Đăng xuất 1.
Phía người dùng Cho phép người vào trang web để: Đăng nhập Đăng ký Xem thông tin các bác sĩ Xem lịch khám mà bác sĩ đã đăng ký Đăng ký lịch khám Xem danh sách các chuyên khoa dịch vụ hiện có và các bác sĩ có chuyên khoa Khoa ĐT CLC – ĐH SPKT TP.HCM | 10 Khóa Luận Tốt Nghiệp Lọc các bác sĩ có chuyên khoa đã chọn theo tỉnh thành Tìm kiếm bác sĩ, chuyên khoa Thanh toán đơn hàng Cập nhật tài khoản cá nhân Đăng xuất 1. Phía bác sĩ Đăng ký Đăng nhập Xem thông tin các bác sĩ Xem lịch khám mà bác sĩ đã đăng ký Xem danh sách các chuyên khoa dịch vụ hiện có và các bác sĩ có chuyên khoa Lọc các bác sĩ có chuyên khoa đã chọn theo tỉnh thành Tìm kiếm bác sĩ, chuyên khoa Chỉnh sửa thông tin tài khoản cá nhân Đăng ký, chỉnh sửa lịch khám cho bản thân Duyệt đơn đăng ký lịch khám của người dùng Đăng xuất Khoa ĐT CLC – ĐH SPKT TP.HCM | 11 Khóa Luận Tốt Nghiệp CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2. Tổng quan về server-side Node JS NodeJS là một nền tảng được xây dựng trên V8 JavaScript Engine – trình thông dịch thực thi mã JavaScript, giúp xây dựng các ứng dụng web một cách đơn giản và dễ dàng mở rộng. Một số khái niệm trong Node JS Non-blocking IO: Là phương pháp để xử lý đồng thời nhiều request trên một luồng đơn (single thread) mà không cần đợi hoàn thành xử lý của request trước rồi mới xử lý request sau.
NodeJS sử dụng cơ chế Event loop để xử lý Non-blocking tất cả các request để tăng tốc độ xử lý nhưng chúng ta vẫn có thể xử lý đồng bộ: sử dụng hàm callback, async/await, promise. Package manager: Về tổng quan, package manager là một kho lưu trữ những để xuất bản(publishing ) các package/module để người khác có thể sử dụng và một bộ dòng lệnh (command line) để cài đặt, quản lý version, quản lý các gói phụ thuộc, gỡ cài đặt các package/module có trên kho lưu trữ. Hiện tại có rất nhiều package manager được sử dụng nhưng thông dụng nhất vẫn là npm, yarn.[1] Strapi: một framework NodeJS giúp bạn quản lí nội dung CMS một cách dẽ dàng và xây dựng sẵn các Rest full API cũng như khả năng custom API. Giúp chúng ta tiết kiệm hàng tuần hàng tháng phát triển.
Nếu chúng ta cần custom theo những ứng dụng đặc thì strapi cung cấp giải pháp viết plugin để cài cắm vào hệ thống. Ngoài ra, strapi còn tích hợp nhiều framework JS giúp việc build front-end trở nên dễ dàng hơn rất nhiều. Ưu điểm Node JS Có tốc độ xử lý nhanh nhờ cơ chế xử lý bất đồng bộ (non-blocking). Bạn có thể dễ dàng xử lý hàng ngàn kết nối trong khoảng thời gian ngắn nhất.
Giúp bạn dễ dàng mở rộng khi có nhu cầu phát triển website. Nhận và xử lý nhiều kết nối chỉ với một single-thread. Nhờ đó, hệ thống xử lý sẽ sử dụng ít lượng RAM nhất và giúp quá trình xử Nodejs lý nhanh hơn rất nhiều. Có khả năng xử lý nhiều Requests cùng một lúc trong thời gian ngắn nhất.
Có khả năng xử lý hàng ngàn Process cho hiệu suất đạt mức tối ưu nhất. Khoa ĐT CLC – ĐH SPKT TP.HCM | 12 Khóa Luận Tốt Nghiệp Phù hợp để xây dựng những ứng dụng thời gian thực như các ứng dụng chat, mạng xã hội … 2. Nhược điểm Node JS Gây hao tốn tài nguyên và thời gian. Nodejs được viết bằng C++ và JavaScript nên khi xử lý cần phải trải qua một quá trình biên dịch.
NodeJS so với các ngôn ngữ khác như PHP, Ruby và Python sẽ không có sự chênh lệch quá nhiều. Nodejs có thể sẽ phù hợp với việc phát triển ứng dụng mới. Tuy nhiên khi xây dựng và triển khai dự án quan trọng thì Nodejs không phải là sự lựa chọn hoàn hảo nhất. Môi trường phát triển Node JS Visual studio Code: là một trình soạn thảo, biên tập code hoàn toàn miễn phí dành được Microsoft phát triển cho các lập trình viên và có mặt trên hầu hết các hệ điều hành phổ biến như: Windows, Linux và macOS.
Có thể nói rằng, Visual Studio Code là một sự kết hợp độc đáo – đỉnh cao giữa IDE và Code Editor. Không chỉ là soạn thảo, chỉnh sửa code, Visual Studio Code còn có thể hỗ trợ bạn làm được rất nhiều việc như: đổi theme, hàng loạt phím tắt tiện dụng, có chức năng debug đi kèm, hỗ trợ Git, syntax highlighting hỗ trợ quá trình gõ code, phần gợi ý code thông minh. Cài đặt môi trường cho Node JS Bước 1: Download NodeJS tại https://nodejs.org/en/download, phải là bản Node version 14 để có thể chạy code của chúng em. Bước 2: Mở tệp vừa tải về và chấp nhận các tùy chọn mặc định và nhấn "Next.
Next" cho tới bước cuối cùng. Bước 3: Mở terminal và kiểm tra bằng 2 lệnh node -v và npm -v kết quả sẽ trả về version tương ứng của NodeJS và NPM Tham khảo chi tiết hơn tại https://openplanning.net/11921/cai-dat-nodejs-tren-windows 2. Tổng quan về MySQL MySQL là một hệ quản trị cơ sở dữ liệu mã nguồn mở, hoạt động theo mô hình client- server. Là một phần mềm hay dịch vụ dùng để tạo và quản lý các cơ sở dữ liệu Khoa ĐT CLC – ĐH SPKT TP.HCM | 13 Khóa Luận Tốt Nghiệp (Database) theo hình thức quản lý các mối liên hệ giữa chúng.
Cách vận hành chính trong môi trường MySQL: 1. MySQL tạo ra bảng để lưu trữ dữ liệu, định nghĩa sự liên quan giữa các bảng đó. Client sẽ gửi yêu cầu SQL bằng một lệnh đặc biệt trên MySQL. Ứng dụng trên server sẽ phản hồi thông tin và trả về kết quả trên máy client.
Một số khái niệm trong MySQL Database: là tập hợp dữ liệu theo cùng một cấu trúc. Open source: dịch là mã nguồn mở, có nghĩa là ai cũng có thể dùng và chỉnh sửa nó. Bất kỳ ai cũng có thể cài đặt phần mềmn ày. Bạn cũng có thể học cách tùy chỉnh phần mềm theo nhu cầu của bạn.
Tuy nhiên, giấy phép GPL (GNU Public License) quyết định bạn có thể làm gì tùy vào điều kiện nhất định. Phiên bản thương mại cũng được xuất bản nếu bạn cần thêm chủ quyền linh hoạt và hỗ trợ cao cấp. Mô hình client - server: là máy tính hay một hệ các máy tính cài đặt phần mềm MySQL dành cho server để giúp bạn lưu trữ dữ liệu trên đó, để máy khách có thể truy cập vào quản lý. Dữ liệu này được đặt trong các bảng, và các bảng có mối liên hệ với nhau.
MySQL client không hẵn phải cài phần mềm MySQL của Oracle mà là nói chung của mọi phần mềm có thể thực hiện truy vấn lên một MySQL server và nhận kết quả trả về.