Chương 1: Tổng quan đề tài Giới thiệu lý do và các mục tiêu mà đề tài cần giải quyết, phạm vi nghiên cứu của đề tài. Giới thiệu tóm tắt nội dung sẽ được trình bày trong các chương trình tiếp theo. Nghiên cứu, tìm hiểu và đưa ra lý do chọn đề tài, mục tiêu và mục đích khi xây dựng và phát triển đề tài. Xác định rỏ phạm vi và đối tượng hướng đến, giải pháp công nghệ để triển khai, xây dựng đề tài, đồng thời phân tích đặc tả yêu cầu nghiệp vụ.
Chương 2: Cơ sở lý thuyết Tìm hiểu, giới thiệu tổng quát các kiến thức về ngôn ngữ lập trình JavaScript, và hệ quản trị cơ sở dữ liệu MongoDB SVTH:Bùi Chí Thông 2 Xây dựng website quản lý nhân sự của công ty xây dựng DMM 1. Chương 3: Phân tích thiết kế hệ thống Phân tích các tác nhân và chức năng của từng tác nhân của hệ thống. Thiết kế sơ đồ use-case, sơ đồ hoạt động, sơ đồ ERD. Thiết kế cơ sở dữ liệu.
Xây dựng kịch bản cho từng use-case hệ thống. Chương 4: Kết quả triển khai hệ thống Xây dựng giao diện và chức năng của website 1. Phần kết luận Kết luận chung cho các chương trong đồ án. Trình bày những vấn đề đã giải quyết đồng thời trình bày hướng phát triển.
SVTH:Bùi Chí Thông 3 Xây dựng website quản lý nhân sự của công ty xây dựng DMM : CƠ SỞ LÝ THUYẾT Giới thiệu hệ quản trị cơ sở dữ liệu NoSql MongoDB 2. Đặc điểm của MongoDB a. Khái niệm MongoDB là một hệ quản trị cơ sở dữ liệu mã nguồn mở, là CSDL thuộc NoSql và được hàng triệu người sử dụng, MongoDB là một database hướng tài liệu (document), các dữ liệu được lưu trữ trong document kiểu JSON. MongoDB được phát triển bởi MongoDB Inc.
và được cấp phép theo Giấy phép Công cộng phía Máy chủ (SSPL). Với CSDL quan hệ chúng ta có khái niệm bảng, các cơ sở dữ liệu quan hệ (như MySQL hay SQL Server…) sử dụng các bảng để lưu dữ liệu thì với MongoDB chúng ta sẽ dùng khái niệm là collection thay vì bảng. So với RDBMS thì trong MongoDB collection ứng với table, còn document sẽ ứng với row , MongoDB sẽ dùng các document thay cho row trong RDBMS. Các collection trong MongoDB được cấu trúc rất linh hoạt, cho phép các dữ liệu lưu trữ không cần tuân theo một cấu trúc nhất định.
Cách thức hoạt động của MongoDB Nguyên tắc hoạt động của MongoDB là dưới một tiến trình dịch vụ ngầm và mở một cổng (mặc định là cổng 27017), để có thể tiếp nhận các yêu cầu truy vấn, thao tác; sau đó tiến hành xử lý. Mỗi bản ghi của MongoDB (document) được gắn một trường có tên “_id” nhằm xác định tính duy nhất của bản ghi. Có thể hiểu id này như tên gọi của một bản ghi và dùng phân biệt chúng với các bản ghi khác. Đồng thời, nó còn được sử dụng cho mục đích truy vấn hoặc tìm kiếm thông tin.
Trường dữ liệu “_id” được tự động đánh chỉ mục (index) để đảm bảo tốc độ truy vấn đạt hiệu suất tối ưu. Mỗi truy vấn dữ liệu đều được ghi đệm lên bộ nhớ RAM nên các truy vấn sau đó sẽ diễn ra nhanh hơn. Bởi nó không cần đọc dữ liệu từ ổ cứng. Các lợi ích của hệ quản trị Cơ sở dữ liệu MongoDB a.
Cấu trúc dữ liệu linh hoạt SVTH:Bùi Chí Thông 4 Xây dựng website quản lý nhân sự của công ty xây dựng DMM MongoDB cho phép lưu trữ dữ liệu theo dạng document (BSON) có cấu trúc linh hoạt. Điều này cho phép bạn lưu trữ các document có cấu trúc dữ liệu khác nhau trong cùng một collection, giúp dễ dàng thích ứng với sự thay đổi của yêu cầu dữ liệu. Khả năng mở rộng và hiệu suẩt cao MongoDB hỗ trợ khả năng mở rộng dọc theo chiều ngang (horizontal scaling) và phương pháp sharding. Điều này cho phép bạn phân tán dữ liệu trên nhiều server và xử lý lưu trữ dữ liệu lớn một cách hiệu quả.
MongoDB cũng hỗ trợ replica set để cung cấp tính sẵn sàng (high availability) và tăng cường khả năng chịu lỗi. Truy vấn linh hoạt MongoDB cung cấp MongoDB Query Language (MQL), một ngôn ngữ truy vấn mạnh mẽ và linh hoạt. MQL hỗ trợ các toán tử, điều kiện và phép tính phức tạp để tìm kiếm và truy xuất dữ liệu theo nhu cầu. Điều này cho phép bạn xử lý truy vấn phức tạp và tìm kiếm dữ liệu một cách hiệu quả.
Tích hợp dễ dàng MongoDB hỗ trợ các công cụ và thư viện phổ biến cho nhiều ngôn ngữ lập trình, giúp dễ dàng tích hợp và phát triển ứng dụng. Các thư viện MongoDB cho phép bạn tương tác với cơ sở dữ liệu MongoDB và thực hiện các thao tác như tạo, đọc, cập nhật và xóa dữ liệu. Độ tin cậy va tính sẳn sàng MongoDB cung cấp tính sẵn sàng và độ tin cậy cao thông qua replica set. Với replica set, bạn có thể sao chép dữ liệu và có khả năng chuyển đổi tự động sang một secondary node khi primary gặp sự cố.
Giới thiệu ngôn ngữ lập trình Java Script JavaScript là một ngôn ngữ lập trình dành cho việc tạo và phát triển web. Nó được nhúng vào trong file HTML giúp cho website trở nên sống động và đẹp hơn. JavaScript có thể cập nhật và thay đổi cả HTML và CSS. Một ứng dụng thực tế mà ta dễ thấy nhất của JavaScript đó là các animation, pop-up quảng cáo, autocomplete khi search,… tất cả đều một tay JavaScript thực hiện.
JavaScript còn là một ngôn ngữ lập trình đa nền tảng, ngoài dành cho việc lập trình frontend trên nền tảng web ra thì nó còn được sử dụng cho việc lập trình và phát triển ứng dụng trên nền tảng mobile. SVTH:Bùi Chí Thông 5 Xây dựng website quản lý nhân sự của công ty xây dựng DMM Ngày nay, JavaScript có thể thực thi không chỉ trong trình duyệt mà còn trên server hoặc bất kỳ thiết bị nào có chương trình đặc biệt gọi là JavaScript Engine 2. Ứng dụng của JavaScript Trước đây, các trang web có dạng tĩnh, tương tự như các trang trong một cuốn sách. Một trang tĩnh chủ yếu hiển thị thông tin theo một bố cục cố định.
JavaScript dần được biết đến như một công nghệ phía trình duyệt để làm cho các ứng dụng web linh hoạt hơn. Sử dụng JavaScript, các trình duyệt có thể phản hồi tương tác của người dùng và thay đổi bố cục của nội dung trên trang web. Khi ngôn ngữ này phát triển hoàn thiện, các nhà phát triển JavaScript đã thiết lập các thư viện, khung và cách thức lập trình cũng như bắt đầu sử dụng ngôn ngữ này bên ngoài trình duyệt web. Ngày nay, chúng ta có thể sử dụng JavaScript để thực hiện hoạt động phát triển cả ở phía máy khách và máy chủ.
Cách hoạt động của JavaScript a. Cấu trúc dữ liệu linh hoạt Sau đây là tổng quan về cách thức hoạt động của JavaScript phía máy khách: Trình duyệt tải một trang web khi bạn truy cập trang đó. Trong khi tải, trình duyệt chuyển đổi trang và tất cả các phần tử của trang, chẳng hạn như các nút, nhãn và hộp thả xuống, thành một cấu trúc dữ liệu được gọi là Mô hình đối tượng tài liệu (DOM). Công cụ JavaScript của trình duyệt chuyển đổi mã JavaScript thành mã bytecode.
Mã này đóng vai trò là trung gian giữa cú pháp JavaScript và máy. Các sự kiện khác nhau, chẳng hạn như nhấp vào nút, sẽ kích hoạt việc thực thi khối mã JavaScript được liên kết. Sau đó, công cụ này sẽ diễn giải bytecode và thực hiện các thay đổi đối với DOM. Trình duyệt hiển thị DOM mới.
Phía máy chủ Sau đây là tổng quan về cách thức hoạt động của JavaScript phía máy khách: Trình duyệt tải một trang web khi bạn truy cập trang đó. SVTH:Bùi Chí Thông 6 Xây dựng website quản lý nhân sự của công ty xây dựng DMM Trong khi tải, trình duyệt chuyển đổi trang và tất cả các phần tử của trang, chẳng hạn như các nút, nhãn và hộp thả xuống, thành một cấu trúc dữ liệu được gọi là Mô hình đối tượng tài liệu (DOM). Công cụ JavaScript của trình duyệt chuyển đổi mã JavaScript thành mã bytecode. Mã này đóng vai trò là trung gian giữa cú pháp JavaScript và máy.
Các sự kiện khác nhau, chẳng hạn như nhấp vào nút, sẽ kích hoạt việc thực thi khối mã JavaScript được liên kết. Sau đó, công cụ này sẽ diễn giải bytecode và thực hiện các thay đổi đối với DOM. Trình duyệt hiển thị DOM mới. JavaScript phía máy chủ đề cập đến việc sử dụng ngôn ngữ viết mã trong logic máy chủ back-end.
Trong trường hợp này, công cụ JavaScript nằm trực tiếp trên máy chủ. Hàm JavaScript phía máy chủ có thể truy cập cơ sở dữ liệu, thực hiện các phép toán logic khác nhau và phản hồi nhiều loại sự kiện do hệ điều hành của máy chủ kích hoạt. Ưu điểm chính của viết tập lệnh phía máy chủ là bạn có khả năng tùy chỉnh linh hoạt phản hồi của trang web dựa trên yêu cầu và quyền truy cập của mình cũng như theo yêu cầu thông tin từ trang web. Cấu trúc dữ liệu linh hoạt Thư viện JavaScript là tập hợp các đoạn mã viết sẵn mà các nhà phát triển web có thể tái sử dụng để thực hiện các hàm JavaScript chuẩn.
Mã thư viện JavaScript được gắn vào phần còn lại của mã dự án khi cần thiết. Nếu bạn coi mã ứng dụng JavaScript như một ngôi nhà thì các thư viện JavaScript sẽ giống như đồ nội thất làm sẵn mà các nhà phát triển có thể sử dụng để cải thiện chức năng của ngôi nhà. Sau đây là một số cách sử dụng thư viện JavaScript phổ biến: Trực quan hóa dữ liệu Điều chỉnh DOM Biểu mẫu Các hàm toán học và văn bản SVTH:Bùi Chí Thông 7 Xây dựng website quản lý nhân sự của công ty xây dựng DMM ReactJS – Framework 2. Khái quát về ReactJS là một thư viện JavaScript phổ biến được sử dụng để xây dựng giao diện người dùng (UI) trong các ứng dụng web.
Nó được phát triển bởi Facebook và được cung cấp miễn phí dưới giấy phép mã nguồn mở. Trước khi có ReactJS, lập trình viên thường gặp rất nhiều khó khăn trong việc sử dụng “vanilla JavaScript” (JavaScript thuần) và Jquery7 để xây dựng UI. Điều đó đồng nghĩa với việc quá trình phát triển ứng dụng sẽ lâu hơn và xuất hiện nhiều bug, rủi ro hơn. Vì vậy vào năm 2011, Jordan Walke – một nhân viên của Facebook đã khởi tạo ReactJS với mục đích chính là cải thiện quá trình phát triển UI.
Thành phần chính của ReactJS a. Redux Đây là một phần rất quan trọng của ReactJS và không ai sử dụng Redux mà không biết.