Xây dựng hệ thống phần mềm quản lý sàn giao dịch việc làm

28 3 0
Xây dựng hệ thống phần mềm quản lý sàn giao dịch 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

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM BÁO CÁO ĐỒ ÁN Xây dựng hệ thống phần mềm quản lý sàn giao dịch việc làm Nhóm thực hiện: Nguyễn Ngọc Thịnh 19522283 Hồ Quang Linh 19521750 GVHD: Th.S Phan Trung Hiếu TP Hồ Chí Minh, tháng năm 2022 LỜI CẢM ƠN Trong trình học tập, nghiên cứu phát triền đề tài “Xây dưng hệ thống phần mềm quản lý sàn giao dịch việc làm” chúng em nhận giúp đỡ, bảo nhiệt tình thầy để hồn thành đồ án Chúng em xin bày tỏ biết ơn đặc biệt đến Thầy Phan Trung Hiếu, người trực tiếp hướng dẫn, giúp đỡ kiến thức, tài liệu phương pháp để chúng em hoàn thành đề tài Chúng em xin chân thành cảm ơn thời gian quý báu thầy dành để kiểm tra, đưa ý kiến nhận xét đóng góp nhiều vào tính năng, hướng phát triển cho đề tài Hi vọng với bảo góp ý từ thầy, nhóm đề tài tiếp túc phát triển để ứng dụng ngày mở rộng phục vụ tốt cho người dùng Mặc dù có nhiều cố gắng suốt q trình thực đề tài, song cịn có mặt hạn chế, thiếu sót Chúng em mong nhận ý kiến đóng góp dẫn thầy bạn để đề tài chúng em hoàn thiện Chúng em xin trân trọng cảm ơn! TP Hồ Chí Minh, ngày 12 tháng năm 2022 LỜI MỞ ĐẦU Các công nghệ để phát triển nên ứng dụng web trình lớn mạnh với nhu cầu khác Trong thời đại công nghệ số 4.0, với phát triển vũ bão Internet, lĩnh vực việc làm, việc có trang web kết nối người lao động doanh nghiệp giúp cho người lao động dễ dàng lựa chọn việc làm phù hợp, doanh nghiệp dễ tuyển chọn người làm việc tốt Nắm bắt nhu cầu đó, Website Find Job chúng em thực nhằm giải nhu cầu người lao động doanh nghiệp giúp người tìm việc có cơng việc phù hợp, thu nhập ổn định góp phần làm giảm tỉ lệ thất nghiệp, giúp cho danh nghiệp tuyển dụng nhiều ứng viên phù hợp Các cơng việc website là: quản lý phê duyệt, loại bỏ đăng tuyển dụng, có trang giới thiệu cho nhà tuyển dụng, quản lý tình trạng hoạt động phiên giao dịch việc làm MỤC LỤC LỜI CẢM ƠN LỜI MỞ ĐẦU Thông tin chung 1.1 Tên đề tài 1.2 Nền tảng ứng dụng 1.3 Mô tả đề tài 1.4 Lý chọn đề tài 1.4 Công nghệ 1.5 Môi trường công cụ hỗ trợ: 1.4 Nhân II Chương 2: Cơ sở lý thuyết Front end Back end Database III Chương 3: Phân tích thiết kế hệ thống Danh sách tính Sơ đồ Use Case Cơ sở liệu 16 Kiến trúc hệ thống 19 Giao diện 22 IV Chương 4: Tổng kết 23 Kết đạt 23 Hạn chế 24 Hướng phát triển 24 Cách cài đặt 24 Bảng phân công công việc 25 I Chương 1: Tổng Quan Thông tin chung 1.1 Tên đề tài Website quản lý sàn giao dịch việc làm Find Job 1.2 Nền tảng ứng dụng Web 1.3 Mô tả đề tài Sàn giao dịch việc làm giúp cho việc kết nối doanh nghiệp người tìm việc cách dễ dàng, nhanh gọn, tiết kiệm chi phí Một số tính bật sàn giao dịch việc làm người tuyển dụng dễ dàng đăng tin tuyển dụng, nhà tuyển dụng có trang giới thiệu cơng ty, tìm việc dễ dàng tìm việc phù hợp với nộp đơn nhanh chóng Phần quản lý sàn có tính quản lý tin tuyển dụng, phê duyệty loại bỏ, theo dõi tình trạng hoạt động phiên giao dịch việc làm, daonh nghiệp đăng ký tham gia cách dễ dàng 1.4 Lý chọn đề tài Trong thời đại công nghệ số 4.0, với phát triển vũ bão Internet, lĩnh vực việc làm, việc có trang web kết nối người lao động doanh nghiệp giúp cho người lao động dễ dàng lựa chọn việc làm phù hợp, doanh nghiệp dễ tuyển chọn người làm việc tốt Nắm bắt nhu cầu đó, Website Find Job chúng em thực nhằm giải nhu cầu người lao động doanh nghiệp giúp người tìm việc có cơng việc phù hợp, thu nhập ổn định góp phần làm giảm tỉ lệ thất nghiệp, giúp cho danh nghiệp tuyển dụng nhiều ứng viên phù hợp 1.4 Công nghệ Front-end: ReactJS Back-end: NodeJS & ExpressJS Database: MongoDB Source control: Github 1.5 Môi trường công cụ hỗ trợ: Visual Studio Code, Google Chrome Browse 1.4 Nhân STT Họ tên Nguyễn Ngọc Thịnh Hồ Quang Linh MSSV 19522283 19521750 II Chương 2: Cơ sở lý thuyết Front end • ReactJS: ReactJS thư viện javascript mã nguồn mở phát triển Facebook, mắt vào 2013 ReactJS hỗ trợ việc xây dựng thành phần website có tính tương tác cao, có trạng thái sử dụng lại Một điểm bật ReactJS việc render liệu không thực tầng server mà client React so sánh thay đổi giá trị lần render với lần render trước cập nhật thay đổi DOM (Document Object Model) Back end • NodeJS: NodeJS mã nguồn xây dựng dựa tảng Javascript V8 Engine Nó xây dựng để chạy server NodeJS chạy nhiều tảng hệ điều hành khác từ Window Linux, OS X nên lợi NodeJS cung cấp thư viện phong phú dạng Javascript Module khác giúp đơn giản hóa việc lập trình giảm thời gian mức thấp Javascript ngôn ngữ hướng kiện, điều xảy server tạo kiện non-blocking, nên website sử dụng NodeJS đáp ứng việc truy cập lúc lượng user lớn • ExpressJS Expressjs hay cịn viết Express js, Express.js Đây framework mã nguồn mở miễn phí cho Node.js Express.js sử dụng thiết kế xây dựng ứng dụng web cách đơn giản nhanh chóng Vì Express js u cầu ngơn ngữ lập trình Javascript nên việc xây dựng ứng dụng web API trở nên đơn giản với lập trình viên nhà phát triển Expressjs khn khổ Node.js hầu hết mã code viết sẵn cho lập trình viên làm việc Nhờ có Expressjs mà nhà lập trình dễ dàng tạo ứng dụng web, nhiều web kết hợp Do có dung lượng nhẹ, Expressjs giúp cho việc tổ chức ứng dụng web thành kiến trúc MVC có tổ chức Để sử dụng mã nguồn này, cần phải biết Javascript HTML Expressjs phần công nghệ giúp quản lý ứng dụng web cách dễ dàng hay gọi ngăn xếp phần mềm MEAN Nhờ có thư viện Javascript Express js giúp cho nhà lập trình xây dựng nên ứng dụng web hiệu nhanh chóng Expressjs sử dụng để nâng cao chức Node.js Database MongoDB: hệ quản trị sở liệu NoSQL mã nguồn mở đa tảng viết C++ Bản ghi MongoDB lưu trữ dạng liệu văn (Document), cấu trúc liệu bao gồm cặp giá trị trường tương tự đối tượng JSON III Chương 3: Phân tích thiết kế hệ thống Danh sách tính Stt Tên tính Đăng nhập Đổi mật Quên mật Quản lý thông tin cá nhân Use case Xác thực người dùng Đăng xuất Quản lý đăng Quản lý người tìm việc Quản lý nhà tuyển dụng Quản lý ngành nghề 10 Quản lý gói đăng ký 11 Quản lý doanh thu Quản trị viên Sơ đồ Use Case 2.1 Usecase xác thực người dung 2.1.1 Usecase đăng nhập Tên yêu cầu Đăng nhập Mô tả Đăng nhập tài khoản để sử dụng Tác nhân Quản trị viên Điều kiện trước Chưa đăng nhập Điều kiện sau Đăng nhập thành cơng Ngoại lệ Khơng có Luồng xử lý Truy cập vào đường dẫn /login Người dùng điền thông tin: email, mật Hệ thống xác nhận có trường liệu hợp lệ Thơng báo đăng nhập thành công, chuyển đến trang chủ Luồng xử lý phụ Hệ thống thơng báo có lỗi 2.1.2 Usecase quên mật Tên yêu cầu Quên mật Mô tả Quên mật để lấy lại mật cách xác nhận mã bí mật gửi tới email đăng ký tài khoản ban đầu Tác nhân Người dùng, Quản trị viên Điều kiện trước Chưa đăng nhập Điều kiện sau Đặt lại mật người dùng Ngoại lệ Khơng có Luồng xử lý Truy cập vào đường dẫn /quen-mat-khau Người dùng nhập email Nhấn nút gửi mã Hệ thống gửi email chứa mã xác nhận đến cho người dùng Người dùng xác nhận mã hình Hệ thống xác nhận mật mã Người dùng nhập mật xác nhận mật Luồng xử lý phụ I Mã bí mật khơng xác lần Hệ thống từ chối việc đặt lại mật 2.1.3 Đổi mật Tên yêu cầu Đổi mật Mô tả Người dùng đổi mật theo nhu cầu sử dụng Tác nhân Quản trị viên Điều kiện trước Đã đăng nhập Điều kiện sau Thông tin mật database thay đổi Điều kiện trước Cần phải đăng nhập từ trước Điều kiện sau Thực thành công hoạt động Ngoại lệ Khơng có Luồng xử lý Vào giao diện ứng dụng Bấm vào tab đăng người tìm việc Chọn người dùng Thực thao tác sửa/ xố thơng tin người dùng Hệ thống thông báo thao tác thành công Luồng xử lý phụ Hệ thống thông báo xảy lỗi 2.2.3 Usecase quản lý nhà tuyển dụng Tên yêu cầu Quản lý nhà tuyển dụng Mô tả Quản trị viên xem , thêm, xố, sửa đổi thơng tin cơng ty Quản trị viên thêm cơng ty xố Tác nhân Quản trị viên Điều kiện trước Đăng nhập thành công Điều kiện sau Thao tác thành công Ngoại lệ Khơng có Luồng xử lý I Xem thơng tin nhà tuyển dụng: Truy cập tab Nhà tuyển dụng Chọn nhà tuyển dụng mà bạn muốn thao tác Hệ thống thị thông tin nhà tuyển dụng II Sửa thông tin nhà tuyển dụng: 12 Truy cập tab Nhà tuyển dụng Chọn nhà tuyển dụng mà bạn muốn thao tác Bấm nút sửa Sửa thông tin cần thay đổi Bấm lưu Hệ thống thông báo cập nhập thơng tin thành cơng III Xố nhà tuyển dụng: Truy cập tab Nhà tuyển dụng Chọn nhà tuyển dụng mà bạn muốn thao tác Bấm nút xoá Xác nhận chắn xoá nhà tuyển dụng Hệ thống thơng báo xố thành cơng IV Thêm nhà tuyển dụng: Truy cập tab Nhà tuyển dụng Bấm thêm công ty Trang web modal để nhập thông tin công ty Sau nhập thông tin công ty xong bấm lưu Hệ thống thông báo thêm công ty thành công Luồng xử lý phụ Hệ thống thông báo xảy lỗi 2.2.4 Usecase quản lý ngành nghề 13 Tên yêu cầu Quản lý ngành nghề Mô tả Thêm, xoá, sửa ngành nghề Tác nhân Quản trị viên Điều kiện trước Đã đăng nhập Điều kiện sau Thực thành cơng hành động Ngoại lệ Khơng có Luồng xử lý I Xem ngành nghề: Truy cập tab Ngành nghề Hệ thống thị ngành nghề tab II Sửa thông tin Ngành nghề: Truy cập tab Ngành nghề Chọn ngành nghềtrong danh sách Bấm nút sửa Sửa thông tin cần thay đổi Bấm lưu Hệ thống thông báo cập nhập thông tin thành công III Xoá ngành nghề: Truy cập tab Ngành nghề Chọn ngành nghề mà bạn muốn thao tác Bấm nút xoá Xác nhận xoá Hệ thống thơng báo xố thành cơng IV Thêm ngành nghề: 14 Truy cập tab Ngàng nghề Bấm thêm Trang web modal để nhập thông tin ngành nghề Bấm lưu Hệ thống thông báo thêm thành công Luồng xử lý phụ Hệ thống thơng báo có lỗi 2.2.5 Usecase quản lý gói đăng ký Tên yêu cầu Quản lý gói đăng ký Mơ tả Quản lý giá lượng đăng dành cho nhà tuyển dụng gói đăng ký Tác nhân Quản trị viên Điều kiện trước Đã đăng nhập Điều kiện sau Thực thành công hành động Ngoại lệ Khơng có Luồng xử lý Truy cập đến tab gói đăng ký Sửa gói đăng ký Bấm lưu Luồng xử lý phụ Hệ thống thơng báo có lỗi 2.2.6 Usecase doanh thu Tên yêu cầu Quản lý doanh thu Mô tả Quản lý doanh thu từ việc bán gói đăng ký Tác nhân Quản trị viên Điều kiện trước Đã đăng nhập 15 Điều kiện sau Thực thành công hành động Ngoại lệ Khơng có Luồng xử lý Truy cập tab Doanh thu Hệ thống trả thống kê doanh thu Luồng xử lý phụ Hệ thống thơng báo có lỗi Cơ sở liệu • Thiết kế sở liệu: 16 • Danh sách collections: STT Tên collections liệu users Mô tả Danh sách tài khoản người dùng tài khoản admin NguoiUngTuyen Danh sách người ứng tuyển DanhMucNghe Danh sách nghề nghiệp kèm hình ảnh BaiDang Danh sách đăng NhaTuyenDung Danh sách nhà tuyển dụng NguoiUngTuyen_DanhMucNghe Liên kết collections người ứng tuyển danh mục nghề NguoiUngTuyen_BaiDang Liên kết collections người ứng tuyển đăng 3.1 Chi tiết collections users STT Tên trường Kiểu liệu Ràng buộc Ý nghĩa name String Bắt buộc Họ tên password String Bắt buộc Mật người dùng phone String Bắt buộc Số điện thoại người dùng gender String Bắt buộc Giới tính, 1: Nam, 2: Nữ, 3: Khác role String Bắt buộc Vai trò người dùng, ‘user’ ‘admin’ email String Bắt buộc Email người dùng address String Địa người dùng avatar String Đường dẫn lưu trữ ảnh giao diện người dùng birthday 3.2 Date Ngày sinh người dùng Chi tiết collections NguoiUngTuyen 17 STT Tên trường Kiểu liệu Ràng buộc Ý nghĩa ngheNghiep String Bắt buộc Tên nghề nghiệp viTriUngTuy String Bắt buộc Vị trí ứng tuyển en noiLamViec String Bắt buộc Nơi làm việc cvUrl String Bắt buộc Đường dẫn liên kết CV userID String Bắt buộc Id người dùng người ứng tuyển 3.3 Chi tiết collections DanhMucNghe STT Tên trường Kiểu liệu tenDanhMu String Ràng buộc Tên danh mục nghề cNghe hinhAnh Ý nghĩa nghiệp String Hình ảnh danh mục nghệ 3.4 Chi tiết collection NhaTuyenDung STT Tên trường Kiểu liệu Ràng buộc Ý nghĩa tenCongTy String Bắt buộc Tên công ty, doanh nghiệp tuyển dụng hinhAnhCo String Bắt buộc ngTy Đường dẫn hình ảnh công ty, doanh nghiệp ứng tuyển thongTinCo String Bắt buộc ngTy userID Mô tả công ty tuyển dụng String Bắt buộc Tên tài khoản công ty, doanh nghiệp tuyển dụng 18 3.5 Chi tiết collection BaiDang STT Tên trường Kiểu liệu Ràng buộc Ý nghĩa idNhaTuyen String Bắt buộc Tên tài khoản nhà Dung tuyển dụng đồng thời chủ đăng thongTinBai String Bắt buộc Thông tin đăng String Bắt buộc Id danh mục nghề Dang idDanhMuc Nghe 3.6 đăng tuyển Chi tiết collection NguoiUngTuyen_DanhMucNghe STT Tên trường Kiểu liệu Ràng buộc Ý nghĩa idNguoiUng String Bắt buộc Id người ứng tuyển String Bắt buộc Id đăng Tuyen idBaiDang 3.7 Chi tiết collection NguoiUngTuyen_BaiDang STT Tên trường Kiểu liệu Ràng buộc Ý nghĩa idNguoiUng String Bắt buộc Id người ứng tuyển String Bắt buộc Id danh mục nghề Tuyen idDanhMuc Nghe đăng tuyển Kiến trúc hệ thống • Trang web xây dựng MERN STACK • Sử dụng API để kết nối với MongoDB 19 4.1 Mơ hình kiến trúc hệ thống - Kiến trúc hệ thống theo mơ hình Client – Sever + Tầng Client (là máy tính (Host)): Tầng có khả nhận thơng tin sử dụng dịch vụ cụ thể từ nhà cung cấp dịch vụ (Server) + Tầng Sever: Tầng cung cấp thông tin (dữ liệu) quyền truy cập vào dịch vụ cụ thể 20 + Tầng Web (sẽ kết nối với tầng Sever & Client): Thành phần giao diện chương trình tương tác với người sử dụng 4.2 • Mơ tả chi tiết thành phần Mơ hình client-server mơ hình tiếng mạng máy tính, áp dụng rộng rãi mơ hình trang web có Ý tưởng mơ hình máy (đóng vài trị máy khách) gửi yêu cầu (request) để máy chủ (đóng vai trị người cung ứng dịch vụ), máy chủ xử lý trả kết cho máy khách Trong mơ hình này, chương trình ứng dụng chia thành thành phần: Server Client Client hay cịn gọi máy khách, bao gồm máy tính thiết bị điện tử nói chung Server hay gọi máy chủ, nơi cài đặt chương trình dịch vụ lưu trữ tài nguyên Việc yêu cầu máy khách, đáp ứng, xử lý, phản hồi máy chủ tạo thành dịch vụ Dịch vụ hoạt động web nên gọi dịch vụ web (hay web service) Ngoài ra, việc giao tiếp Client với Server phải dựa giao thức chuẩn Các giao thức chuẩn sử dụng phổ biến : giao thức TCP/IP, giao thức SNA IBM, OSI, ISDN, X.25 hay giao thức LAN-to-LAN NetBIOS • Client Khi nói đến Client (khách hàng), có nghĩa người hay tổ chức sử dụng dịch vụ cụ thể Trong giới kỹ thuật số tương tự Client máy tính (Host), tức có khả nhận thơng tin sử dụng dịch vụ cụ thể từ nhà cung cấp dịch vụ (Server) • Sever 21 Tương tự vậy, nói đến Server có nghĩa máy chủ hay phương tiện phục vụ dịch vụ Trong lĩnh vực cơng nghệ Server máy tính từ xa Nó cung cấp thông tin (dữ liệu) quyền truy cập vào dịch vụ cụ thể Vì vậy, mơ hình Client Server, Client đối tượng u cầu thứ Server phục vụ nó, miễn có mặt sở liệu Giao diện 22 IV Chương 4: Tổng kết Kết đạt Thông qua đồ án này, nhóm hồn tồn vận dụng ReactJS việc xây dựng ứng dụng web tận dụng Reduxthunk cho State Management để tối ưu hiệu suất ứng dụng Bên 23 cạnh đó, thơng qua NodeJS ReactJS, nhóm làm việc với MongoDb để quản lý liệu ứng dụng Nhóm khơng tích lũy kiến thức kinh nghiệm ReactJS mà cịn có thêm nhiều kinh nghiệm nghiệp vụ thực nghiên cứu cho ứng dụng Từ đó, nhóm đủ tự tin để tiếp tục phát triển dự án khác công nghệ trên, đặc biệt ReactJS Ngoài đồ án giải vấn đề việc làm doanh nghiệp người lao động Source code đồ án nhóm quản lý đường dẫn github sau: - https://github.com/HoQuangLinh/find_job_frontend_admin - https://github.com/HoQuangLinh/find_job_backend Hạn chế - Giao diện chưa thực tối ưu cho nhiều thiết bị, responsive mang tính tương đối Hướng phát triển - Chỉnh sửa giao diện responsive hoàn hảo cho tất thiết bị - Phát triển thêm vài tính Cách cài đặt 4.1 Đối với người sử dụng: Vì chưa có deploy thức nên chưa thể xuất tên miền riêng 4.2 Đối với lập trình viên: • Front end: - Clone repository: 24 https://github.com/HoQuangLinh/find_job_frontend_admin - Tạo thư mục env với nội dung PORT=8080 - Cài đặt thư viện: npm install - Khởi chạy ứng dụng: npm start • Back end: - Clone repository: - https://github.com/HoQuangLinh/find_job_backend - Tạo thư mục env với nội dung: JWT_SECRET=Thisisprivatekey PORT=5000 MONGODB_URI=mongodb+srv://admin:GkfdkJgWDfTWUyE X@luxywine.f1fdn.mongodb.net/myFirstDatabase?retryWrite s=true&w=majority - Cài đặt thư viện: npm install - Khởi chạy ứng dụng: npm start Bảng phân công công việc STT Tên công việc Thành viên Linh Thịnh Chuẩn bị, lên kế hoạch x x Khảo sát, đặc tả yêu cầu x x Thiết kế kiến trúc x x Thiết kế liệu x x Thiết kế giao diện x x Frontend x x Backend x x Kiểm tra sửa lỗi x x Viết tổng hợp báo cáo x x 25 Tỷ lệ cơng việc phân cơng 50% 50% Mức độ hồn thành 100% 100% TÀI LIỆU THAM KHẢO - https://reactjs.org/docs/getting-started.html 26 ... công việc 25 I Chương 1: Tổng Quan Thông tin chung 1.1 Tên đề tài Website quản lý sàn giao dịch việc làm Find Job 1.2 Nền tảng ứng dụng Web 1.3 Mô tả đề tài Sàn giao dịch việc làm. .. LỜI CẢM ƠN Trong trình học tập, nghiên cứu phát triền đề tài ? ?Xây dưng hệ thống phần mềm quản lý sàn giao dịch việc làm? ?? chúng em nhận giúp đỡ, bảo nhiệt tình thầy để hoàn thành đồ án Chúng... ty, tìm việc dễ dàng tìm việc phù hợp với nộp đơn nhanh chóng Phần quản lý sàn có tính quản lý tin tuyển dụng, phê duyệty loại bỏ, theo dõi tình trạng hoạt động phiên giao dịch việc làm, daonh

Ngày đăng: 17/08/2022, 21:37

Từ khóa liên quan

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

Tài liệu liên quan