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

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

Đ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

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 SKL 0 Tp Hồ Chí Minh, tháng 07/2020 an 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 an 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 an 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 an 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ọ và 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 an 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 an 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 cô 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 và 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 và đư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ừ quý 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 an 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, quên 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ý và tìm kiếm việc làm Cho phép doanh nghiệp đăng kí và đă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 bài đă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 và Material design for bootstrap Đối với việc crawl liệu, nhóm sử dụng thư viện Jsoup Crawler4j v an 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 an 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 an 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 Name Expired Day Required True Format Date Picker Experience Year True Text Job Title Job Type True True Text Text Note Hiển thị ngày hết hạn (ít tuần tính từ ngày đăng bài) Hiển thị yêu cầu kinh nghiệp tối thiểu Tiêu đề bài đăng Hiển thị thông tin loại công việc 39 an Industry True Text Salary Range True Select box Hiển thị thông tin ngành nghề bài đăng Hiển thị thông tin phạm vi mức lương 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 Name Logo Company Company Name Web URL Required False Format Card True Text True Text Note Hiển thị logo nhà tuyển dụng Hiển thị thông tin tên công ty Đường link dẫn tới website 40 an Phone True Text Established Day True Text Industry True Select box Main Address True Text Company Description Text Hiển thị thông tin liên hệ nhà tuyển dụng Hiển thị thông tin ngày thành lập công ty Hiển thị thông tin lĩnh vực hoạt động nhà tuyển dụng Hiển thị trụ sở nhà tuyển dụng Hiển thị thơng tin mô tả nhà tuyển dụng Layout cho hình Jobs Screen (SCE05), Employer Screen (SCE06), Manage Profile Screen (SCE07): Hình 5.8 Layout header Employer Screen 41 an Bảng 5.8 Mô tả header Employer No Name Logo Website Required True Format Nav link All Companies True Nav link Jobs True Nav link Account Name True Nav link Button log out True Nav link Note Khi click trở trang chủ ứng viên Khi click chuyển đến trang hiển thị tất nhà tuyển dụng Khi click chuyển đến trang vnJob, popular jobs, hot jobs, recommend jobs Khi click chuyển đến trang quản lý tài khoản, xem lịch sử tài khoản Khi click đăng xuất khỏi hệ thống 5.3.5 SCE05 Jobs Screen Hình 5.9 Layout Jobs Screen 42 an Bảng 5.9 Mơ tả hình Jobs Screen No Name Popular Jobs Required True Format Div 1.1 Website Name True Select Box 1.2 Avatar Employer True Image 1.3 Job Information True Card Hot Jobs True Div 2.1 Hot Jobs True Information Card Note Hiển thị danh sách việc làm Lựa chọn tên website muốn hiển thị việc làm Hiển thị thông tin logo công ty tuyển dụng Hiển thị thông tin việc làm bao gồm số thông tin việc làm, link đến viết gốc Hiển thị danh sách tổng hợp việc làm hot từ website phân theo ngành nghề Hiển thị thông tin liên quan đến việc làm 43 an 5.3.6 SCE06 Employer Screen Hình 5.10 Layout Employer Screen Bảng 5.10 Mơ tả hình Employer No Name Employer Information Required True Format Card Other employers True Text Jobs List True Card Note Hiển thị thông tin nhà tuyển dụng bao gồm logo tên công ty Hiển thị danh sách nhà tuyển dụng xếp theo vị trị hot giảm dần Danh sách công việc thuộc nhà tuyển dụng 44 an 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 Name Side Narbar Required True Format Narbav Content information True Card Note Hiển thị điều hướng đến tab màn hình quản lý CV, hình quản lý công việc lưu, quản lý profile, kinh nghiệm, học vấn Các nội dung tương ứng với điều hướng bên trái 45 an 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 an - 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 và 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 bài đăng Xóa bài đă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 an 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 bài đăng tuyển dụng, xem hồ sơ và lưu hồ sơ ứng viên  Cho phép người tìm việc tìm nhiều bài đă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 cịn đạt thành sau: - Hỗ trợ đăng nhập và đă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 và 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 an 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ẽ và đắ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ế là đ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 an 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 là 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 an [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 an PHỤ LỤC Dưới là 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 an an ... 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. .. 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, ... đề 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

Ngày đăng: 02/02/2023, 09:34

Tài liệu cùng người dùng

Tài liệu liên quan