Chương 1 CƠ SỞ LÝ THUYẾT 1. Ngôn ngữ lập trình Python Python là một ngữ lập trình bậc cao (high-level propraming), mã nguồn mở, hướng đối tượng, thông dịch và được sử dụng rộng rãi trên nhiều lĩnh vực khác nhau. Nó được tao ra bởi Guido van Rossum và được phát hành phiên bản đầu tiền vào ngày 20/02/1991 1. Lịch sử của Python: - Python đã được hình thành vào cuối những năm 1980, và việc thực hiện nó vào tháng 12 năm 1989 bởi Guido van Rossum tại Centrum Wiskunde & Informatica (CWI) ở Hà Lan như là một kế thừa cho ngôn ngữ ABC (tự lấy cảm hứng từ SETL) có khả năng xử lý ngoại lệ và giao tiếp với Hệ điều hành Amoeba.
Van Rossum là tác giả chính và ông cũng là người quyết định hướng phát triển của Python. - Về nguồn gốc của Python, Van Rossum đã viết vào năm 1996: Hơn sáu năm trước, vào tháng 12 năm 1989, Van Rossum đã tìm kiếm một dự án lập trình "sở thích". Trong dự án này, ông đã viết một bộ thông dịch (interprester) cho ngôn ngữ kịch bản mới, nó là một hậu duệ của ngôn ngữ ABC có thể hấp dẫn các hacker Unix/C. Python được tạo ra từ dự án này.0 đã được phát hành vào ngày 16 tháng 10 năm 2000 và có nhiều tính năng mới, bao gồm bộ thu gom rác theo chu kỳ (cycle-detecting garbage) và hỗ trợ Unicode.
Với việc phát hành này quá trình phát triển đã được thay đổi và trở nên minh bạch hơn và cộng đồng hậu thuẫn.0 được phát hành năm 2008, sau một thời gian dài thử nghiệm. Python Django Framework Django là một Framework lập trình Web bậc cao, mã nguồn mở được viết bằng ngôn ngữ lập trình Python. Django là một Framework giúp bạn lập trình web nhanh hơn và tốt hơn so với các framework như Flask mà lại dễ hơn nhiều. Bởi vì Framework này được xây dựng bởi các nhà phát triển có kinh nghiệm nên nó có khả năng xử lý hầu hết những phần phức tạp của việc phát triển web.
Do đó, bạn có thể tập trung vào việc viết app mà không cần phải dừng lại để kiểm tra. Django miễn phí và là open-source. Framework này có một cộng đồng người dùng đông đảo và có nhiều tài liệu hỗ trợ. 1 Xây dựng website đặt lịch phòng khám nha khoa tích hợp chat GPT Django là một web framework khá nổi tiếng được viết hoàn toàn bằng ngôn ngữ Python là một framework với đầu đủ các thư viện, module hỗ trợ các web-developer.
Django sử dụng mô hình MVC và được phát triển bởi Django Software Foundation (DSF một tổ chức phi lợi nhuận độc lập) Mục tiêu chính của Django là đơn giản hóa việc tạo các website phức tạp có sử dụng cơ sở dữ liệu. Django tập trung vào tính năng “có thể tái sử dụng” và “có thể tự chạy” của các component, tính năng phát triển nhanh, không làm lại những gì đã làm. Một số website phổ biến được xây dựng từ Django là Pinterest, Instagram, Mozilla, và Bitbucket. Các ứng dụng web Django thường nhóm mã xử lý cho từng bước này vào các tệp riêng biệt: - URLs: Mặc dù có thể xử lý các yêu cầu từ mọi URL thông qua một hàm duy nhất, nhưng việc viết một hàm xem (view) riêng để xử lý mỗi tài nguyên là cách quản lý tối ưu hơn.
Một bộ URL được sử dụng để định hướng các yêu cầu HTTP đến chức năng view thích hợp dựa trên URL yêu cầu. Bộ URL cũng có thể phù hợp với một chuỗi ký tự hoặc số cụ thể có trong URL và chuyển chúng đến một view dướng dạng dữ liệu. - View: Một hàm xem (view) là một hàm xử lý yêu cầu. View nhận yêu cầu HTTP và trả về phản hồi HTTP.
Hàm view truy cập dữ liệu cần thiết để đáp ứng các yêu cầu thông qua các mô hình (model) và cung cấp dữ liệu trả về cho các mẫu (template). - Model: Mô hình (model) là các class trong Python dùng để tạo các cấu trúc dữ liệu của ứng dựng và cung cấp các phương pháp để quản lý (thêm, sửa, xóa) và truy cập vào cơ sở dữ liệu. - Template: Mẫu (template) là một file giúp định dạng cấu trúc hoặc layout của file (ví dụ một trang HTML) với các vị trí ô đã được chỉ định để trình bày một nội dung cụ thể. Một hàm view có thể tự động tạo một trang HTML bằng cách sử dụng HTML template với dữ liệu được thêm vào từ model.
Một template có thể sử dụng để tạo ra một cấu trúc cho bất kỳ loại file nào (không chỉ HTML). Mã nguồn mở React JS ReactJS (hoặc đơn giản là React) là một thư viện JavaScript được Facebook phát triển để xây dựng giao diện người dùng (UI) cho các ứng dụng web. React giúp các nhà SVTH: ……. 2 Xây dựng website đặt lịch phòng khám nha khoa tích hợp chat GPT phát triển xây dựng các ứng dụng web hiệu quả và dễ bảo trì bằng cách tách thành các thành phần có thể tái sử dụng.
Thành phần tái sử dụng (Reusable Components): React cho phép bạn chia giao diện thành các thành phần độc lập, có thể tái sử dụng. Điều này giúp tăng khả năng bảo trì, giảm độ phức tạp của mã nguồn và nâng cao khả năng mở rộng của ứng dụng. Virtual DOM và Hiệu Suất: React sử dụng Virtual DOM để tối ưu hóa hiệu suất. Thay vì cập nhật trực tiếp DOM mỗi khi có thay đổi, React tạo ra một bản sao tạm thời của DOM và chỉ cập nhật những phần thay đổi thực sự.
Điều này giúp giảm tải và tăng tốc độ cập nhật, đặc biệt là trong các ứng dụng có nhiều sự tương tác người dùng. JSX (JavaScript XML): JSX giúp viết mã nguồn trở nên dễ đọc và dễ hiểu hơn bằng cách kết hợp HTML và JavaScript. Nó giúp tạo ra mã nguồn có cấu trúc, giúp nhóm phát triển dễ dàng hợp tác và bảo trì mã nguồn. Cộng Đồng Lớn và Hỗ Trợ Tốt: React có một cộng đồng lớn và tích cực, điều này có nghĩa là có nhiều tài liệu, ví dụ, và nguồn lực học tập sẵn có.
Cộng đồng còn giúp giải quyết vấn đề và cung cấp các thư viện và công cụ bổ sung. Hỗ Trợ Cộng Đồng và Công Nghệ: React được Facebook phát triển và duy trì, điều này đảm bảo rằng nó sẽ tiếp tục nhận được sự hỗ trợ và phát triển. Nó cũng được sử dụng rộng rãi trong ngành công nghiệp, từ các doanh nghiệp nhỏ đến các công ty lớn. React Native cho Ứng Dụng Di Động: Nếu bạn muốn xây dựng cả ứng dụng web và di động, React Native cung cấp một cách để tái sử dụng mã nguồn giữa hai nền tảng, giảm độ phức tạp và tăng sự linh hoạt trong phát triển.
MySQL Hệ quản trị cơ sở dữ liệu MySQL là chương trình dùng để quản lý hệ thống cơ sở dữ liệu, trong đó, cơ sở dữ liệu là một hệ thống lưu trữ thông tin được sắp xếp rõ ràng, phân lớp ngăn nắp. Nó có thể truy cập dữ liệu một cách thuận lợi và nhanh chóng nhất. Vì hỗ trợ đa số các ngôn ngữ lập trình nên MySQL chính là hệ quản trị cơ sở dữ liệu tự do nguồn mở phổ biến nhất trên thế giới. Hiện MySQL đang được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng.
MySQL là một hệ thống quản trị cơ sở dữ liệu mã nguồn mở (Relational Database Management System, viết tắt là RDBMS) hoạt động theo mô hình client- server. RDBMS 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 (Database) theo hình thức quản lý các mối liên hệ giữa chúng. MySQL là hệ quản trị cơ sở dữ liệu tự do nguồn mở phổ biến nhất thế giới và được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng. Vì MySQL là hệ quản trị cơ sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển, hoạt động SVTH: …….
3 Xây dựng website đặt lịch phòng khám nha khoa tích hợp chat GPT trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất mạnh. Với tốc độ và tính bảo mật cao, MySQL rất thích hợp cho các ứng dụng có truy cập CSDL trên internet. Người dùng có thể tải về MySQL miễn phí từ trang chủ. MySQL có nhiều phiên bản cho các hệ điều hành khác nhau: phiên bản Win32 cho các hệ điều hành dòng Windows, Linux, Mac OS X, Unix, FreeBSD, NetBSD, Novell NetWare, SGI Irix, Solaris, SunOS… Hệ quản trị cơ sở dữ liệu MySQL chính là một trong những phần mềm quản trị CSDL dạng server based, hệ gần giống với SQL server of Microsoft.
MySQL là phần mềm quản lý dữ liệu thông qua CSDL. Và mỗi một CSDL đều có bảng quan hệ chứa dữ liệu riêng biệt. MySQL có cơ chế quản lý sử dụng riêng giúp cho mỗi người sử dụng đều có thể quản lý cùng lúc một hay nhiều CSDL khác nhau. Và mỗi người dùng đều có 1 username và password để truy nhập và truy xuất đến CSDL.
Khi truy vấn đến CSDL của MySQL, chúng ta phải cung cấp tài khoản và mật khẩu có quyền sử dụng cơ sở dữ liệu đó. MySQL tương thích tốt với môi trường PHP, giúp hệ thống hoạt động mạnh mẽ. 4 Xây dựng website đặt lịch phòng khám nha khoa tích hợp chat GPT Chương 2 PHÂN TÍCH THIẾT KẾ HƯỚNG ĐỐI TƯỢNG 2. Khảo sát yêu cầu 2.
Hoạt động nghiệp vụ Hình 2.1: Sơ đồ Nghiệp vụ Flowchart đặt lịch SVTH: Nguyễn Thị Thanh Hưng 5 Xây dựng website đặt lịch phòng khám nha khoa tích hợp chat GPT 2. Liệt kê người dùng và yêu cầu Hệ thống phục vụ cho 3 đối tượng là: khách vãng lai có nhu cầu tìm nhà hàng, khách hàng thành viên có nhu cầu đặt lịch, đánh giá và quản trị hệ thống: - Khách vãng lai và khách hàng thành viên có nhu cầu tìm nha khoa: khi có nhu cầu tìm nha khoa thì sẽ truy cập vào trang web để thực hiện thao tác. - Quản trị viên: có thể quản lý được thông tin nhà hàng của mình, cũng như xem phản hồi khách, có thể duyệt đặt lịch của khách hàng, đặt lịch. Phân tích thiết kế hệ thống 2.
Liệt kê Actor và Usecase Khách vãng lai - Khách hàng có nhu cầu tìm nha khoa, khi chưa có tài khoản thì có thể đăng ký tài khoản. - Xem các dịch vụ và thông tin chi tiết về nha khoa Khách hàng - Xem trước các dịch vụ của nha khoa. - Xem những phản hồi từ những người trải nghiệm trước. - Đặt lịch trước.
- Hủy đơn đặt lịch. - Xem ưu đãi của nha khoa. - Nhận thông báo sau khi đặt lịch qua Email. - Cập nhật thông tin cá nhân.
- Xem Danh sách lịch sử đặt lịch.