Chương 1: Cơ sở lý thuyết Với một cộng đồng phát triển đông đảo, Node.js cung cấp tài liệu và hỗ trợ phong phú. Điều này giúp việc học và sử dụng Node.js trở nên dễ dàng và thuận tiện. MySQL MySQL là một hệ quản trị cơ sở dữ liệu quan hệ mã nguồn mở phổ biến. Nó được phát triển bởi Oracle Corporation và có sự hỗ trợ đông đảo từ cộng đồng phát triển.
MySQL được sử dụng rộng rãi trong các ứng dụng web và hệ thống quản lý cơ sở dữ liệu do tính bảo mật, độ tin cậy và hiệu suất cao. Nó hỗ trợ ngôn ngữ truy vấn SQL (Structured Query Language), cho phép bạn tương tác với cơ sở dữ liệu bằng các câu lệnh truy vấn. Một trong những đặc điểm nổi bật của MySQL là khả năng xử lý dữ liệu lớn và khả năng mở rộng. Nó có thể xử lý hàng triệu bản ghi và hỗ trợ các công nghệ như phân vùng (partitioning) và sao chép dữ liệu (replication) để tăng cường hiệu suất và khả năng chịu tải của hệ thống.
MySQL cung cấp các tính năng quản lý cơ sở dữ liệu như tạo, sửa đổi và xóa cơ sở dữ liệu, bảng và chỉ mục. Nó hỗ trợ các tính năng bảo mật như quản lý người dùng, phân quyền truy cập và mã hóa dữ liệu.Ngoài ra, MySQL cũng tương thích với nhiều ngôn ngữ lập trình và framework phát triển ứng dụng phổ biến. Nó cung cấp các giao diện lập trình (API) để tương tác với cơ sở dữ liệu từ các ngôn ngữ như PHP, Python, Java, Node.js và nhiều ngôn ngữ khác Tóm lại, MySQL là một hệ quản trị cơ sở dữ liệu quan hệ mạnh mẽ và phổ biến, được sử dụng rộng rãi trong các ứng dụng web và hệ thống quản lý cơ sở dữ liệu. Với tính bảo mật, độ tin cậy và khả năng mở rộng, MySQL là một lựa chọn tuyệt vời cho việc lưu trữ và quản lý dữ liệu.
6 Chương 1: Cơ sở lý thuyết 1. Redux Redux là một thư viện quản lý trạng thái (state management) trong các ứng dụng web phát triển dựa trên JavaScript. Nó được sử dụng rộng rãi trong các ứng dụng React để quản lý trạng thái của ứng dụng một cách hiệu quả và dễ dàng. Redux hoạt động dựa trên một nguyên tắc cơ bản là sử dụng một "store" duy nhất để lưu trữ toàn bộ trạng thái của ứng dụng.
Trạng thái này được biểu diễn dưới dạng một cây đối tượng bất biến (immutable object tree). Bất kỳ thay đổi nào vào trạng thái đều phải thông qua các hành động (actions) được gửi tới store. Hành động này mô tả một sự thay đổi cụ thể trong trạng thái của ứng dụng. Redux cũng cho phép sử dụng các "middleware" để mở rộng chức năng của nó.
Middleware có thể được sử dụng để xử lý các tác vụ bất đồng bộ, ghi nhật ký, kiểm tra điều kiện và thực hiện các thay đổi khác vào luồng xử lý hành động. Một trong những lợi ích quan trọng của Redux là giúp quản lý trạng thái của ứng dụng một cách tổ chức và dễ dàng. Nó giúp ràng buộc dữ liệu và trạng thái với giao diện người dùng, cho phép cập nhật trạng thái một cách nhất quán và dễ dàng theo dõi các thay đổi. Tổng kết lại, Redux là một thư viện quản lý trạng thái mạnh mẽ và phổ biến trong cộng đồng phát triển React, giúp quản lý trạng thái ứng dụng một cách hiệu quả và dễ dàng, đồng thời cung cấp khả năng mở rộng thông qua việc sử dụng middleware.
Ưu điểm của các công nghệ ReactJS: Tái sử dụng mã: ReactJS cho phép xây dựng các thành phần giao diện có thể tái sử dụng. Điều này giúp giảm sự lặp lại mã, tăng tính module và giảm thời gian phát triển. 7 Chương 1: Cơ sở lý thuyết Virtual DOM: ReactJS sử dụng Virtual DOM để tối ưu hóa hiệu suất. Khi dữ liệu thay đổi, React so sánh Virtual DOM mới với phiên bản trước đó và chỉ cập nhật những phần thay đổi thực sự trong DOM thực tế.
Điều này giúp cải thiện tốc độ và hiệu suất của ứng dụng. Khả năng tương tác: ReactJS cung cấp khả năng tương tác mạnh mẽ, cho phép cập nhật dữ liệu và hiển thị những thay đổi tương ứng trên giao diện người dùng một cách nhanh chóng và mượt mà. Điều này tạo ra trải nghiệm người dùng tốt hơn. Hỗ trợ cộng đồng: ReactJS có một cộng đồng phát triển đông đảo và phong phú.
Có nhiều tài liệu, hướng dẫn và thư viện hỗ trợ, giúp việc học và sử dụng ReactJS trở nên thuận tiện và dễ dàng.js: Hiệu suất cao: Node.js sử dụng mô hình không đồng bộ và sự kiện để xử lý yêu cầu. Điều này cho phép xử lý đa luồng và xử lý nhiều yêu cầu cùng một lúc mà không gây chờ đợi. Kết quả là hiệu suất cao và khả năng xử lý tốt trong các ứng dụng có nhiều kết nối đồng thời. Mở rộng dễ dàng: Node.js có khả năng mở rộng tốt.
Với cấu trúc không đồng bộ, nó có thể xử lý hàng nghìn yêu cầu đồng thời mà không gây block hoặc làm chậm hệ thống. Điều này giúp xây dựng các ứng dụng có khả năng mở rộng cao và có thể mở rộng theo nhu cầu. Cộng đồng phát triển mạnh mẽ: Node.js có một cộng đồng phát triển đông đảo và nhiều nguồn tài liệu học tập. Cộng đồng này cung cấp hỗ trợ, góp ý và chia sẻ kiến thức để giúp người dùng Node.js dễ dàng tiếp cận và giải quyết các vấn đề phát triển.
Đa nền tảng: Node.js có thể chạy trên nhiều nền tảng, bao gồm Windows, macOS và Linux. Điều này cho phép phát triển và triển khai ứng dụng trên nhiều môi trường khác nhau. MySQL: 8 Chương 1: Cơ sở lý thuyết Độ tin cậy và bảo mật: MySQL cung cấp các tính năng bảo mật như quản lý người dùng, phân quyền truy cập và mã hóa dữ liệu. Nó cũng có tính năng khôi phục dữ liệu, giúp đảm bảo tính toàn vẹn và tin cậy của cơ sở dữ liệu.
Hiệu suất và khả năng mở rộng: MySQL có khả năng xử lý dữ liệu lớn và khả năng mở rộng cao. Nó hỗ trợ các công nghệ như phân vùng và sao chép dữ liệu để tăng cường hiệu suất và khả năng chịu tải của hệ thống. Tương thích đa ngôn ngữ: MySQL tương thích với nhiều ngôn ngữ lập trình và framework phát triển ứng dụng phổ biến. Điều này giúp nâng cao tính linh hoạt và tiện lợi trong việc phát triển ứng dụng.
Cộng đồng hỗ trợ: MySQL có một cộng đồng phát triển rộng lớn, cung cấp tài liệu, hướng dẫn và hỗ trợ. Cộng đồng này giúp người dùng giải quyết các vấn đề phát triển, chia sẻ kiến thức và tìm kiếm giải pháp hiệu quả. Redux : Quản lý trạng thái dễ dàng: Redux giúp quản lý trạng thái ứng dụng một cách dễ dàng và hiệu quả. Trạng thái của ứng dụng được lưu trữ trong một "store" duy nhất, làm cho việc theo dõi và cập nhật trạng thái trở nên đơn giản.
Dữ liệu ứng dụng dễ dàng chia sẻ: Redux cho phép dữ liệu và trạng thái được chia sẻ một cách dễ dàng giữa các thành phần của ứng dụng. Điều này giúp tránh việc truyền dữ liệu qua lại giữa các thành phần một cách không cần thiết và giúp tạo ra một cấu trúc ứng dụng rõ ràng. Tính nhất quán và dễ dàng theo dõi các thay đổi: Redux sử dụng một quy trình đơn giản và định rõ để cập nhật trạng thái của ứng dụng. Mọi thay đổi vào trạng thái đều phải thông qua các hành động (actions) và qua các reducer để trả về trạng thái mới.
Điều này giúp duy trì tính nhất quán của trạng thái và dễ dàng theo dõi các thay đổi trong ứng dụng. Dễ dàng kiểm thử: Redux giúp việc kiểm thử ứng dụng trở nên dễ dàng hơn. Vì trạng thái của ứng dụng được lưu trữ trong store và các thay đổi trạng thái được 9 Chương 1: Cơ sở lý thuyết thực hiện thông qua các hành động và reducer, nên việc kiểm thử các phần của ứng dụng trở nên đơn giản và có thể tách biệt. Mở rộng và tích hợp dễ dàng: Redux hỗ trợ các middleware để mở rộng chức năng của nó.
Middleware cho phép thực hiện các tác vụ bất đồng bộ, ghi nhật ký, kiểm tra điều kiện và thực hiện các thay đổi khác vào luồng xử lý hành động. Điều này giúp Redux tích hợp dễ dàng với các công nghệ và thư viện khác. 10 Chương 2: Khảo sát hiện trạng CHƯƠNG 2 : KHẢO SÁT HIỆN TRẠNG 2. Từ khóa tìm kiếm Nhằm phục vụ tốt nhất cho việc thực hiện đề tài cuối kì của môn học, sau khi thảo luận chọn ra đề tài là “Xây dựng Website hỗ trợ đặt lịch khám bệnh”.
Nhóm em đã tham khảo các Website trên Internet để học hỏi và xem các trang website đó có những chức năng tiêu biểu nào từ đó kết hợp với ý tưởng đã có hướng tới xây dựng một Website hợp nhất với tiêu chuẩn môn học và khả năng nhóm. Trước hết để đánh giá được khách quan các từ khóa tìm kiếm đã được sử dụng như: "20 Website hỗ trợ đặt lịch khám bệnh được nhiều người truy cập ở Việt Nam", "Website hỗ trợ đặt lịch khám bệnh nổi tiếng nhất Việt Nam". Sau khi nhập từ khóa tìm kiếm nhóm đã chọn các kết quả hiển thị gần nhất và các web hỗ trợ đặt lịch khám có thể vừa có số người truy cập đông hoặc cũng có thể là các bệnh viện đã có tiếng tăm ở thực tế để đưa ra các đánh giá chân thực nhất hỗ trợ cho việc đưa ra các tiêu chuẩn khi tạo hệ thống. Hoàn thành weiste với khả năng và có kết quả tốt nhất, khi các kết quả tìm kiếm được hiển thị nhóm em đã không hẳn chỉ khảo sát các Website có độ nhận diện cao, được nhiều người truy cập mà còn tham khảo những Website kinh doanh thông thường chẳng hạn như: Booking care… 2.
Khảo sát Website hỗ trợ đặt lịch khám bệnh 2. Website đặt lịch khám bệnh - Bệnh viện Việt Pháp https://www.vn/ Nhóm em lựa chọn trang này vì: Một trang web đặt lịch khám bệnh tốt nên cung cấp trải nghiệm dễ sử dụng và tiện lợi cho người dùng. Nó nên có giao diện 11 Chương 2: Khảo sát hiện trạng thân thiện, dễ dàng để tìm kiếm các bác sĩ và các bệnh viện, và cho phép người dùng đặt lịch khám bệnh trong vài bước đơn giản Hình 2. 1: Trang chủ website Bệnh Viện Pháp a.