Chương 1: Tổng quan đề tài Dựa trên những tình thực tế hiện nay nhóm đưa ra nhìn nhận đánh giá và mục tiêu đề tài mà nhóm sẽ thực hiện ở trong dự án này. Chương 2: Cơ sở lý thuyết Trình bày ngắn gọn lý thuyết liên quan, ngôn ngữ sử dụng để lập trình và thư viện sử dụng. Chương 3: Thiết kế hệ thống Dựa theo những nghiên cứu và đánh giá ở phần tổng quan và cơ sở lý thuyết. Nhóm tiến hành trình bày các bước thiết kế hệ thống.
Chương 4: Kết quả và kiểm thử Dựa theo hệ thống mà nhóm đã thiết kế, nhóm sẽ trình bày kết quả và kiểm thử tất cả chức năng của hệ thống. 2 Chương 5: Đánh giá và hướng phát triển Từ những kết quả mà nhóm thể hiện, nhóm đặt ra thêm những hướng phát triển có thể có giúp cho đề tài để có thể hoàn thiện sử dụng cho ứng dụng thực tế. 3 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2. Cơ sở dữ liệu Postgres (PostgreSQL) PostgreSQL là hệ thống quản trị cơ sở dữ liệu quan hệ và đối tượng (Object – Relational Database Management System) có mục đích chung, là hệ thống cơ sở dữ liệu mã nguồn mở miễn phí tiên tiến nhất hiện nay.
PostgreSQL hỗ trợ nhiều tính năng mạnh mẽ và tiên tiến, bao gồm: + PostgreSQL cung cấp đa dạng kiểu dữ liệu như nguyên hàm, các nguyên số, boolean, số, chuỗi, cấu trúc, hình học, document, … + Dữ liệu trong PostgreSQL đảm bảo tính toàn vẹn bằng cách ràng buộc loại trừ, Primary Keys, Foreign Keys, … + PostgreSQL hỗ trợ ngôn ngữ truy vấn chuẩn SQL (Structured Query Language) và cung cấp một bộ lệnh phong phú để truy vấn và thao tác dữ liệu. + PostgreSQL hỗ trợ nhiều giao thức kết nối như TCP/IP. Điều này cho phép ứng dụng kết nối và tương tác với cơ sở dữ liệu PostgreSQL từ nhiều ngôn ngữ lập trình và môi trường. + PostgreSQL cung cấp các cơ chế bảo mật mạnh mẽ như quản lý người dùng, quyền truy cập và mã hóa dữ liệu.
PostgreSQL là một cơ sở dữ liệu mạnh mẽ và linh hoạt, sở hữu hệ thống tính năng đa dạng giúp hỗ trợ các nhà quản trị bảo vệ toàn vẹn dữ liệu, tạo ra một môi trường chịu lỗi giúp quản lý cả tập dữ liệu lớn lẫn tập dữ liệu nhỏ. PosgreSQL cũng có khả năng mở rộng tuyệt vời, chẳng hạn như có thể sử dụng các kiểu dữ liệu riêng của người viết code, xây dựng các hàm tùy chỉnh, hay viết code từ các ngôn ngữ lập trình khác nhau mà không cần biên dịch lại cơ sở dữ liệu (Nguyễn Hưng , 2022). Ngôn ngữ lập trình C Sharp (C#) C Sharp (C#) là ngôn ngữ lập trình hướng đối tượng mạnh mẽ và đa năng. Được phát triển bởi Microsoft vào năm 2000.
Microsoft phát triển C# dựa trên C++ và Java và C Sharp cũng được xem là ngôn ngữ cân bằng giữa C++, Visual Basic, Delphi và Java. Các ứng dụng của C Sharp kể đến như là phát triển ứng dụng web, có thể xây dựng các trang web động và ứng dụng web với nền tảng .NET hay các nền tảng open source khác. Xây dựng các ứng dụng Windows, Microsoft đã sáng lập ra C 4 Sharp cho chính họ nên việc sử dụng C Sharp lại rất phổ biến trong việc xây dựng các ứng dụng cho Windows. Đặc điểm và thông tin về ngôn ngữ lập trình C Sharp: + C Sharp được thiết kế với mục tiêu làm cho việc lập trình trở nên đơn giản và dễ dàng.
Có cú pháp rõ ràng và dễ hiểu, giúp lập trình viên tập trung vào logic của ứng dụng. + C Sharp không chỉ hỗ trợ viết ứng dụng trên nền tảng Windows, mà còn hỗ trợ viết ứng dụng đa nền tảng thông qua. Điều này cho phép bạn xây dựng và triển khai ứng dụng C Sharp trên nhiều hệ điều hành như Windows, macOS và Linux. + C Sharp là ngôn ngữ chính của .NET Framework, một nền tảng phát triển ứng dụng rộng lớn của Microsoft.NET Framework cung cấp các thư viện lớn và các API mạnh mẽ để xây dựng các ứng dụng phức tạp và đa dạng.
+ C Sharp hỗ trợ tính kế thừa, cho phép bạn xây dựng các lớp con dựa trên các lớp cha có sẵn. Điều này giúp tái sử dụng mã nguồn và tạo ra các cấu trúc lớp linh hoạt và dễ bảo trì. + C Sharp hỗ trợ nhiều phong cách lập trình như lập trình hướng đối tượng (OOP), lập trình sự kiện (event-driven programming), và lập trình bất đồng bộ (asynchronous programming), giúp bạn phát triển ứng dụng linh hoạt và hiệu quả (Nguyễn Hưng, 2021). Về mặt nhược điểm, ngôn ngữ này thì ưu điểm điểm sẽ vượt trội hơn so với nhược điểm nên làm cho ngôn ngữ này trở thành một lựa chọn phổ biến cho việc phát triển ứng dụng chuyên nghiệp trên nhiều nền tảng.
Nhưng cũng kể đến các nhược điểm: + Đối với việc phát triển ứng dụng C Sharp, phải phụ thuộc vào .NET Framework hoặc. Điều này làm cho kích thước sẽ lớn hơn so với các ứng dụng viết bằng ngôn ngữ khác. + Khi có sự thay đổi trong phiên bản C Sharp, các ứng dụng có thể cần được cập nhật để tương thích với các phiên bản mới hơn. Điều này có thể gây khó khăn cho việc duy trì và nâng cấp các dự án lớn.
Entity framework Entity Framework là một bộ công cụ phát triển ứng dụng dữ liệu mã nguồn mở của Microsoft, được sử dụng để làm việc với cơ sở dữ liệu trong ứng dụng. Entity Framework chính là công cụ giúp ánh xạ giữa các đối tượng trong ứng 5 dụng, phần mềm với các bảng của một cơ sở dữ liệu quan hệ, giúp đơn giản hóa quá trình truy vấn, thêm, sửa và xóa dữ liệu. Entity Framework giúp các nhà phát triển tương tác với dữ liệu quan hệ theo phương pháp hướng đối tượng với ít mã hơn so với các ứng dụng truyền thống. Lợi ích là giảm thiểu việc lập trình mã nguồn để thực hiện truy cập và tương tác với cơ sở dữ liệu.
Tính năng chính của Entity Framework bao gồm: + Entity Framework cho phép định nghĩa mô hình dữ liệu của ứng dụng thông qua các lớp đối tượng, có thể xác định các quan hệ giữa chúng và các thuộc tính của từng thực thể. + Entity Framework có thể tự động tạo cơ sở dữ liệu hoặc cập nhật cơ sở dữ liệu hiện có dựa trên mô hình dữ liệu được định nghĩa. Điều này giúp giảm thiểu công việc thủ công và giữ cho cấu trúc cơ sở dữ liệu được đồng bộ ứng dụng. + Entity Framework cung cấp một ngôn ngữ truy vấn LINQ (Language Integrated Query) để thực hiện các truy vấn dữ liệu một cách dễ dàng và tự nhiên.
+ Entity Framework giúp bạn quản lý việc thêm, sửa và xóa dữ liệu một cách dễ dàng thông qua API như DbContext và DbSet, tự động xác định các thay đổi dữ liệu và tạo ra các câu truy vấn SQL tương ứng. + Entity Framework hỗ trợ nhiều loại cơ sở dữ liệu như SQL Server, MySQL, PostgreSQL và Oracle, cho phép bạn làm việc với các cơ sở dữ liệu khác nhau mà không cần thay đổi mã nguồn (Chia sẻ kỹ năng, 2019). Một số hạn chế của Entity Framework: + Tốc độ chậm, Do việc sử dụng ORM và ánh xạ đối tượng, Entity Framework có thể chậm hơn so với việc viết truy vấn SQL tối ưu trực tiếp. + Sử dụng Entity Framework thì việc thiết kế và định nghĩa mô hình dữ liệu cần cẩn thận và rõ ràng.
Việc quản lý quan hệ giữa các đối tượng và các tương tác dữ liệu có thể trở nên phức tạp trong các hệ thống lớn và phức tạp. Ngôn ngữ lập trình JavaScript JavaScript là một ngôn ngữ lập trình phổ biến được sử dụng rộng rãi trong phát triển ứng dụng web. Được tạo ra ban đầu để làm việc trên môi trường trình duyệt web, JavaScript ngày nay đã mở rộng ứng dụng của mình sang nhiều lĩnh vực khác, bao gồm phát triển ứng dụng di động, máy chủ và Internet of Things (IoT). Hỗ trợ các trình duyệt khác nhau như Coccoc, Chrome.
Javascript thường được sử dụng kèm với HTML và CSS tạo thành bộ ba đắc lực cho lập trình viên sử dụng để phát triển các ứng dụng trên webserver. Trong khi HTML và CSS chủ yếu 6 để thiết kế giao diện giúp giao diện thêm bắt mắt thì Javascript có nhiệm vụ xử lý các đối tượng trong HTML. Javascript có nhiều ưu điểm như là có thể hoạt động trên nhiều hệ điều hành khác nhau từ Windows đến MacOS kể cả các hệ điều hành trên điện thoại di động và nó có thể xử lý các tác vụ kể cả khi nó tới từ hai trình duyệt khác nhau bởi vì các phiên xử lý là riêng biệt và không ảnh hưởng lẫn nhau. Một số ưu điểm chính của ngôn ngữ lập trình JavaScript: + JavaScript là một ngôn ngữ đa năng có khả năng xử lý cả các tác vụ phía máy khách và phía máy chủ.
Trên phía máy khách, được sử dụng để tương tác với DOM và tạo tương tác. Trên phía máy chủ, JavaScript được sử dụng trong các framework như Node.js để xây dựng các ứng dụng máy chủ. + Dễ học và sử dụng cú pháp đơn giản dễ hiểu. + Khi website có sử dụng JavaScript thì sẽ giúp cho trang web đó tương tác và tăng trải nghiệm người dùng khi truy cập.
+ Được đánh giá là ngôn ngữ lập trình nhẹ, nhanh so với các ngôn ngữ khác. Nhưng vẫn còn một số nhược điểm hiện hữu như dễ bị khai thác từ những hacker, có thể được dụng để thực thi mã độc trên máy tính của người dùng, không có khả năng đa luồng hoặc đa xử lý, … (Nguyễn Hưng, 2021). Bootstrap Bootstrap là một framework front-end phổ biến và mạnh mẽ được sử dụng để xây dựng giao diện web đáp ứng nhanh chóng và dễ dàng. cho phép người dùng dễ dàng thiết kế website theo một chuẩn nhất định, tạo các website thân thiện với các thiết bị cầm tay như mobile, ipad, tablet, … Các ưu điểm mà Bootstrap mang lại: + Rất dễ để sử dụng: Nó đơn giản vì nó được dựa trên HTML, CSS và Javascript chỉ cần có kiến thức cơ bản về ba nền tảng đó là có thể sử dụng bootstrap tốt.
+ Responsive: Bootstrap xây dựng sẵn css trên các thiết bị Iphones, tablets, và desktops. Tính năng này khiến cho người dùng tiết kiệm được rất nhiều thời gian trong việc tạo ra một website thân thiện với các thiết bị điện tử, thiết bị cầm tay. + Tương thích với trình duyệt: Nó tương thích với tất cả các trình duyệt (Chrome, Firefox, Internet Explorer, Safari, and Opera). Tuy nhiên, với IE browser, Bootstrap chỉ hỗ trợ từ E9 trở lên.