1. Trang chủ
  2. » Giáo Dục - Đào Tạo

(Đồ án tốt nghiệp) xây dựng trang web tổng hợp việc làm

69 2 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 69
Dung lượng 1,27 MB

Nội dung

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ THÔNG TIN XÂY DỰNG TRANG WEB TỔNG HỢP VIỆC LÀM GVHD: TS HUỲNH XUÂN PHỤNG SVTT: TRẦN PHƯƠNG NAM SVTH: NGUYỄN THỊ NGỌC TRÂN SKL007052 Tp Hồ Chí Minh, tháng 07/2020 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH KHOA ĐÀO TẠO CHẤT LƯỢNG CAO ĐỒ ÁN TỐT NGHIỆP XÂY DỰNG TRANG WEB TỔNG HỢP VIỆC LÀM SVTH1: TRẦN PHƯƠNG NAM MSSV: 16110163 SVTH2: NGUYỄN THỊ NGỌC TRÂN MSSV: 16131104 Khóa: 2016 - 2020 Ngành: CÔNG NGHỆ THÔNG TIN GVHD: TS HUỲNH XUÂN PHỤNG TP Hồ Chí Minh, tháng 07 năm 2020 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH KHOA ĐÀO TẠO CHẤT LƯỢNG CAO ĐỒ ÁN TỐT NGHIỆP XÂY DỰNG TRANG WEB TỔNG HỢP VIỆC LÀM SVTH1: TRẦN PHƯƠNG NAM MSSV: 16110163 SVTH2: NGUYỄN THỊ NGỌC TRÂN MSSV: 16131104 Khóa: 2016 - 2020 Ngành: CƠNG NGHỆ THÔNG TIN GVHD: TS HUỲNH XUÂN PHỤNG TP Hồ Chí Minh, tháng 07 năm 2020 CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tư – Hạnh phúc *** -Tp Hồ Chí Minh, ngày 01 tháng 07 năm 2020 NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên 1: Trần Phương Nam MSSV: 16110163 Họ tên sinh viên 2: Nguyễn Thị Ngọc Trân MSSV: 16131104 Ngành: Công nghệ thông tin Lớp: 16110CLST1 Giảng viên hướng dẫn: TS Huỳnh Xuân Phụng Ngày nhận đề tài: 22/02/2020 Ngày nộp đề tài: 01/07/2020 Tên đề tài: XÂY DỰNG WEBSITE TỔNG HỢP VIỆC LÀM Các số liệu, tài liệu ban đầu: trang web việc làm Việt Nam Nội dung thưc đề tài: - Xây dưng website: + Back-end: sử dụng tảng Spring Framework, MySQL + Front-end: sử dụng tảng Angular 9, thư viện ng-bootstrap, material design for bootstrap Xây dưng hệ thống crawler: xây dưng sở liệu thông tin việc làm từ trang web Xây dưng tập liệu tổng hợp việc làm để áp dụng cho thuật toán học máy Sản phẩm: Source code, tập liệu việc làm, báo cáo - TRƯỞNG NGÀNH GIẢNG VIÊN HƯỚNG DẪN i CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự – Hạnh phúc *** PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN Họ tên sinh viên 1: Trần Phương Nam MSSV: 16110163 Họ tên sinh viên 2: Nguyễn Thị Ngọc Trân MSSV: 16131104 Ngành: Tên đề tài: Họ tên Giáo viên hướng dẫn: NHẬN XÉT Về nội dung khối lượng công việc thưc Ưu điểm Khuyết điêm Đề nghị cho bảo vệ hay không? Đánh giá loại Điểm: (Bằng chữ: ) Tp Hồ Chí Minh, ngày tháng năm 2020 Giáo viên hướng dẫn (Ký & ghi rõ họ tên) ii CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự – Hạnh phúc *** PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN Họ tên sinh viên 1: Trần Phương Nam MSSV: 16110163 Họ tên sinh viên 2: Nguyễn Thị Ngọc Trân MSSV: 16131104 Ngành: Tên đề tài: Họ tên Giáo viên phản biện: NHẬN XÉT Về nội dung khối lượng công việc thưc Ưu điểm Khuyết điêm Đề nghị cho bảo vệ hay không? Đánh giá loại Điểm: (Bằng chữ: ) Tp Hồ Chí Minh, ngày tháng năm 2020 Giáo viên phản biện (Ký & ghi rõ họ tên) iii LỜI CẢM ƠN Nhóm xin chân thành cảm ơn khoa Đào tạo Chất Lượng Cao trường Đại học Sư Phạm Kỹ Thuật TP Hồ Chí Minh tạo điều kiện tốt cho nhóm hồn thành báo cáo Nhóm xin gửi lời tri ân sâu sắc đến toàn thể giảng viên, người thầy giảng dạy, trang bị cho nhóm kiến thức, tảng vững để thưc đồ án Ngồi ra, nhóm xin gửi lời cảm ơn biết ơn sâu sắc đến thầy Huỳnh Xuân Phụng, người hướng dẫn tận tình, theo dõi nhóm đưa lời nhận xét, đánh giá bổ ích để nhóm đạt kết tốt Tuy nhóm cố gắng hồn thiện đồ án nhiều việc gặp phải sai sót điều khơng thể tránh khỏi Nhóm hy vọng nhận góp ý, nhận xét sư cảm thơng từ q Thầy Cơ Một lần nữa, nhóm xin gửi lời chân thành cảm ơn Nhóm sinh viên iv TĨM TẮT Trong đề tài nhóm tác giả xây dưng website với mục đích tổng hợp việc làm dành cho ứng viên doanh nghiệp Website có chức sau: - Hỗ trợ đăng nhập tài khoản Facebook, Gmail Xác nhận email sau đăng kí tài khoản, qn mật Tổng hợp thơng tin việc làm thông tin doanh nghiệp từ tập liệu đăng kí website tập liệu crawl từ trang web khác Cho phép người tìm việc đăng ký tìm kiếm việc làm Cho phép doanh nghiệp đăng kí đăng tin tuyển dụng Hệ thống gợi ý việc làm dưa mong muốn người tìm việc gợi ý ứng viên dưa đăng nhà tuyển dụng Các chức quản lý tài khoản, quản lý việc làm, lưu hồ sơ ứng viên, lưu ứng tuyển việc làm đăng trang web Xây dưng tập liệu việc làm phục vụ cho cộng đồng học máy Vì chưa có tập thơng tin việc làm chung cho trang web việc làm Việt Nam, nhóm tác giả xây dưng hệ thống crawler tổng hợp thông tin việc làm từ số trang web việc làm phổ biến từ xây dưng tập liệu việc làm áp dụng cho việc phát triển thuật toán máy học Để giải vấn đề này, nhóm nghiên cứu cách tổ chức liệu trang web việc làm phổ biến TopCV, Careerbuilder, Timviecnhanh, Timviec365, Jobsgo Đồng thời, nhóm tham khảo vài trang web tổng hợp việc làm tiêu biểu Jobstreet Với mục đích xây dưng website thân thiện, dễ sử dụng, dễ bảo trì khả mở rộng cao, nhóm định sử dụng framework mạnh mẽ Spring Boot Angular 9, sử dụng hệ sở liệu MySQL số thư viện hỗ trợ việc thiết kế giao diện hiệu ng-bootstrap Material design for bootstrap Đối với việc crawl liệu, nhóm sử dụng thư viện Jsoup Crawler4j v MỤC LỤC Trang phụ bìa NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP i PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN ii PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN .iii LỜI CẢM ƠN iv TÓM TẮT v MỤC LỤC vi DANH MỤC CÁC CHỮ VIẾT TẮT x DANH MỤC CÁC BẢNG BIỂU xi DANH MỤC CÁC HÌNH ẢNH, BIỂU ĐỒ xiii Chương TỔNG QUAN 1.1 Khảo sát trạng 1.2 Mục tiêu nhiệm vụ đề tài 1.2.1 Mục tiêu 1.2.2 Nhiệm vụ 1.3 Cơng nghệ lập trình 1.4 Phạm vi nghiên cứu 1.5 Phương pháp nghiên cứu Chương CƠ SỞ LÝ THUYẾT 2.1 Spring Framework 2.1.1 Giới thiệu Spring Framework 2.1.2 Ưu điểm Spring Framework 2.1.3 Spring Boot vi 2.2 MySQL 2.2.1 Giới thiệu MySQL 2.2.2 Ưu điểm MySQL 2.2.3 Nhược điểm MySQL 2.2.4 Tại chọn MySQL? 2.3 Angular 2.3.1 Giới thiệu Angular 2.3.2 Angular 2.3.3 Tại chọn Angular 9? 2.4 Web crawling 2.4.1 Giới thiệu web crawling 2.4.2 Web crawling web scraping 2.4.3 Jsoup 2.4.4 Crawler4j Chương XÁC ĐỊNH YÊU CẦU 11 3.1 Phân tích tốn 11 3.2 Quy trình nghiệp vụ 11 3.2.1 Các nghiệp vụ Employer 11 3.2.2 Các nghiệp vụ Candidate 14 3.3 Mơ hình hóa chức 17 3.3.1 Danh sách actor 17 3.3.2 Sơ đồ use case 17 3.3.3 Mô tả sơ đồ usecase 18 3.3.4 Đặc tả số usecase 18 Chương THIẾT KẾ PHẦN MỀM 22 4.1 Thiết kế kiến trúc 22 vii 5.3.3 SCC06 Post Job Screen Hình 5.6 Layout hình Post Job Bảng 5.6 Mơ tả hình Post Job No 39 5.3.4 SCC08 Manage Account Screen Hình 5.7 Layout hình Manage Account Bảng 5.7 Mơ tả hình Manage Account No Layout cho hình Jobs Screen (SCE05), Employer Screen (SCE06), Manage Profile Screen (SCE07): Hình 5.8 Layout header Employer Screen 41 Bảng 5.8 Mô tả header Employer No 5.3.5 SCE05 Jobs Screen Hình 5.9 Layout Jobs Screen 42 Bảng 5.9 Mơ tả hình Jobs Screen No 1.1 1.2 1.3 2.1 43 5.3.6 SCE06 Employer Screen Hình 5.10 Layout Employer Screen Bảng 5.10 Mơ tả hình Employer No 44 5.3.7 SCE07 Manage Profile Screen Hình 5.11 Layout Manage Profile Bảng 5.11 Mơ tả hình Manage Profile No 45 Chương KẾT QUẢ SO SÁNH, THỰC NGHIỆM, PHÂN TÍCH 6.1 Hệ thống back-end - Hệ thống back end cung cấp api để xây dưng website việc làm cho hai loại người dùng ứng viên doanh nghiệp bao gồm chức bản:  Xem thông tin việc làm doanh nghiệp bao gồm liệu nhập từ - sở liệu liệu crawl từ trang web khác  Xem thông tin ứng viên  Các chức quản lý tài khoản, quản lý việc làm, lưu hồ sơ, lưu việc làm Ngồi cịn cung cấp hệ thống gợi ý việc làm ứng viên cho người tìm việc nhà tuyển dụng Xây dưng hệ thống crawler tổng hợp sở liệu thông tin việc làm 6.2 Hệ thống front-end Hệ thống front end tư xây dưng tảng Angular 9, sử dụng framework hỗ trợ Material Design for Bootstrap ng-bootstrap, responsive đến 90% Bao gồm actor với chức sau: Guest (Khách với vai trò ứng viên): - Đăng nhập (Local account, Facebook, Gmail) Đăng kí Xác thưc tài khoản qua email sau đăng kí Quên mật Đặt lại mật qua email Xem danh sách việc làm Eguest (Khách với vai trò employer): - Đăng nhập (Local account) Quên mật Đặt lại mật qua email Đăng kí Candidate (Ứng viên): - Xem danh sách việc làm (local jobs, crawled jobs, hot jobs) Lưu việc làm 46 - Xóa việc làm lưu Xem danh sách nhà tuyển dụng Xem lịch sử tài khoản Quản lý tài khoản (profile cá nhân, kinh nghiệm làm việc, học vấn) Xem số lượt nhà tuyển dụng xem lưu profile Upload file (avatar, CV) Cài đặt sở thích việc làm Gợi ý việc làm dưa sở thích ứng viên Employer (Nhà tuyển dụng): - Xem danh sách ứng viên Lưu ứng viên Xóa ứng viên lưu Quản lý profile nhà tuyển dụng Upload logo nhà tuyển dụng Đăng việc làm Chỉnh sửa đăng Xóa đăng Xem lịch sử tài khoản Gợi ý ứng viên dưa danh sách việc làm đăng 47 Chương KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 7.1 Kết đạt Sau thời gian nghiên cứu thưc hiện, đề tài “Xây dưng trang web tổng hợp việc làm” đạt thành đáng kể, đáp ứng 90% yêu cầu đề tài, bao gồm mục tiêu sau: - Tìm hiểu kiến thức Spring Framework, Spring Boot, MySQL, Angular để xây dưng ứng dụng Tìm hiểu thư viện hỗ trợ xây dưng web crawler: Crawler4j, Jsoup Xây dưng trang web tổng hợp việc làm phục vụ cho ứng viên nhà tuyển dụng bao gồm chức bản:  Cho phép doanh nghiệp đăng ký, tạo đăng tuyển dụng, xem hồ sơ lưu hồ sơ ứng viên  Cho phép người tìm việc tìm nhiều đăng tuyển dụng nhiều website khác  Thống kê lượt view, lượt save, lịch sử tài khoản  Gợi ý (recommend) ứng viên tiềm dành cho doanh nghiệp cơng việc, vị trí phù hợp với lưc dành cho ứng viên  Thống kê việc làm dưa tiêu chí việc làm hot theo ngành - nghề, việc làm hot theo lượt view Tìm hiểu web crawler xây dưng hệ thống crawler Từ đó, xây dưng tập liệu việc làm để áp dụng vào thuật toán máy học sau Ngồi mục tiêu trên, nhóm đạt thành sau: - Hỗ trợ đăng nhập đăng ký tài khoản người dùng Gmail Facebook Xác thưc tài khoản sau đăng ký hệ thống Ưu điểm hệ thống: Nhờ nghiên cứu khảo sát tỉ mỉ website việc làm lớn, hệ thống xây dưng có giao diện thân thiện dễ sử dụng với đối tượng Ngồi việc đăng kí tài khoản thơng thường, hệ thống mở rộng thêm đăng nhập tài khoản mạng xã hội thông dụng Gmail Facebook, đem lại sư tiện lợi cho người dùng Không thế, tính bảo mật đặt lên hàng đầu cách mã hóa mật người dùng bcrypt 48 Các thông tin viết, nhà tuyển dụng hệ thống sư kết hợp thông tin đăng kí local nguồn liệu dồi tổng hợp từ website việc làm khác, đảm bảo tính hợp pháp; giúp người tìm việc dễ dàng tìm cơng việc phù hợp, giải vấn đề mà hàng loạt website gặp phải Đồng thời, nguồn liệu thu thập lớn, đáp ứng cho nhu cầu training dư đoán xu việc làm tương lai cho cộng đồng học máy Nhờ việc lưa chọn framework mạnh mẽ đắn từ đầu, website có khả mở rộng cao dễ bảo trì phát triển tiếp sau 7.2 Hạn chế Trong trình thưc đồ án, việc tồn số hạn chế điều tránh khỏi Website cần phải cải thiện số tính sau: - Chưa hỗ trợ chức tìm kiếm ứng viên doanh nghiệp Hệ thống crawler chưa hỗ trợ crawl nhiều nguồn lúc Chưa hỗ trợ crawl trang web mà parse HTML chứa script Java Chức gợi ý cần phải hoàn thiện gợi ý khơng xác 7.3 Hướng phát triển Sau thưc đồ án, nhóm có số điểm để khắc phục hạn chế hoàn thiện, phát triển hệ thống: - Xây dưng hệ thống quản lý website Hoàn thiện hệ thống crawler, cho phép crawl nhiều trang lúc Hỗ trợ tư vấn, giải đáp thắc mắc người dùng Hoàn thiện chức gợi ý việc làm ứng viên Xây dưng thuật toán máy học cho tập liệu thu thập 49 TÀI LIỆU THAM KHẢO Tiếng Việt: [1] Tổng quan Spring Framework (ngày truy cập: 28/06/2020) https://viblo.asia/p/tong-quan-ve-spring-framework-YWOZryEyKQ0 [2] Giới thiệu Spring Framework (ngày truy cập: 22/06/2020) https://kipalog.com/posts/Gioi-thieu-Spring-Framework [3] MySQL gì? Hướng dẫn tồn tập MySQL (ngày truy cập: 23/06/2020) https://wiki.matbao.net/mysql-la-gi-huong-dan-toan-tap-ve-mysql/ [4] Web crawling với thư viện BeautifulSoup (ngày truy cập: 23/06/2020) https://kipalog.com/posts/Web-crawling-voi-thu-vien-BeautifulSoup [5] Phân biệt Web Crawling Web Scraping (ngày truy cập: 25/06/2020) http://itechseeker.com/tutorials/web-scraping/phan-biet-web-crawling-va-webscraping/ [6] Hướng dẫn phân tích nội dung HTML sử dụng thư viện Jsoup (ngày truy cập: 25/06/2020) https://gpcoder.com/3231-huong-dan-phan-tich-noi-dung-html-su-dung-thu-vien-jsoup/ Tiếng Anh: [1] Angular (ngày truy cập: 30/06/2020) https://angular.io/docs [2] ng-bootstrap (ngày truy cập: 30/06/2020) https://ng-bootstrap.github.io/#/getting-started [3] Material design for bootstrap (ngày truy cập: 30/06/2020) https://mdbootstrap.com/docs/angular/ 50 [4] Eugen Paraschiv, REST Query Language with Spring Data JPA Specifications (ngày truy cập: 05/04/2020) https://www.baeldung.com/rest-api-search-language-spring-data-specifications [5] Amy DeGregorio, A Guide to Crawler4j (ngày truy cập: 10/05/2020) https://www.baeldung.com/crawler4j [6] Yasser Ganjisaffar, crawler4j (ngày truy cập: 13/05/2020) https://github.com/yasserg/crawler4j [7] Jonathan Hedley, jsoup cookbook (ngày truy cập: 11/05/2020) https://jsoup.org/cookbook/ 51 PHỤ LỤC Dưới tài liệu thành viên nhóm tìm hiểu ghi chép lại số source code mẫu mà người đọc tham khảo bezkoder - Spring Boot JPA MySQL - Building Rest CRUD API example (ngày truy cập: 20/3/2020) https://github.com/bezkoder/spring-boot-data-jpa-mysql bezkoder - Spring Boot JWT Authentication example with Spring Security & Spring Data JPA (ngày truy cập: 11/03/2020): https://github.com/bezkoder/spring-boot-spring-security-jwt-authentication Source code project nhóm: https://github.com/TranPhuongNam2112/KLTN_OnlineJobPortal 52 ... bootstrap Xây dưng hệ thống crawler: xây dưng sở liệu thông tin việc làm từ trang web Xây dưng tập liệu tổng hợp việc làm để áp dụng cho thuật toán học máy Sản phẩm: Source code, tập liệu việc làm, ... liệu việc làm phục vụ cho cộng đồng học máy Vì chưa có tập thông tin việc làm chung cho trang web việc làm Việt Nam, nhóm tác giả xây dưng hệ thống crawler tổng hợp thông tin việc làm từ số trang. .. xây dưng trang web tổng hợp thông tin việc làm từ website khác, có hệ thống gợi ý việc làm ứng viên, đảm bảo tính hợp pháp việc xuất trích liệu, cung cấp cho cộng đồng máy học tập liệu việc làm

Ngày đăng: 20/12/2021, 06:14

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Tổng quan về Spring Framework (ngày truy cập: 28/06/2020) https://viblo.asia/p/tong-quan-ve-spring-framework-YWOZryEyKQ0[2]Giới thiệu về Spring Framework (ngày truy cập: 22/06/2020) https://kipalog.com/posts/Gioi-thieu-Spring-Framework Link
[3] MySQL là gì? Hướng dẫn toàn tập về MySQL (ngày truy cập: 23/06/2020) https://wiki.matbao.net/mysql-la-gi-huong-dan-toan-tap-ve-mysql/ Link
[4] Web crawling với thư viện BeautifulSoup (ngày truy cập: 23/06/2020) https://kipalog.com/posts/Web-crawling-voi-thu-vien-BeautifulSoup Link
[5] Phân biệt Web Crawling và Web Scraping (ngày truy cập: 25/06/2020) http://itechseeker.com/tutorials/web-scraping/phan-biet-web-crawling-va-web-scraping/ Link
[6] Hướng dẫn phân tích nội dung HTML sử dụng thư viện Jsoup (ngày truy cập: 25/06/2020)https://gpcoder.com/3231-huong-dan-phan-tich-noi-dung-html-su-dung-thu-vien-jsoup/Tiếng Anh Link
[1] Angular (ngày truy cập: 30/06/2020) https://angular.io/docs Link
[2] ng-bootstrap (ngày truy cập: 30/06/2020) https://ng-bootstrap.github.io/#/getting-started Link
[3] Material design for bootstrap (ngày truy cập: 30/06/2020) https://mdbootstrap.com/docs/angular/ Link
[4] Eugen Paraschiv, REST Query Language with Spring Data JPA Specifications (ngày truy cập: 05/04/2020)https://www.baeldung.com/rest-api-search-language-spring-data-specifications Link
[5] Amy DeGregorio, A Guide to Crawler4j (ngày truy cập: 10/05/2020) https://www.baeldung.com/crawler4j Link
[6] Yasser Ganjisaffar, crawler4j (ngày truy cập: 13/05/2020) https://github.com/yasserg/crawler4j Link
[7] Jonathan Hedley, jsoup cookbook (ngày truy cập: 11/05/2020) https://jsoup.org/cookbook/ Link

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w