- Xây dựng hệ thống tìm việc chuyên nghiệp, cung cấp các chức năng như tìm kiếm việc làm thông qua các từ khoá, phân loại công việc giúp cho người dùng có thể tìm kiếm được công việc phù
Trang 1ĐẠI HỌC GIAO THÔNG VẬN TẢI
Hà Nội, tháng 11 – 2022
Trang 2I Giới thiệu chung.1 Khảo sát.
- Qua việc tỉ lệ dân số tại Việt Nam hiện nay đang đạt tỉ lệ vàng, điều đó đồng nghĩa với việc nhu cầu tìm kiếm việc làm ngày càng tăng
- Các trang web tương tự có thể tham khảo thêm: TopCV, Vlance, Freelancer Vn, TopDev…
- Đặc điểm chung của các trang web này thì đều là trang web tuyển dụng Các trang web thuộc thể loại này thường có các điểm chung hư:
+ Cho phép người dùng xem danh sách việc làm và chi tiết của công việcđó
+ Cho phép người dùng đăng ký để làm nhà tuyển dụng+ Cho phép người dùng có thể Apply job
+ Cho phép người dùng đăng nhập, đăng ký để tương tác với nhà tuyển dụng
+ Phân chia rõ ràng các ngành nghề
2 Mục đích.
- Xây dựng hệ thống tìm việc chuyên nghiệp, cung cấp các chức năng như tìm kiếm việc làm thông qua các từ khoá, phân loại công việc giúp cho người dùng có thể tìm kiếm được công việc phù hợp với nhu cầu
- Các nhà tuyển dụng có thể đăng vị trí mà công ty cần tuyển để tìm kiếm các ứng viên phù hợp cho công ty mình
- Người dùng có thể upload CV của mình để có thể quản lý CV của mình và cũng là để thu hút các nhà tuyển dụng
- Hệ thống phải có các phân quyền riêng, một là dành cho ứng viên, một dànhcho nhà tuyển dụng và một là dành cho quản trị viên có thể cập nhật các dữ liệu hệ thống như: duyệt bài tuyển dụng, duyệt account tuyển dụng…
Trang 3đa mục đích Cụ thể hơn, PHP là ngôn ngữ kịch bản mã nguồn mở, chạyở phía server và được dùng để tạo ra các ứng dụng web.
- PHP là ngôn ngữ lập trình phổ biến được rất nhiều Developer theo đuổi Cơ hội việc làm dành cho những ai biết ngôn ngữ PHP vô cùng rộng mở Bạn có thể trở thành một Web Developer hoặc Full-Stack Developer nếu làm chủ ngôn ngữ này
- Phù hợp với những dự áno Không yêu cầu phức tạp về xử lý tính toáno Số lượng người dùng truy cập nhỏ hoặc trung bình, hoặc lớn với
Logic không quá phức tạpo Đặc biệt thích hợp cho các vấn đề liên quan đến giao diện Web - Không phù hợp với những dự án
o Có yêu cầu thời gian thực với cực kỳ nhiều kết nối và yêu cầu thời gian xử lý cực nhanh
o Xử lý số lượng rất lớn các yêu cầu với logic rất phức tạpo Cần xử lý các vấn đề về dữ liệu mới
2 MySQL
- MySQL là một hệ thống quản trị cơ sở dữ liệu mã nguồn mở (Relational Database Management System, viết tắt là RDBMS) hoạt động theo mô hình client-server Được tích hợp Apache và PHP
- Cách vận hành chính :∙ MySQL tạo ra các bảng để có thể lưu trữ dữ liệu và định nghĩa về
sự liên quan giữa các bảng∙ Client sẽ trực tiếp gửi yêu cầu SQL bằng 1 lệnh đặc biệt có trên
MySQL∙ Ứng dụng tại server sẽ tiến hành phản hồi thông tin cũng như trả về
những kết quả trên máy client
∙ Nhanh chóng∙ Mạnh mẽ và khả năng mở rộng∙ Đa tính năng
∙ Độ bảo mật cao
Trang 4∙ Dễ dàng sử dụng- Nhược điểm
∙ Dung lượng hạn chế∙ Độ tin cậy
∙ Giới hạn
3 HTML & CSS3.1 HTML
HTML là từ viết tắt của Hypertext Markup Language, là sự kết hợp của Hypertext và Markup, hay còn được gọi là ngôn ngữ siêu văn bản HTML có chức năng giúp người dùng xây dựng và cấu trúc các phần trong trang web hoặc ứng dụng, thường được sử dụng trong phân chia các đoạn văn, heading, link, blockquotes,…
HTML là một loại ngôn ngữ đánh dấu siêu văn bản, với mục đích cấu trúc thành các cấu trúc cơ bản của một trang web để website trở thành một hệ thống hoàn chỉnh
3.2 CSS
- CSS được phát triển bởi W3C (World Wide Web Consortium) vào năm 1996, vì HTML không được thiết kế để gắn tag để giúp định dạng trang web
- Phương thức hoạt động của CSS là nó sẽ tìm dựa vào các vùng chọn, vùng chọn có thể là tên một thẻ HTML, tên một ID, class hay nhiều kiểu khác Sau đó là nó sẽ áp dụng các thuộc tính cần thay đổi lên vùng chọn đó
- Mối tương quan giữa HTML và CSS rất mật thiết HTML là ngôn ngữ markup (nền tảng của site) và CSS định hình phong cách (tất cả những gìtạo nên giao diện website), chúng là không thể tách rời
III Phân tích chức năng.1 Các hoạt động của hệ thống.1.1 Hoạt động của quản trị viên
- Là quyền quản trị cấp cao nhất dành cho quản trị viên Quản trị viên được phép thiết đặt cấu hình hệ thống, duyệt bài tuyển dụng và cấp
Trang 5quyền cho người dùng (Quản trị viên khác, nhà tuyển dụng hoặc người dùng thông thường).
1.2 Hoạt động của nhà tuyển dụng
- Nhà tuyển dụng truy cập vào hệ thống để tìm kiếm các ứng viên cho công ty
- Nhà tuyển dụng đăng ký tài khoản và chờ quản trị viên xét duyệt để có thể đăng bài tuyển dụng
- Nhà tuyển dụng có thể liên lạc và tương tác với ứng viên dựa trên các thông tin mà ứng viên đã cung cấp
- Nhà tuyển dụng có thể xóa hoặc chỉnh sửa bài đăng
1.3 Hoạt động của người dùng
- Người dùng đăng nhập vào website để tìm kiếm thông tin về việc làm qua từ khoá, phân loại công việc
- Người dùng cần nhập đủ các thông tin cơ bản để có thể đăng ký vào hệthống và ứng tuyển
- Người dùng có thể xem các bài đăng của nhà tuyển dụng và liên lạc vớinhà tuyển dụng dựa trên các thông tin đã cung cấp
- Người dùng có thể upload CV trực tiếp lên profile của mình
2 Chức năng cơ sở
-Quản lý người sử dụng:
- Đăng ký: Mở form cho người dùng sử dụng đăng ký Tài khoản, điến các thông tin cần thiết của bản thân như họ tên, ngày sinh, số điện thoại, email, mật khẩu, địa chỉ,…
- Đăng nhập: Xác thực vào hệ thống với tài khoản và mật khẩu đã được đăng ký
- Cập nhật tài khoản: Cho phép người dùng hoặc quản trị viên có thể xóa, sửa thông tin của một tài khoản Riêng với quản trị viên thì có thể thay đổi vai trò của người dùng
- Phân quyền người dùng: Cấp quyền, thay đổi vai trò của người dùng.- Xem CV của ứng viên: Có thể xem CV, profile của ứng viên
-Quản lý bài đăng:
- Duyệt bài đăng của người tuyển dụng: Duyệt các bài đăng mà nhà tuyển dụng đã đăng để người dùng có thể tìm thấy
- Chỉnh sửa bài đăng: Chỉnh sửa, thêm, xóa các thông tin trong một bài tuyển dụng
-Ứng tuyển:
- Xem thông tin: Người dùng có thể xem thông tin, trạng thái và yêu cầu của công việc Ngoài ra còn có thể xem thông tin profile của Công ty tuyển dụng.- Ứng tuyển: Người dùng có thể ứng tuyển vào công việc mà nhà tuyển dụng
đã đăng
Trang 6- Thống kê công ty: Thống kê số lượng công ty đã đăng ký.
3 Biểu đồ phân rã chức năng
4 Biểu đồ phân luồng dữ liệu
DFD tìm kiếm việc làm
Trang 7DFD đăng nhà tuyển dụng
DFD cấp quyền nhà tuyển dụng
Trang 95 Biểu đồ Use Case
Trang 106 Mô hình thực thể quan hệ
7 Mô hình ERD
Trang 118 Đặc tả các thực thể
- Job_Post: Bài đăng
CREATE TABLE `job_post` ( `id_jobpost` int(11) NOT NULL, `id_company` int(11) NOT NULL, `jobtitle` varchar(255) NOT NULL, `description` text NOT NULL, `minimumsalary` varchar(255) NOT NULL, `maximumsalary` varchar(255) NOT NULL, `experience` varchar(255) NOT NULL, `qualification` varchar(255) NOT NULL, `createdat` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Tên thực thểMô tảUnique keysKiểu dữ liệu- Độ dài
id-jobpost Mã bài tuyển dụng T int (11)
minimumsalary Mức lương tối thiểu F varchar(255)maximumsalary Mức lương tối đa F varchar(255)experience Kinh nghiệm F varchar(255)qualification Khả năng F varchar(255)
- Job_Post_has_company:
Quan hệ n-1 với bảng job_postQuan hệ n-1 với bảng company
Tên thực thểMô tảUnique keysKiểu dữ liệu- Độ dài
job_post_id_jobpost Mã bài tuyển dụng T int (11)company_id_company Mã công ty T int(11)
- company: Công ty
CREATE TABLE `company` (
Trang 12`id_company` int(11) NOT NULL, `name` varchar(255) NOT NULL, `companyname` varchar(255) NOT NULL, `country` varchar(255) NOT NULL, `state` varchar(255) NOT NULL, `city` varchar(255) NOT NULL, `contactno` varchar(255) NOT NULL, `website` varchar(255) NOT NULL, `email` varchar(255) NOT NULL, `password` varchar(255) NOT NULL, `aboutme` varchar(255) DEFAULT NULL, `logo` varchar(255) NOT NULL, `createdAt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `active` int(11) NOT NULL DEFAULT '2'
)
Tên thực thểMô tảUnique keysKiểu dữ liệu- Độ dài
id-company Mã công ty T int (11)
companyname Tên công ty F varchar(255)
createdAt Ngày khởi tạo F varchar(255)
- countries: Quốc gia
CREATE TABLE `countries` ( `id` int(11) NOT NULL,
Trang 13`sortname` varchar(3) NOT NULL, `name` varchar(150) NOT NULL, `phonecode` int(11) NOT NULL, `cities_id` int(11) NOT NULL)
Tên thực thểMô tảUnique keysKiểu dữ liệu- Độ dài
sortname Tên viết tắt F varchar(3)
phonecode Mã điện thoại F int(11)
- states: Tên Bang/ Quận
CREATE TABLE `states` ( `id` int(11) NOT NULL, `name` varchar(30) NOT NULL, `country_id` int(11) NOT NULL DEFAULT '1', `cities_id` int(11) NOT NULL DEFAULT '1') ENGINE=InnoDB DEFAULT CHARSET=latin1;
Tên thực thểMô tảUnique keysKiểu dữ liệu- Độ dài
country_id Mã quốc gia T int(11)cities_id Mã thành phố T int(11)
- cities: Thành phố
CREATE TABLE `cities` ( `id` int(11) NOT NULL, `name` varchar(30) NOT NULL, `state_id` int(11) NOT NULL
Trang 14) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Tên thực thểMô tảUnique keysKiểu dữ liệu- Độ dài
- Mục đích: Đăng bài tuyển dụng- Ngữ cảnh thực hiện: Chức năng được sử dụng khi nhà tuyển dụng muốn đăng bài
đăng tuyển dụng mới
b) Thông tin chi tiết
- Điều kiện thực hiện : Người sử dụng phải đăng nhập với quyền công ty- Trình tự thực hiện:
- Người dùng thêm các thông tin như tiêu đề, mô tả, mức lương tối thiểu, tối đa- Người dùng phải đưa ra các yêu cầu như số năm kinh nghiệm, các kĩ năng
cần thiết…- Kiểm tra tính hợp lệ của thông tin và đăng bài
2 Form đăng ký ( Đối với nhà tuyển dụng)a) Thông tin chung
- Mục đích: Đăng ký tài khoản người dùng- Ngữ cảnh thực hiện: Khi người dùng muốn đăng ký tài khoản để trở thành ứng viên
hoặc nhà tuyển dụng
b) Thông tin chi tiết
- Điều kiện thực hiện: Người dùng chưa có tài khoản tuyển dụng và muốn đăng ký- Trình tự thực hiện:
- Người dùng điền các thông tin cơ bản như: Họ tên, Tên công ty, Website công ty, Email, Mật khẩu, Thông tin công ty, Xác nhận mật khẩu, SĐT…- Chọn Quốc gia và khu vực của công ty, sau đó upload logo của công ty- Đợi xác nhận từ quản trị viên để trở thành nhà tuyển dụng
Trang 15IV Kết LuậnKết luận
Những kết quả đạt được.
a Về kiến thức.- Hiểu rõ về ngôn ngữ lập trình PHP, và thao tác tốt với CSDL MYSQL
- Hiểu thêm về framework css bootstrap.- Biết cách phân quyền
b Về chương trình.- Ứng dụng chạy tốt trên các thiết bị.- Server hoạt động tốt và không có lỗi