Đăng ký Đăng nhập
Trang chủ Giáo dục - Đào tạo Cao đẳng - Đại học Công nghệ thông tin Xây dựng hệ thống phần mềm quản lý sàn giao dịch việc làm...

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

.PDF
28
1
103

Mô tả:

ĐẠ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 1 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 6 năm 2022 1 LỜI CẢM ƠN Trong quá trình học tập, nghiên cứu và 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 được sự giúp đỡ, chỉ bảo nhiệt tình của thầy để hoàn thành đồ án này. Chúng em xin bày tỏ sự 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 đỡ về kiến thức, tài liệu và phương pháp để chúng em hoàn thành đề tài này. Chúng em xin chân thành cảm ơn vì những thời gian quý báu thầy đã dành ra để kiểm tra, đưa ra các ý kiến nhận xét và đóng góp rất nhiều vào những tính năng, hướng phát triển mới hơn cho đề tài. Hi vọng với sự chỉ bảo và góp ý từ thầy, nhóm đề tài có thể tiếp túc phát triển để ứng dụng ngày càng được mở rộng và phục vụ được tốt hơn cho người dùng. Mặc dù đã có nhiều cố gắng trong suốt quá trình thực hiện đề tài, song có thể còn có những mặt hạn chế, thiếu sót. Chúng em rất mong nhận được ý kiến đóng góp và sự chỉ dẫn của thầy và các bạn để đề tài của chúng em được hoàn thiện hơn. Chúng em xin trân trọng cảm ơn! TP. Hồ Chí Minh, ngày 12 tháng 6 năm 2022 1 LỜI MỞ ĐẦU Các công nghệ hiện tại để phát triển nên một ứng dụng web đang trong quá trình lớn mạnh với những nhu cầu khác nhau. Trong thời đại công nghệ số 4.0, cùng với sự phát triển như vũ bão của Internet, ở lĩnh vực việc làm, việc có một trang web có thể kết nối người lao động và doanh nghiệp sẽ giúp cho người lao động dễ dàng lựa chọn việc làm phù hợp, doanh nghiệp cũng dễ tuyển chọn người làm việc tốt. Nắm bắt nhu cầu đó, Website Find Job được chúng em thực hiện nhằm giải quyết nhu cầu giữa người lao động và doanh nghiệp giúp người tìm việc có được công việc phù hợp, thu nhập ổn định cũng 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 được nhiều ứng viên phù hợp Các công việc chính của website là: quản lý phê duyệt, loại bỏ các bài đă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 của phiên giao dịch việc làm. 2 MỤC LỤC LỜI CẢM ƠN............................................................................................................................................ 1 LỜI MỞ ĐẦU ........................................................................................................................................... 2 1. Thông tin chung ........................................................................................................................... 4 1.1. Tên đề tài .................................................................................................................................... 4 1.2. Nền tảng ứng dụng ............................................................................................................... 4 1.3. Mô tả đề tài ............................................................................................................................... 4 1.4. Lý do chọn đề tài .................................................................................................................... 4 1.4. Công nghệ ................................................................................................................................ 4 1.5. Môi trường và công cụ hỗ trợ: ............................................................................................ 5 1.4 Nhân sự....................................................................................................................................... 5 II. Chương 2: Cơ sở lý thuyết ........................................................................................................... 5 1. Front end .................................................................................................................................... 5 2. Back end..................................................................................................................................... 5 3. Database .................................................................................................................................... 6 III. Chương 3: Phân tích và thiết kế hệ thống .......................................................................... 6 1. Danh sách tính năng ............................................................................................................. 6 2. Sơ đồ Use Case......................................................................................................................... 7 3. Cơ sở dữ liệu ........................................................................................................................... 16 4. Kiến trúc hệ thống ............................................................................................................... 19 5. Giao diện................................................................................................................................... 22 IV. Chương 4: Tổng kết.................................................................................................................... 23 1. Kết quả đạt được .................................................................................................................. 23 2. Hạn chế ..................................................................................................................................... 24 3. Hướng phát triển .................................................................................................................. 24 4. Cách cài đặt............................................................................................................................. 24 5. Bảng phân công công việc ............................................................................................... 25 3 I. Chương 1: Tổng Quan 1. 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 sẽ giúp cho việc kết nối giữa doanh nghiệp và người tìm việc một cách dễ dàng, nhanh gọn, tiết kiệm chi phí. Một số tính năng nổi bật của sàn giao dịch việc làm như người tuyển dụng dễ dàng đăng tin tuyển dụng, mỗi nhà tuyển dụng sẽ có 1 trang giới thiệu về công ty, ngươi tìm việc thì có thể dễ dàng tìm việc phù hợp với mình và nộp đơn một các nhanh chóng. Phần quản lý sàn sẽ có tính năng quản lý tin tuyển dụng, phê duyệty hoặc loại bỏ, theo dõi tình trạng hoạt động của phiên giao dịch việc làm, daonh nghiệp đăng ký tham gia một cách dễ dàng. 1.4. Lý do chọn đề tài Trong thời đại công nghệ số 4.0, cùng với sự phát triển như vũ bão của Internet, ở lĩnh vực việc làm, việc có một trang web có thể kết nối người lao động và doanh nghiệp sẽ giúp cho người lao động dễ dàng lựa chọn việc làm phù hợp, doanh nghiệp cũng dễ tuyển chọn người làm việc tốt. Nắm bắt nhu cầu đó, Website Find Job được chúng em thực hiện nhằm giải quyết nhu cầu giữa người lao động và doanh nghiệp giúp người tìm việc có được công việc phù hợp, thu nhập ổn định cũng 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 được nhiều ứng viên phù hợp 1.4. Công nghệ Front-end: ReactJS Back-end: NodeJS & ExpressJS Database: MongoDB 4 Source control: Github 1.5. Môi trường và công cụ hỗ trợ: Visual Studio Code, Google Chrome Browse. 1.4 Nhân sự STT Họ và tên 1 Nguyễn Ngọc Thịnh 2 Hồ Quang Linh MSSV 19522283 19521750 II. Chương 2: Cơ sở lý thuyết 1. Front end • ReactJS: ReactJS là một thư viện javascript mã nguồn mở được phát triển bởi Facebook, ra mắt vào 2013. ReactJS hỗ trợ việc xây dựng những thành phần trên website có tính tương tác cao, có trạng thái và có thể sử dụng lại được. Một trong những điểm nổi bật nhất của ReactJS đó là việc render dữ liệu không chỉ thực hiện được trên tầng server mà còn ở dưới client. React so sánh sự thay đổi giữa các giá trị của lần render này với lần render trước và cập nhật ít thay đổi nhất trên DOM (Document Object Model). 2. Back end • NodeJS: NodeJS là một mã nguồn được xây dựng dựa trên nền tảng Javascript V8 Engine. Nó được xây dựng để chạy trên server. NodeJS có thể chạy trên nhiều nền tảng hệ điều hành khác nhau từ Window cho tới Linux, OS X nên đó cũng là một lợi thế. NodeJS cung cấp các thư viện phong phú ở dạng Javascript Module khác nhau giúp đơn giản hóa việc lập trình và giảm thời gian ở mức thấp nhất. Javascript là một ngôn ngữ hướng sự kiện, do đó bất cứ điều gì xảy ra trên server đều tạo ra một sự kiện non-blocking, do vậy nên 1 website sử dụng NodeJS có thể đáp ứng được việc truy cập cùng lúc một lượng user cực kì lớn. • ExpressJS 5 Expressjs hay còn được viết là Express js, Express.js. Đây là một framework mã nguồn mở miễn phí cho Node.js. Express.js được sử dụng trong thiết kế và xây dựng các ứng dụng web một cách đơn giản và nhanh chóng. Vì Express js chỉ yêu cầu ngôn ngữ lập trình Javascript nên việc xây dựng các ứng dụng web và API trở nên đơn giản hơn với các lập trình viên và nhà phát triển. Expressjs cũng là một khuôn khổ của Node.js do đó hầu hết các mã code đã được viết sẵn cho các lập trình viên có thể làm việc. Nhờ có Expressjs mà các nhà lập trình có thể dễ dàng tạo các ứng dụng 1 web, nhiều web hoặc kết hợp. Do có dung lượng khá nhẹ, Expressjs giúp cho việc tổ chức các ứng dụng web thành một kiến trúc MVC có tổ chức hơn. Để có thể sử dụng được mã nguồn này, chúng ta cần phải biết về Javascript và HTML. Expressjs cũng là một phần của công nghệ giúp quản lý các ứng dụng web một cách dễ dàng hơn hay còn được gọi là ngăn xếp phần mềm MEAN. Nhờ có thư viện Javascript của Express js đã giúp cho các nhà lập trình xây dựng nên các ứng dụng web hiệu quả và nhanh chóng hơn. Expressjs cũng được sử dụng để nâng cao các chức năng của Node.js. 3. Database MongoDB: là một hệ quản trị cơ sở dữ liệu NoSQL mã nguồn mở đa nền tảng viết bằng C++. Bản ghi trong MongoDB được lưu trữ dạng một dữ liệu văn bản (Document), là một cấu trúc dữ liệu bao gồm các cặp giá trị và trường tương tự như các đối tượng JSON. III. Chương 3: Phân tích và thiết kế hệ thống 1. Danh sách tính năng Stt Tên tính năng 1 Đăng nhập 2 Đổi mật khẩu 3 Quên mật khẩu 4 Quản lý thông tin cá nhân Use case Xác thực người dùng 6 5 Đăng xuất 6 Quản lý bài đăng 7 Quản lý người tìm việc 8 Quản lý nhà tuyển dụng 9 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 2. 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ý chính 1. Truy cập vào đường dẫn /login 2. Người dùng điền các thông tin: email, mật khẩu 3. Hệ thống xác nhận có trường dữ liệu hợp lệ 4. Thông báo đăng nhập thành công, chuyển đến trang chủ Luồng xử lý phụ 1. Hệ thống thông báo nếu có lỗi 2.1.2 Usecase quên mật khẩu Tên yêu cầu Quên mật khẩu 7 Mô tả Quên mật khẩu để lấy lại mật khẩu bằng cách xác nhận mã bí mật được 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 khẩu người dùng Ngoại lệ Không có Luồng xử lý 1. Truy cập vào đường dẫn /quen-mat-khau chính 2. Người dùng nhập email 3. Nhấn nút gửi mã 4. Hệ thống gửi email chứa mã xác nhận đến cho người dùng 5. Người dùng xác nhận mã trong màn hình tiếp theo 6. Hệ thống xác nhận mật mã 7. Người dùng nhập mật khẩu và xác nhận mật khẩu mới Luồng xử lý phụ I. Mã bí mật không chính xác quá 3 lần 1. Hệ thống từ chối việc đặt lại mật khẩu 2.1.3 Đổi mật khẩu Tên yêu cầu Đổi mật khẩu Mô tả Người dùng đổi mật khẩu 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 khẩu trong database được thay đổi 8 Ngoại lệ Luồng Không có xử lý chính 1. Người dùng đã đăng nhập vào hệ thống 2. Chọn vào ảnh đại diện trên thanh header 3. Chọn đổi mật khẩu 4. Điền mật khẩu hiện tại, mật khẩu mới, xác nhận mật khẩu mới 5. Ấn xác nhận 6. Ứng dụng thông báo đổi mật khẩu thành công Luồng xử lý phụ Hệ thống thông báo nếu có lỗi 2.1.4 Usecase quản lý thông tin cá nhân Tên yêu cầu Quản lý thông tin cá nhân Mô tả Người dùng quản lý thông cá nhân, xem, sửa thông tin cá nhân, lịch sử mua hàng, chi tiết đơn hàng Tác nhân Người dùng, Quản trị viên Điều kiện trước Đã đăng nhập Điều kiện sau Thực hiện thành công hành động Ngoại lệ Không có Luồng xử lý I. chính Xem thông tin cá nhân, lịch sử mua hàng 1. Chọn vào ảnh đại diện trên thanh header 2. Chọn xem thông tin tài khoản 3. Hệ thống trả về dữ liệu thông tin tài khoản II. Chỉnh sửa thông tin cá nhân 1. Chọn vào ảnh đại diện trên thanh 9 header 2. Chọn xem thông tin tài khoản 3. Hệ thống trả về dữ liệu thông tin tài khoản 4. Người dùng thay đổi thông tin ở trong các khung input 5. Người dùng ấn cập nhật 6. Hệ thống kiểm tra dữ liệu, thực hiện thay đổi csdl nếu dữ liệu hợp lệ III. Xem chi tiết đơn hàng 1. Chọn vào ảnh đại diện trên thanh header 2. Chọn xem thông tin tài khoản 3. Hệ thống trả về dữ liệu thông tin tài khoản 4. Người dùng ấn vào 1 dòng trong bảng lịch sử mua hàng 5. Hệ thống trả về dữ liệu chi tiết của đơn hàng vừa chọn Luồng xử lý phụ Hệ thống thông báo nếu có lỗi 2.1.5 Usecase đăng xuất Tên yêu cầu Mô tả Đăng xuất Người dùng đăng xuất khi không muốn sử dụng nữa Tác nhân Quản trị viên Điều kiện trước Cần phải đăng nhập từ trước 10 Điều kiện sau Đăng xuất thành công Ngoại lệ Không có Luồng xử lý 1. Vào giao diện chính của ứng dụng chính 2. Bấm vào nút đăng xuất ở trên cùng góc phải màn hình 3. Hệ thống đăng xuất thành công và chuyển về màn hình đăng nhập Luồng xử lý phụ Hệ thống thông báo nếu xảy ra lỗi 2.2 Usecase Quản trị viên 2.2.1 Usecase quản lý bài đăng Tên yêu cầu Quản lý bài đăng Mô tả Quản lý bao gồm phê duyệt, từ chối bài đăng tuyển 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ực hiện thành công hành động Ngoại lệ Không có Luồng xử chính lý 1. Truy cập tab nhà tuyển dụng 2. Chọn nhà tuyển dụng cần duyệt 3. Phê duyệt/ từ chối bài đăng Luồng xử lý phụ Hệ thống thông báo nếu có lỗi 2.2.2 Usecase quản lý người tìm việc Tên yêu cầu Quản lý người tìm việc Mô tả Quản lý sửa, xoá, thêm thông tin người tìm việc Tác nhân Quản trị viên 11 Điều kiện trước Cần phải đăng nhập từ trước Điều kiện sau Thực hiện thành công hoạt động Ngoại lệ Không có Luồng xử lý 1. Vào giao diện chính của ứng dụng chính 2. Bấm vào tab đăng người tìm việc 3. Chọn một người dùng 4. Thực hiện thao tác sửa/ xoá thông tin người dùng. 5. 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 nếu xảy ra 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, xoá, sửa đổi thông tin công ty. Quản trị viên thêm một công ty mới hoặc xoá. 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. chính Xem thông tin nhà tuyển dụng: 1. Truy cập tab Nhà tuyển dụng 2. Chọn một nhà tuyển dụng mà bạn muốn thao tác 3. Hệ thống hiện thị thông tin về nhà tuyển dụng II. Sửa thông tin nhà tuyển dụng: 12 1. Truy cập tab Nhà tuyển dụng 2. Chọn một nhà tuyển dụng mà bạn muốn thao tác 3. Bấm nút sửa 4. Sửa các thông tin cần thay đổi 5. Bấm lưu 6. Hệ thống thông báo cập nhập thông tin thành công. III. Xoá nhà tuyển dụng: 1. Truy cập tab Nhà tuyển dụng 2. Chọn một nhà tuyển dụng mà bạn muốn thao tác 3. Bấm nút xoá 4. Xác nhận chắc chắn sẽ xoá nhà tuyển dụng 5. Hệ thống thông báo xoá thành công. IV. Thêm nhà tuyển dụng: 1. Truy cập tab Nhà tuyển dụng 2. Bấm thêm công ty 3. Trang web hiện ra một modal để nhập thông tin của công ty mới. 4. Sau nhập thông tin của công ty xong bấm lưu. 5. Hệ thống thông báo thêm công ty mới thành công. Luồng xử lý phụ Hệ thống thông báo nếu xảy ra 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 hiện thành công hành động Ngoại lệ Không có Luồng xử lý I. chính Xem các ngành nghề: 1. Truy cập tab Ngành nghề 2. Hệ thống hiện thị các ngành nghề trong tab. II. Sửa thông tin Ngành nghề: 1. Truy cập tab Ngành nghề 2. Chọn một ngành nghềtrong danh sách 3. Bấm nút sửa 4. Sửa các thông tin cần thay đổi 5. Bấm lưu 6. Hệ thống thông báo cập nhập thông tin thành công. III. Xoá ngành nghề: 1. Truy cập tab Ngành nghề 2. Chọn một ngành nghề mà bạn muốn thao tác 3. Bấm nút xoá 4. Xác nhận xoá. 5. Hệ thống thông báo xoá thành công. IV. Thêm ngành nghề: 14 1. Truy cập tab Ngàng nghề 2. Bấm thêm. 3. Trang web hiện ra một modal để nhập thông tin của ngành nghề mới. 4. Bấm lưu 5. Hệ thống thông báo thêm mới thành công. Luồng xử lý phụ Hệ thống thông báo nếu 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á và lượng bài đăng dành cho nhà tuyển dụng ở các 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 hiện thành công hành động Ngoại lệ Không có Luồng xử lý chính 1. Truy cập đến tab gói đăng ký 2. Sửa gói đăng ký 3. Bấm lưu Luồng xử lý phụ Hệ thống thông báo nếu 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 các 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 hiện thành công hành động Ngoại lệ Không có Luồng xử lý chính 1. Truy cập tab Doanh thu 2. Hệ thống trả về thống kê doanh thu Luồng xử lý phụ Hệ thống thông báo nếu có lỗi 3. Cơ sở dữ liệu • Thiết kế cơ sở dữ liệu: 16 • Danh sách các collections: STT 1 Tên collections dữ liệu users Mô tả Danh sách tài khoản người dùng và tài khoản admin 2 NguoiUngTuyen Danh sách các người ứng tuyển 3 DanhMucNghe Danh sách các nghề nghiệp kèm hình ảnh 4 BaiDang Danh sách các bài đăng 5 NhaTuyenDung Danh sách các nhà tuyển dụng 6 NguoiUngTuyen_DanhMucNghe Liên kết giữa 2 collections người ứng tuyển và danh mục nghề 7 NguoiUngTuyen_BaiDang Liên kết giữa 2 collections người ứng tuyển và bài đăng 3.1 Chi tiết collections users STT Tên trường Kiểu dữ liệu Ràng buộc Ý nghĩa 1 name String Bắt buộc Họ và tên 2 password String Bắt buộc Mật khẩu người dùng 3 phone String Bắt buộc Số điện thoại người dùng 4 gender String Bắt buộc Giới tính, 1: Nam, 2: Nữ, 3: Khác 5 role String Bắt buộc Vai trò của người dùng, ‘user’ và ‘admin’ 6 email String Bắt buộc Email người dùng 7 address String Địa chỉ người dùng 8 avatar String Đường dẫn lưu trữ ảnh giao diện của người dùng 9 birthday 3.2 Date Ngày sinh của người dùng Chi tiết collections NguoiUngTuyen 17 STT Tên trường Kiểu dữ liệu Ràng buộc Ý nghĩa 1 ngheNghiep String Bắt buộc Tên nghề nghiệp 2 viTriUngTuy String Bắt buộc Vị trí ứng tuyển en 3 noiLamViec String Bắt buộc Nơi làm việc 5 cvUrl String Bắt buộc Đường dẫn liên kết CV 6 userID String Bắt buộc Id người dùng của người ứng tuyển 3.3 Chi tiết collections DanhMucNghe STT Tên trường Kiểu dữ liệu 1 tenDanhMu String Ràng buộc Tên danh mục nghề cNghe 2 hinhAnh Ý nghĩa nghiệp String Hình ảnh của danh mục nghệ 3.4 Chi tiết collection NhaTuyenDung STT Tên trường Kiểu dữ liệu Ràng buộc Ý nghĩa 1 tenCongTy String Bắt buộc Tên công ty, doanh nghiệp tuyển dụng 2 hinhAnhCo String Bắt buộc ngTy Đường dẫn hình ảnh công ty, doanh nghiệp ứng tuyển 3 thongTinCo String Bắt buộc ngTy 5 userID Mô tả về 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
- Xem thêm -

Tài liệu liên quan