Công nghệ sử dụng

Một phần của tài liệu Đồ án môn học tiểu luận tốt nghiệp xây dựng website student booking (Trang 24 - 28)

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

2.4. Công nghệ sử dụng

Front-end:

- React.js: Sử dụng React.js để xây dựng giao diện người dùng. React cho phép phát triển các component tái sử dụng, giúp tối ưu hóa hiệu suất và dễ dàng quản lý trạng thái của ứng dụng.

o Ưu điểm:

 Cung cấp cách tiếp cận component-based, giúp dễ dàng tổ chức mã nguồn.

 Hỗ trợ Virtual DOM, giúp tăng tốc độ render và cải thiện hiệu suất.

 Có một cộng đồng ln và nhiều thư viện hỗ trợ.

- Next.js: Sử dụng Next.js như một framework cho React để xây dựng ứng dụng web vi khả năng render phía server (SSR) và tạo trang tĩnh (SSG).

o Ưu điểm:

 Cải thiện SEO nhờ vào khả năng render trang trưc khi gửi ti client.

 Hỗ trợ tự động phân chia mã (code splitting), giúp tối ưu hóa tải trang.

 Cung cấp các tính năng như routing tự động và tích hợp dễ dàng vi API.

- MapBox: Sử dụng MapBox kết hợp vi Next.js, một framework cho React, để xây dựng ứng dụng web vi khả năng render phía server (SSR) và tạo trang tĩnh (SSG).

o Ưu điểm:

 Tích hợp MapBox dễ dàng trong các ứng dụng Next.js, cho phép hiển thị bản đồ tương tác và các dịch vụ liên quan đến địa lý.

 Cải thiện SEO: Khả năng render phía server (SSR) hoặc tạo trang tĩnh (SSG) của Next.js giúp tối ưu hóa việc lập chỉ mục nội dung trên trang web.

 Hiệu suất tốt hơn: Next.js hỗ trợ tự động phân chia mã (code splitting), giúp tải nhanh hơn và sử dụng hiệu quả tài nguyên.

 Routing tự động: Cung cấp routing tự động, giúp tổ chức các trang liên quan đến bản đồ (ví dụ: hiển thị nhiều địa điểm hoặc tuyến đường) một cách dễ dàng.

 Tích hợp API: Dễ dàng kết nối và sử dụng API của MapBox cho các tính năng như tìm kiếm địa điểm, chỉ đường, và lp bản đồ tùy chỉnh

- Material-UI: Sử dụng Material-UI (hiện tại gọi là MUI) để tạo giao diện người dùng đẹp mắt và thân thiện vi người dùng.

o Ưu điểm:

 Cung Cung cấp một bộ thành phần UI phong phú và dễ dàng tùy chỉnh, giúp tăng tốc độ phát triển giao diện.

 Tuân theo nguyên tắc thiết kế Material của Google, mang lại trải nghiệm người dùng mượt mà và nhất quán.

 Hỗ trợ tính năng responsive, giúp giao diện hiển thị tốt trên các thiết bị khác nhau.

- WebSocket: Client sử dụng WebSocket để giao tiếp vi server.

o Ưu điểm:

 WebSocket cho phép nhận và gửi dữ liệu gần như ngay lập tức giữa client và server, mang lại trải nghiệm mượt mà và tương tác tốt hơn cho người dùng.

 Thay vì phải gửi yêu cầu mi qua HTTP cho từng sự kiện, WebSocket duy trì một kết nối mở, cho phép client và server gửi dữ liệu qua lại bất kỳ lúc nào.

 Vì dữ liệu được truyền trực tiếp qua một kết nối mở, độ trễ trong giao tiếp giữa client và server được giảm đáng kể.

Back-end:

- Spring Boot: Là framework mạnh mẽ trong hệ sinh thái Java, được sử dụng để xây dựng các ứng dụng web và API nhanh chóng và dễ dàng. Spring Boot giúp đơn giản hóa việc cấu hình và triển khai ứng dụng, vi các tính năng như cấu hình tự động, hỗ trợ tích hợp dễ dàng vi cơ sở dữ liệu và các dịch vụ web

- Spring MVC: Được tích hợp trong Spring Boot, Spring MVC giúp xử lý các yêu cầu HTTP và hỗ trợ xây dựng các API RESTful. Nó cung cấp các công cụ mạnh mẽ để tạo

và quản lý các controller, service, và repository, giúp tổ chức mã nguồn một cách rõ ràng và dễ dàng bảo trì.

- RESTful API: Sử dụng kiến trúc REST để thiết kế API, giúp giao tiếp giữa front-end và back-end một cách hiệu quả. API RESTful sử dụng các phương thức HTTP như GET, POST, PUT, DELETE để xử lý các yêu cầu, giúp ứng dụng linh hoạt và dễ dàng mở rộng.

- JPA/Hibernate: Để kết nối và thao tác vi cơ sở dữ liệu, Spring Boot sử dụng JPA (Java Persistence API) và Hibernate. Đây là các công nghệ ORM giúp lưu trữ và truy xuất dữ liệu trong cơ sở dữ liệu quan hệ một cách dễ dàng.

- WebSocket: Để xử lý kết nối vi client, gửi dữ liệu thời gian thực đến client, nhận dữ liệu từ client để xử lý hoặc lưu trữ.

2.4.2.Cơ sở dữ liệu.

- MySQL: Sử dụng MySQL làm cơ sở dữ liệu quan hệ để lưu trữ thông tin.

MySQL là một hệ quản trị cơ sở dữ liệu phổ biến và mạnh mẽ, hỗ trợ các ứng dụng web vi khả năng quản lý dữ liệu hiệu quả.

o Cấu trúc dữ liệu quan hệ: MySQL sử dụng mô hình dữ liệu quan hệ, trong đó dữ liệu được lưu trữ trong các bảng vi các mối quan hệ giữa chúng. Điều này giúp dễ dàng quản lý và truy vấn dữ liệu có cấu trúc rõ ràng.

o Khả năng mở rộng: MySQL có thể mở rộng để xử lý lượng dữ liệu ln thông qua việc sử dụng các kỹ thuật như phân mảnh cơ sở dữ liệu (sharding) hoặc sao lưu dữ liệu.

o Hiệu suất cao: MySQL có khả năng xử lý các truy vấn nhanh chóng nhờ vào việc tối ưu hóa các chỉ mục và bộ nh đệm, rất phù hợp cho các ứng dụng cần tốc độ truy xuất cao và tính sẵn sàng của dữ liệu.

2.4.3.Các công nghệ khác.

- Gửi email thông b*o:

o JavaMail API: Sử dụng JavaMail API để gửi email từ ứng dụng, ví dụ như email xác nhận đơn hàng, thông báo đặt lịch, hoặc gửi các thông tin liên quan cho người dùng. JavaMail là một thư viện mạnh mẽ và linh hoạt, hỗ trợ nhiều

giao thức và tùy chỉnh cấu hình, cho phép bạn dễ dàng tích hợp gửi email trong các ứng dụng Java.

- Quản lý mã nguồn:

o Git: Sử dụng Git để quản lý mã nguồn và theo dõi sự thay đổi trong quá trình phát triển. Git giúp làm việc nhóm dễ dàng hơn thông qua việc phân nhánh, quản lý phiên bản, và hợp nhất mã. Thường được tích hợp vi các nền tảng như GitHub hoặc GitLab để hỗ trợ quản lý dự án hiệu quả.

- Kiểm thử API:

o Postman: Sử dụng Postman để kiểm thử các API. Postman cung cấp giao diện thân thiện để gửi yêu cầu HTTP và kiểm tra phản hồi từ server, giúp đảm bảo rằng API hoạt động đúng như mong đợi trưc khi triển khai thực tế.

Một phần của tài liệu Đồ án môn học tiểu luận tốt nghiệp xây dựng website student booking (Trang 24 - 28)

Tải bản đầy đủ (PDF)

(71 trang)