CHƯƠNG 1: TỔNG QUAN 1.1 Tính cấp thiết của đề tài - Với sự phát triển mạnh mẽ của kinh tế và công nghệ như hiện nay thì nhu cầu tuyển dụng nguồn nhân lực cho ngành này là rất lớn. Tuy nhiên hiện nay trên thị trường chưa có nhiều website đầu tư nguồn lực cho việc phát triển hồ sơ ứng viên online và hệ thống tuyển dụng tích hợp ngay trên phần mềm để các nhà tuyển dụng có thể dễ dàng quản lý và thực hiện các nghiệp vụ liên quan đến tuyển dụng một cách dễ dàng. - Và chúng em nghĩ rằng việc Xây dựng Website tìm kiếm việc làm như thế này sẽ đáp ứng được các mong muốn ứng viên tìm việc khi muốn làm việc của cùng công ty.2 Đối tượng nghiên cứu - Lĩnh vực phát triển website: Module web tuyển dụng của một tập đoàn hoặc doanh nghiệp lớn: Ứng viên: Qua Website, ứng viên có thể xem thông tin, lựa chọn những công việc phù hợp, có thể thêm thông tin, tạo CV tìm việc. Nhà tuyển dụng: có thể đăng tin tuyển dụng, tìm kiếm ứng viên phù hợp với công việc.
Nhà quản trị: có thể quản lý công việc, nhà tuyển dụng và ứng viên, đảm bảo tính an toàn và bảo mật cho website. - Các công nghệ sử dụng chính cho đề tài: Front-end: Angular để phát triển giao diện cho ứng dụng Back-end: Spring Boot để xây dựng nên hệ thống các APIs hỗ trợ lấy dữ liệu Database: MySQL để quản lý cơ sở dữ liệu cho ứng dụng Các công nghệ và thư viện phía front-end như: Html, Css, Javascript.3 Phạm vi nghiên cứu Đề tài này tập trung phát triển các chức năng cơ bản của một website tìm kiếm việc làm, phạm vi nghiên cứu cụ thể như sau: Tìm hiểu các công nghệ được sử dụng trong đề tài: Java Spring Boot, Angular Tìm hiểu nghiệp vụ tuyển dụng. Tìm hiểu các nghiệp vụ liên quan đến phát triển một website hoàn chỉnh, có tính khả thi cao.4 Phân tích các ứng dụng có liên quan Hầu hết các trang tìm việc nội bộ của công ty, doanh nghiệp đã được xây dựng và ra mắt, có nhiều tính năng từ cơ bản đến phức tạp. Tuy nhiên một số ứng dụng vẫn có những nhược điểm sau: Lỗi về nghiệp vụ xử lý dữ liệu - Xử lý API vẫn còn gặp nhiều khó khăn.
Các thông tin gửi về chưa được bảo mật, dễ bị tấn công. Tính năng của một số ứng dụng vẫn còn hạn chế.5 Kết quả dự kiến đạt được Ứng dụng được xây dựng có các chức năng đáp ứng nhu cầu của các nhà tuyển dụng và ứng viên tìm việc như: Đăng nhập, đăng ký, quên mật khẩu. Xây dựng hoàn chỉnh hồ sơ ứng viên. Tìm kiếm công việc.
Kết nối ứng viên với nhà tuyển dụng thông qua hồ sơ online. Xây dựng tính năng tuyển dụng cho việc quản lý tuyển dụng của các công ty trở nên dễ dàng hơn. Về lý thuyết, em sẽ hiểu rõ hơn về các quy trình nghiệp vụ để xây dựng ứng dụng, tìm hiểu và sử dụng thành thạo về Angular, Java Spring Boot và database mySQL. Ứng dụng sẽ đảm bảo hoạt động ổn định, khả năng tùy biến và tính mở rộng cao.
2 Hệ thống quản lý đơn giản, nhanh chóng và hiệu quả. 3 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT CHƯƠNG 2: CƠ SỞ LÝ THUYẾT Hình 1: Công nghệ sử dụng 2.1 Giới thiệu - Angular là một Javascript framework dùng để xây dựng giao diện web nhắm tới mục đích đơn giản phát triển và dễ tái sử dụng. Angular đã trở nên rất phổ biến trong những năm trở lại đây. - Angular là một công cụ mã nguồn mở dành cho các nhà phát triển, lập trình viên khởi tạo và hoạt động các dự án của mình.
Nó cho phép bạn tạo ra các ứng dụng có thể mở rộng từ những dự án của nhà phát triển hoặc doanh nghiệp và giúp quản lý các tác vụ một cách dễ dàng và hiệu quả. - Angular là một ứng dụng viết bằng TypeScript (một tập hợp JavaScript), là một phần của AngularJS (phiên bản ban đầu), nhưng đã trở thành một framework độc lập và được viết lại hoàn toàn.2 Lý do lựa chọn - Có khả năng tái sử dụng các UI components Unit Test rất dễ dàng. - Render trang web nhanh hơn với Virtual DOM. - Code dễ dàng bảo trì.
- Được xây dựng bằng ngôn ngữ TypeScript và dùng HTML để xác định giao diện. - Giúp các thành viên trong dự án có thể code trang web một cách thống nhất. - Được phát triển bởi Google.2 Java Spring Boot 2.1 Giới thiệu - Spring Boot là một dự án phát triển bởi JAV (ngôn ngữ java) trong hệ sinh thái Spring framework. Nó giúp cho các lập trình viên chúng ta đơn giản hóa quá trình lập trình một ứng dụng với Spring, chỉ tập trung vào việc phát triển business cho ứng dụng.
- Đặc điểm nổi bật SpringApplication: Đây là class được dùng để khởi chạy ứng dụng từ hàm main(). Vì thế, khi khởi chạy ứng dụng, các lập trình viên chỉ cần gọi method run() là được. Externalized Configuration: Spring Boot cho phép người dùng có thể sử dụng cấu hình (config) từ bên ngoài. Chính vì vậy mà mỗi ứng dụng được tạo ra có thể chạy được trên nhiều môi trường khác nhau.
Profiles: Dùng để phân chia các loại cấu hình cho các môi trường khác nhau. 5 Loggin: Sử dụng phục vụ cho toàn bộ chức năng log trong phạm vi nội bộ. Những logging này sẽ được quản lý một cách mặc định.2 Lý do lựa chọn - Phát triển các ứng dụng dựa trên Spring một cách tiết kiệm thời gian và dễ dàng. - Tự động cấu hình tất cả các components cho một ứng dụng Spring cấp sản xuất.
- Các máy chủ nhúng được tạo sẵn (Tomcat, Jetty và Undertow), dẫn đến việc triển khai ứng dụng được tăng tốc và hiệu quả hơn. - Điểm cuối HTTP, cho phép nhập các tính năng bên trong ứng dụng như chỉ số, tình trạng sức khỏe, v. - Không có cấu hình XML. - Nhiều lựa chọn bổ sung, hỗ trợ nhà phát triển làm việc với cơ sở dữ liệu được nhúng và trong bộ nhớ.
- Dễ dàng truy cập cơ sở dữ liệu và các dịch vụ hàng đợi như MySQL, Oracle, MongoDB, Redis, ActiveMQ và các dịch vụ khác. - Tích hợp trơn tru với hệ sinh thái Spring. - Cộng đồng lớn và rất nhiều hướng dẫn, tạo điều kiện cho giai đoạn làm quen. - Ngoài ra còn có nhiều plugins để phát triển nhanh chóng bằng các công cụ như Build như Maven hoặc Gradle.1 Giới thiệu MySQL là một hệ thống quản trị cơ sở dữ liệu mã nguồn mở (gọi tắt là RDBMS) hoạt động theo mô hình client-server.
Với RDBMS là viết tắt của 6 Relational Database Management System. MySQL được tích hợp apache, PHP. MySQL quản lý dữ liệu thông qua các cơ sở dữ liệu. Mỗi cơ sở dữ liệu có thể có nhiều bảng quan hệ chứa dữ liệu.
MySQL cũng có cùng một cách truy xuất và mã lệnh tương tự với ngôn ngữ SQL. MySQL được phát hành từ thập niên 90s.2 Lý do lựa chọn - Dễ sử dụng: MySQL là cơ sở dữ liệu tốc độ cao, ổn định, dễ sử dụng và hoạt động 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. - Độ 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 khi sở hữu nhiều nhiều tính năng bảo mật thậm chí là ở cấp cao. - Đa tính năng: MySQL hỗ trợ rất nhiều chức năng SQL được mong chờ từ một hệ quản trị cơ sở dữ liệu quan hệ cả trực tiếp lẫn gián tiếp.
- Khả năng mở rộng và mạnh mẽ: MySQL có thể xử lý rất nhiều dữ liệu và hơn thế nữa nó có thể được mở rộng nếu cần thiết. - Nhanh chóng: Việc đưa ra một số tiêu chuẩn cho phép MySQL để làm việc rất hiệu quả và tiết kiệm chi phí, do đó nó làm tăng tốc độ thực thi. 7 CHƯƠNG 3: KHẢO SÁT THỰC TRẠNG VÀ XÁC ĐỊNH YÊU CẦU 3.1 Khảo sát hiện trạng 3.1 Trang web TopCV - Link trang web: https://www.vn/viec-lam - Giao diện trang chủ của website TopCV Hình 2 : Trang web TopCV - Ưu điểm của website: Tính năng tìm kiếm được tinh chỉnh nhiều, giúp người dùng tìm kiếm công việc dễ dàng hơn. Có chatbox hỗ trợ tư vấn người dùng.
Có thông tin liên lạc, hỗ trợ và chăm sóc khách hàng cho tất cả các nhóm người dùng. Có liệt kê sẵn các mục kỹ năng, vấn đề thường gặp phải để tiện lợi cho người dùng. Cho phép tính năng thiết kế CV. 8 - Nhược điểm của website: Bố cục khá dày.
Đưa quá nhiều chi tiết vào trên một trang. Chưa link đến các thành phần liên quan.2 Trang web Vietnamworks - Link trang web: https://www. - Giao diện trang chủ của website Vietnamworks Hình 3 : Trang web Vietnamworks - Ưu điểm của website: Thiết kế tinh giản, dễ nhìn, không làm người dùng rối mắt. Sắp xếp bố cục hợp lý.
Khoảng cách giữa các mục vừa phải. Các icon có kích thước hợp lý. 9 Có mục các thông tin thêm về kỹ năng nghề nghiệp khá hay. Có link đến các trang mạng xã hội khác.
- Nhược điểm của website: Chưa có mục thông tin liên lạc hay chatbox hỗ trợ người dùng. Chưa hỗ trợ tự thiết kế CV.3 Trang web tuyển dụng FPT - Link trang web: https://tuyendung.vn/ - Giao diện trang chủ của website FPT Hình 4 : Trang web FPT - Ưu điểm của website: Thiết kế UI gần với người dùng, giống với các UI tuyển dụng lớn hiện nay. Có chatbox hỗ trợ người dùng. 10 Có link đến các tài khoản khác của trang web.
Có cung cấp các thông tin bên lề liên quan. Có mục feedback cho người dùng khá hay. Có 2 nút Top và Down để cuộn trang thay vì kéo chuột. - Nhược điểm của website: Các loại công việc không highlight, để front mờ khó cho người dùng nhìn để tìm kiềm công việc phù hợp.
Ít hình về các hoạt động của công ty như team building,… Không có tìm kiếm công việc theo ngày đăng, ngày tuyển, ngày hết hạn,… nên mỗi lần tìm kiếm sẽ lấy ra toàn bộ công việc theo khu vực, loại công việc, và vị trí.4 Trang web Vn.com - Link trang web: https://jobs.com/ - Giao diện trang chủ của website Vn.com Hình 5: Trang web Vn.com 11 - Ưu điểm của website: Vn.com là một trong những trang web tuyển dụng lớn nhất tại Việt Nam.