CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 1. REACTJS Hình 1: Logo ReactJS [1] ReactJS làm nền tảng cho phần giao diện người dùng của trang web. Nó cho phép xây dựng các thành phần giao diện tái sử dụng, giúp phát triển ứng dụng một cách dễ dàng và hiệu quả. Giao diện người dùng được chia thành các thành phần riêng biệt, giúp quản lý mã nguồn và tương tác người dùng một cách hiệu quả.
React Router được sử dụng để xử lý định tuyến (routing), cho phép chuyển đổi giữa các trang mà không cần tải lại trình duyệt. Redux hoặc React Context API được sử dụng để quản lý trạng thái toàn cục của ứng dụng và chia sẻ dữ liệu giữa các thành phần. NODEJS Hình 2: Logo NodeJS [2] Node.js là môi trường chạy Javascript mã nguồn mở, đa nền tảng có thể chạy trên Windows, Linux, Unix, macOS,.js chạy trên Javascript V8 Engine của Google Chrome. Nó cho phép chạy mã JavaScript ngoài trình duyệt, đặc biệt là trên máy chủ.
Dưới đây là một số điểm chính về Node.js: JavaScript Everywhere: Node.js cho phép sử dụng JavaScript cả ở phía máy chủ, không chỉ giới hạn trong trình duyệt web. Điều này giúp tạo ra môi trường thống nhất cho việc phát triển toàn bộ ứng dụng web bằng JavaScript. Bất đồng bộ và Sự Kiện Gần Đây: Node.js sử dụng mô hình bất đồng bộ (asynchronous) để xử lý nhiều kết nối cùng một lúc mà không chặn lại chương trình. Điều này thích hợp cho ứng dụng thời gian thực và ứng dụng có nhiều kết nối cùng lúc.
Nền Tảng Dựa Trên Sự Kiện (Event-Driven): Node.js dựa trên kiến trúc sự kiện, nơi các sự kiện như yêu cầu mạng hoặc thao tác tệp tin kích hoạt các hàm xử lý được đăng ký. Điều này giúp tối ưu hóa hiệu suất và phản ứng của ứng dụng. 18 Hệ Thống Module: Node.js sử dụng hệ thống module để quản lý code. Các module có thể được tái sử dụng và kết hợp để xây dựng các ứng dụng lớn.
Thư Viện Nền Tảng Rộng Lớn: Node.js có một cộng đồng mạnh mẽ và nhiều thư viện, cung cấp mọi thứ từ xử lý dữ liệu đến kết nối cơ sở dữ liệu, giúp giảm thời gian và công sức trong việc phát triển ứng dụng. Nhanh và Hiệu Quả: Với sự kết hợp của V8 JavaScript Engine và mô hình bất đồng bộ, Node.js thường được biết đến với khả năng xử lý đồng thời và hiệu suất cao. Sử Dụng cho Phát Triển Web: Node.js thường được sử dụng để phát triển các ứng dụng web, bao gồm cả server-side rendering, APIs, và ứng dụng đơn trang (SPA). Công Cụ Quản Lý Gói npm: npm là một công cụ quản lý gói (package manager) cho Node.js, giúp cài đặt và quản lý các thư viện và công cụ mà bạn cần trong quá trình phát triển.
EXPRESS Express là một framework web cho Node.js, được sử dụng để xây dựng ứng dụng web và API một cách nhanh chóng và dễ dàng. Nó là một trong những framework phổ biến nhất trong cộng đồng Node.js với độ ổn định, linh hoạt và dễ sử dụng. Dưới đây là một số điểm chính về Express: Routing: Express cung cấp hệ thống định tuyến (routing) mạnh mẽ, giúp xác định cách xử lý các yêu cầu HTTP đối với các đường dẫn cụ thể trên ứng dụng của bạn. Middleware: Middleware là một khái niệm quan trọng trong Express.
Chúng là các hàm được thực hiện theo trình tự khi xử lý một yêu cầu. Middleware có thể thực hiện các chức năng như xử lý các dữ liệu đầu vào, xác thực, ghi log, và nhiều thứ khác. Express có nhiều middleware sẵn có và bạn cũng có thể tạo middleware tùy chỉnh của riêng mình. 19 Template Engine: Express không buộc bạn phải sử dụng một template engine cụ thể, nhưng nó hỗ trợ nhiều template engine như EJS, Pug, và Handlebars để giúp xây dựng các trang HTML dễ đọc và duy trì.
Các Chức Năng Xử Lý Errors: Express cung cấp cách tiếp cận dễ dàng cho việc xử lý lỗi trong ứng dụng, bao gồm middleware xử lý lỗi và chức năng next(err) để chuyển lỗi từ middleware này sang middleware khác. HTTP Utility Methods và Middleware: Express cung cấp nhiều phương thức hữu ích để xử lý các loại yêu cầu HTTP khác nhau, chẳng hạn như GET, POST, PUT, DELETE. Nó cũng có sẵn các middleware để xử lý JSON, url-encoded và nhiều loại dữ liệu khác. Phát triển API: Express là lựa chọn phổ biến cho việc xây dựng API RESTful, với các công cụ hỗ trợ như Routing, Middleware và HTTP methods.
MONGODB Hình 3: Logo MongoDB [3] MongoDB là một hệ quản trị cơ sở dữ liệu NoSQL, được thiết kế để lưu trữ và xử lý dữ liệu theo mô hình tài liệu. Được phát triển bởi MongoDB Inc., MongoDB trở thành 20 một trong những cơ sở dữ liệu NoSQL phổ biến nhất và được sử dụng rộng rãi trong cộng đồng phát triển phần mềm. Dưới đây là một số đặc điểm chính và lợi ích của MongoDB: Dữ Liệu Tài Liệu (Document-Oriented): MongoDB lưu trữ dữ liệu dưới dạng tài liệu JSON-style BSON (Binary JSON). Mỗi bản ghi được biểu diễn bằng một tài liệu, giúp dữ liệu có cấu trúc linh hoạt và phản ánh cấu trúc dữ liệu của ứng dụng.
Schema Tự Do: MongoDB không yêu cầu một lược đồ cố định và cho phép các tài liệu trong cùng một bộ sưu tập (collection) có thể có các trường khác nhau. Điều này mang lại tính linh hoạt cao, giúp dễ dàng thay đổi cấu trúc dữ liệu mà không cần sửa đổi lược đồ trước. Tính Năng Query Mạnh Mẽ: MongoDB cung cấp các truy vấn mạnh mẽ, bao gồm truy vấn theo trường, truy vấn theo mảng, và nhiều tính năng khác để truy cập và tìm kiếm dữ liệu một cách hiệu quả. Chia Dữ Liệu và Mở Rộng Dễ Dàng: MongoDB hỗ trợ chia dữ liệu (sharding) để mở rộng cơ sở dữ liệu theo chiều ngang, giúp ứng dụng có thể xử lý lượng dữ liệu lớn và nhiều yêu cầu cùng một lúc.
Replication và High Availability: MongoDB hỗ trợ cơ chế sao chép dữ liệu (replication) để đảm bảo sự an toàn và có sẵn của dữ liệu. Điều này giúp đảm bảo tính sẵn sàng cao (high availability) của hệ thống. Tích Hợp Tốt với Ngôn Ngữ Lập Trình: MongoDB có các trình điều khiển (driver) cho nhiều ngôn ngữ lập trình phổ biến như JavaScript (Node.js), Python, Java, Ruby, và nhiều ngôn ngữ khác. Cộng Đồng Lớn và Hỗ Trợ: MongoDB có một cộng đồng lớn và tích cực, cung cấp tài liệu phong phú, diễn đàn, và các nguồn thông tin khác để hỗ trợ người sử dụng.
21 CHƯƠNG 2: KHẢO SÁT VÀ PHÂN TÍCH HIỆN TRẠNG 2. KHẢO SÁT HIỆN TRẠNG 2. TOPCV Hình 4: Trang chủ TOPCV [4] TopCV là một nền tảng trực tuyến hàng đầu tại Việt Nam, chuyên cung cấp các dịch vụ tạo CV và hỗ trợ tìm kiếm việc làm. Ra đời với mục tiêu giúp người lao động nâng cao cơ hội nghề nghiệp, TopCV cung cấp các mẫu CV chuyên nghiệp, đa dạng và dễ sử dụng.
Ngoài ra, trang web còn cung cấp nhiều công cụ và dịch vụ hữu ích khác như tư vấn nghề nghiệp, đánh giá CV, và giới thiệu việc làm phù hợp với kỹ năng và kinh nghiệm của ứng viên. Ưu điểm của TOPCV: ● Mẫu CV đa dạng và chuyên nghiệp: TopCV cung cấp hàng trăm mẫu CV đẹp mắt và chuyên nghiệp, phù hợp với nhiều ngành nghề khác nhau, giúp ứng viên dễ dàng tạo ra một CV ấn tượng. ● Dễ sử dụng: Giao diện của TopCV thân thiện và dễ sử dụng, ngay cả đối với những người không rành về công nghệ. 22 ● Hỗ trợ tìm kiếm việc làm: TopCV liên kết với nhiều nhà tuyển dụng uy tín, cung cấp hàng ngàn cơ hội việc làm phù hợp với nhiều lĩnh vực và cấp bậc.
● Tư vấn nghề nghiệp: TopCV có đội ngũ chuyên gia tư vấn nghề nghiệp, giúp ứng viên cải thiện CV và kỹ năng phỏng vấn, tăng cơ hội thành công trong quá trình tìm kiếm việc làm. Nhược điểm của TOPCV: ● Giới hạn tính năng miễn phí: Một số tính năng nâng cao và mẫu CV đẹp mắt yêu cầu người dùng phải trả phí để sử dụng, điều này có thể không phù hợp với những người dùng muốn sử dụng dịch vụ miễn phí. ● Quá tải thông tin: Đôi khi, người dùng có thể cảm thấy choáng ngợp bởi một lượng lớn thông tin và các tùy chọn trên trang, khiến việc tìm kiếm thông tin trở nên khó khăn.vn Hình 5: Trang chủ Vieclam24h [5] Vieclam24h.vn là một trong những nền tảng tuyển dụng hàng đầu tại Việt Nam, được phát triển bởi Công ty Cổ phần Quảng cáo Trực tuyến 24H. Trang web cung cấp dịch vụ kết nối giữa nhà tuyển dụng và người tìm việc, giúp cả hai bên dễ dàng tìm thấy những 23 cơ hội và nhân sự phù hợp.vn có cơ sở dữ liệu phong phú với hàng nghìn tin tuyển dụng từ nhiều lĩnh vực khác nhau, đáp ứng nhu cầu tìm kiếm việc làm của ứng viên trên toàn quốc.
Ưu điểm của Vieclam24h.vn: ● Số lượng việc làm phong phú: Vieclam24h.vn cung cấp hàng nghìn tin tuyển dụng từ nhiều ngành nghề khác nhau, giúp ứng viên dễ dàng tìm thấy công việc phù hợp. ● Hỗ trợ nhà tuyển dụng: Vieclam24h.vn cung cấp nhiều dịch vụ hỗ trợ cho nhà tuyển dụng như đăng tin tuyển dụng, quản lý hồ sơ ứng viên, và tư vấn tuyển dụng. ● Giao diện dễ sử dụng: Trang web có giao diện thân thiện, dễ dàng sử dụng cho cả nhà tuyển dụng và ứng viên. ● Tính năng tìm kiếm thông minh: Người dùng có thể tìm kiếm việc làm theo ngành nghề, địa điểm, mức lương, và nhiều tiêu chí khác, giúp tiết kiệm thời gian và tăng hiệu quả tìm kiếm.
Nhược điểm của Vieclam24h.vn: ● Phí dịch vụ: Một số tính năng và dịch vụ nâng cao dành cho nhà tuyển dụng và ứng viên yêu cầu phải trả phí, điều này có thể không phù hợp với mọi người. ● Chất lượng tin tuyển dụng không đồng đều: Một số tin tuyển dụng có thể không đầy đủ thông tin hoặc thiếu rõ ràng về yêu cầu công việc và mức lương, làm khó cho ứng viên trong việc đánh giá và ứng tuyển. Kết luận Dựa trên những thông tin mà nhóm em thu thập được về các trang web tuyển dụng trực tuyến như TOPCV, Vieclam24h.vn, chúng em có thể rút ra một số kết luận sau: ● Nhiều trang web yêu cầu người dùng phải trả phí để sử dụng các tính năng nâng cao và mẫu CV đẹp mắt, khiến những người dùng muốn sử dụng dịch vụ miễn phí gặp khó khăn. 24 ● Số lượng thông tin lớn cùng với nhiều tùy chọn khác nhau có thể khiến người dùng choáng ngợp, dẫn đến khó khăn trong việc tìm kiếm và lựa chọn thông tin cần thiết.