1. Trang chủ
  2. » Luận Văn - Báo Cáo

tiểu luận báo cáo dự án tốt nghiệp dự án hệ thống tìm việc kiên giangtích hợp chat gpt

127 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Nhà tuyển dụng có thể quảng bá thương hiệu, thông báo tuyểndụng và tìm kiếm ứng viên tài năng từ một cơ sở nguồn lực rộng lớn.Hỗ trợ phát triển cá nhân và chuyên môn: Ngoài các chức năng

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG CAO ĐẲNG FPT POLYTECHNIC CẦN THƠ

BÁO CÁO DỰ ÁN TỐT NGHIỆP

DỰ ÁN HỆ THỐNG TÌM VIỆC KIÊN GIANGTÍCH HỢP CHAT GPT

Giảng viên hướng dẫn: thầy Phan Văn Tính

Thành viên:

Nguyễn Hửu Thoại PC04496Tào Thiện Nhân PC02840

Triệu Hồng Ký PC04340Trần Thị Bảo Yến PC03450Trần Lê Phúc Thịnh PC04491

Trang 2

Mục lục

Chương 1 Giới thiệu đề tài 8

1 Giới thiệu thành viên 8

2 Giới thiệu dự án 8

3 Lý do chọn đề tài 8

Chương 2 Phân tích yêu cầu 10

1 Phía quản trị viên 10

2 Phía nhà tuyển dụng 11

3 Phía ứng viên 13

4 Sơ đồ usecase 14

Chương 3 Phân tích yêu cầu hệ thống 15

1 Sơ đồ triển khai 15

2 Yêu cầu hệ thống 15

2.1 Yêu cầu chung 15

2.2 Yêu cầu quản trị viên 16

2 Thiết kế chi tiết các thực thể 23

Chương 6 Thiết kế giao diện 32

1 Giao diện người dùng 32

2 Giao diện doanh nghiệp 44

3 Giao diện quản trị 44

1.1 Form đăng nhập quản trị 114

1.2 Form quên mật khẩu 114

1.3 Form đăng nhập doanh nghiệp 115

1.4 Form quên mật khẩu doanh nghiệp 115

2 Kiểm thử chức năng 116

2.1 Chức năng trang quản trị 116

Trang 3

Chương 9 Đóng gói và triển khai 118

Trang 4

LỜI NÓI ĐẦU

Dự án tốt nghiệp là một môn học trong chương trình đào tạo CNTT của hệ caođẳng thực hành FPT Polytechnic Đây là một môn quan trọng để có thể xét duyệtđược sinh viên đủ điều kiện để tốt nghiệp, môn học này mang tính chất quyếtđịnh để nhìn nhận được kết quả trong 2 năm 4 tháng sinh viên được đào tạo tạitrường.

Môn học này giúp cho sinh viên có cái nhìn tổng quan về một dự án theo quytrình bám sát thực tế và kinh nghiệm để đi làm sau này Trong quá trình làm dựán sinh viên cần viết tài liệu báo cáo, nó giúp mọi người có thể hiểu được quátrình để xây dựng dự án của mình Bằng việc sử dụng kiến thức được trao dồitrong quá trình học tập và tự tìm hiểu, sinh viên sẽ áp dụng được các kỹ năngchuyên môn về phân tích và thiết kế Ngoài ra còn các kỹ năng mềm như làmviệc nhóm, lên kế hoạch Nó sẽ mang lại nhiều giá trị tích cực, đồng thời cũngnhư là cơ hội về công việc cho sinh viên Trong quá trình làm dự án, sinh viên sẽphải đối mặt với nhiều thách thức và khó khăn Tuy nhiên, những kinh nghiệmthu được từ việc xây dựng dự án sẽ giúp cho sinh viên phát triển kỹ năng và tưduy của mình Ngoài ra, môn học này còn giúp sinh viên rèn luyện kỹ năng giaotiếp, giải quyết vấn đề và quản lý thời gian hiệu quả.

Với những kiến thức và kinh nghiệm thu được trong môn học này, sinh viên cóthể tự tin hơn khi bước vào công việc sau này Dự án tốt nghiệp không chỉ là mộtyêu cầu để tốt nghiệp mà còn là cơ hội để sinh viên phát triển bản thân và chuẩnbị cho tương lai sự nghiệp của mình.

Too long to read onyour phone? Save to

read later on yourcomputer

Save to a Studylist

Trang 5

LỜI CẢM ƠN

Chúng em xin bày tỏ lòng biết ơn và tri ân sâu sắc đối với những người đã cùngchúng em hoàn thành báo cáo tốt nghiệp này Cuộc hành trình này đã đòi hỏi sựhợp tác và cống hiến từ tất cả các thành viên trong nhóm, và chúng em tự hào vềthành tựu mà chúng em đã đạt được cùng nhau.

Trước hết, chúng em muốn gửi lời cảm ơn chân thành đến các giảng viên, hướngdẫn viên, và người thầy đã hỗ trợ và động viên chúng em trong suốt thời gian họctập Kiến thức, kinh nghiệm, và sự chỉ dẫn của họ đã giúp chúng em phát triển vàhoàn thiện dự án này.

Chúng em cũng xin gửi lời tri ân đặc biệt đến từng thành viên trong nhóm Sựhợp tác và tinh thần đoàn kết của chúng em đã thể hiện sức mạnh của nhóm trongviệc đối mặt với những thách thức và khó khăn Mỗi người trong nhóm đã đónggóp kiến thức, kỹ năng, và sự cống hiến của mình, và chúng em đã học hỏi rấtnhiều từ nhau.

Chúng em biết rằng không có dự án nhóm nào hoàn hảo, và chúng em đã đối mặtvới nhiều khó khăn và bài học quý báu Nhưng chính những khó khăn đó đã làmcho chúng em trở nên mạnh mẽ hơn và càng thêm gắn kết Đây là một hành trìnhđáng nhớ, và chúng em tự hào về những gì đã đạt được cùng nhau.

Cuối cùng, chúng em muốn cảm ơn gia đình và bạn bè đã luôn ở bên cạnh, độngviên, và hỗ trợ chúng em trong suốt thời gian này Sự ủng hộ của họ đã giúpchúng em vượt qua mọi khó khăn.

Lời cảm ơn này không đủ để thể hiện hết lòng biết ơn của chúng em , nhưng nólà một sự tri ân chân thành đối với tất cả những người đã đồng hành cùng chúngem trong cuộc hành trình này Cảm ơn bạn đã là một phần quan trọng của thànhcông của chúng em

Trang 6

NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN

Cần Thơ, ngày tháng năm 2023

Giáo viên hướng dẫn

Trang 8

Cần Thơ, ngày tháng năm 2023

Hội đồng phản biện

Trang 9

Chương 1 Giới thiệu đề tàii

Danh sách thành viên thực hiện dự án:

1.Nguyễn Hửu Thoại PC04496 (Nhóm trưởng)

2.Tào Thiện Nhân PC02840

Không chỉ dừng lại ở việc tìm kiếm, timvieckiengiang.vn còn cung cấp các nguồn tưvấn, hướng dẫn và bài viết chất lượng để giúp bạn nâng cao khả năng tìm kiếm mộtcông việc phù hợp với năng lực của bản thân và đồng thới đáp ứng được nhu cầu củanhà tuyển dụng.

Đáp ứng nhu cầu cần thiết: Việc tìm kiếm việc làm đôi khi có thể là một thách thức khókhăn đối với người tìm việc mà không phải ai cũng có thể giải quyết đước Vì vậy hãyđến với website timvieckiengiang.vn của chúng tôi, người dùng sẽ được tiếp cận vớimột danh sách việc làm đa dạng và cũng như gia tăng cơ hội việc làm tại khu vực KiênGiang và các tỉnh lân cận Điều này giúp giảm bớt gánh nặng của việc tìm kiếm việclàm và mang đến nhiều cơ hội phát triển cho cả ứng viên và doanh nghiệp.

Tạo kết nối hiệu quả: timvieckiengiang.vn tạo ra một môi trường kết nối nhanh chóng

Trang 10

làm phù hợp và liên hệ trực tiếp với nhà tuyển dụng Điều này tạo điều kiện thuận lợi đểđôi bên tìm ra sự phù hợp và gắn kết nhanh chóng.

Mở rộng tầm nhìn cho doanh nghiệp địa phương: timvieckiengiang.vn không chỉ hỗ trợngười tìm việc, mà còn là một công cụ mạnh mẽ cho doanh nghiệp địa phương trongviệc tuyển dụng nhân tài Nhà tuyển dụng có thể quảng bá thương hiệu, thông báo tuyểndụng và tìm kiếm ứng viên tài năng từ một cơ sở nguồn lực rộng lớn.

Hỗ trợ phát triển cá nhân và chuyên môn: Ngoài các chức năng tìm kiếm việc làm vàứng viên, timvieckiengiang.vn cung cấp các tài liệu và nguồn thông tin bổ ích liên quanđến phát triển cá nhân, xây dựng hồ sơ, phỏng vấn và nâng cao kỹ năng Đây là tài liệuquý giá giúp người dùng định hướng và phát triển sự nghiệp một cách toàn diện.Chúng em tin rằng timvieckiengiang.vn sẽ là một thành tựu đáng tự hào, mang lạinhững lợi ích lớn cho cả cá nhân và cộng đồng doanh nghiệp tại Kiên Giang Trangweb này sẽ mở ra cánh cửa đến một tương lai tươi sáng và phát triển cho cả nhữngngười tìm việc và nhà tuyển dụng.

Trang 11

Chương 2 Phân tích yêu cầu

1 Phía quản trị viên1.1 Thống kê

Mô tả chức năng:

Chức năng cho phép người quản trị theo dõi tổng quan số liệu thống kê của website về các danh mục khác nhau và thể hiện thông tin quản trị viên đang sử dụng.

Dữ liệu liên quan:

Lấy những dữ liệu từ các danh mục khác nhau trên toàn website bao gồm: thông tin cá nhân, danh mục công việc và bài viết, thông tin thanh toán, widget.

1.2 Quản lý người dùngMô tả chức năng:

Bao gồm quản lý các đối tượng sử dụng website như: nhà tuyển dụng, ứng viên, khách hàng Các chức năng như hiển thị/thêm/sửa/xoá và quản lý vai trò tài khoản người dùng.

Dữ liệu liên quan:

Thông tin người dùng tạo đã đăng ký khi tạo tài khoản như: họ và tên, tên tài khoản, sốđiện thoại, email, cmnd/cccd.

1.3 Quản lý danh mục công việcMô tả chức năng:

Bao gồm quản lý các loại công việc được đăng tải trên website, tên loại công việc trong tìm kiếm Bao gồm các chức năng như hiển thị/thêm/sửa/xoá.

1.4 Quản lý công việcMô tả chức năng:

Bao gồm quản lý các công việc được đăng tải trên website, hiển thị tên công việc dựa trên danh mục trên website và trong tìm kiếm Bao gồm các chức năng như hiển thị/thêm/sửa/xoá.

Dữ liệu liên quan: lấy dữ liệu từ danh mục công việc để hiển thị và thêm công việc

mới.

Trang 12

1.5 Quản lý danh mục bài viết

Mô tả chức năng: bao gồm quản lý các loại bài viết được đăng tải trên website, tên

loại bài viết trong tìm kiếm Bao gồm các chức năng như hiển thị/thêm/sửa/xoá.

1.6 Quản lý bài viếtMô tả chức năng:

Bao gồm quản lý các bài viết được đăng tải trên website, hiển thị tên bài viết dựa trên danh mục được đăng tải trên website Bao gồm các chức năng như hiển

Dữ liệu liên quan: lấy dữ liệu từ danh mục bài viết để hiển thị và thêm bài viết mới.1.7 Quản lý thanh toán

Mô tả chức năng: hiển thị lịch sử thanh toán của các tài khoản ứng viên và nhà tuyển

dụng, bao gồm các thông tin như: số tiền thanh toán, tài khoản thanh toán, thời gian thanh toán.

Dữ liệu liên quan: bao gồm các thông tin: họ và tên người đại diện, email, số điện

Dữ liệu liên quan: lấy thông tin từ tài khoản nhà tuyển dụng và danh mục công việc.

Trang 13

2.3 Tìm kiếm/ Xem thông tin ứng viên

Mô tả chức năng: Nhà tuyển dụng có thể tìm kiếm và xem thông tin chi tiết của một

ứng viên, có thể xem được các thông tin cá nhân đã được công khai, các dự án mà ứng viên đã hoàn thành hoặc tham gia.

Dữ liệu liên quan: lấy thông tin từ tài khoản ứng viên.2.4 Xem danh sách ứng viên

Mô tả chức năng:

Nhà tuyển dụng có thể xem danh sách các ứng viên đã nộp hồ sơ ứng tuyển cho côngviệc đã đăng tải, có thể xem chi tiết thông tin ứng viên và chấp nhận ứng viên để thựchiện công việc.

Dữ liệu liên quan: lấy thông tin từ danh mục công việc, chi tiết công việc đăng tải, tài

khoản nhà tuyển dụng và tài khoản ứng viên.

2.6 Thanh toán

Mô tả chức năng: nhà tuyển dụng có thể thanh toán cho ứng viên khi đã hoàn thành

công việc.

Dữ liệu liên quan: lấy thông tin từ danh mục công việc, chi tiết công việc đăng tải, tài

khoản nhà tuyển dụng và tài khoản ứng viên.

2.7 Đánh giá ứng viênMô tả chức năng:

Nhà tuyển dụng có thể đánh giá ứng viên thông qua các tiêu chí được đề xuất dựa trênnội dung chi tiết của công việc, nhận xét về thái độ, kĩ năng của ứng viên đối với côngviệc.

Dữ liệu liên quan: lấy thông tin từ danh mục công việc, chi tiết công việc đăng tải, tài

khoản nhà tuyển dụng và tài khoản ứng viên.

2.8 Xem tin tức/ công việcMô tả chức năng:

Nhà tuyển dụng có thể xem danh sách các tin tức và công việc được đăng tải trênwebsite, có thể tìm kiếm theo danh mục hoặc tìm trực tiếp tên bài viết/công việc.

Dữ liệu liên quan:

Trang 14

2.9 Cập nhật thông tin tài khoản

Mô tả chức năng: có thể cập nhật lại các thông tin bao gồm họ tên, email, số điện thoại

và các thông tin các nhân khác.

Dữ liệu liên quan: lấy thông tin từ tài khoản nhà tuyển dụng.3 Phía ứng viên

3.1 Đăng nhập/ Đăng ký/ Đăng xuất tài khoảnMô tả chức năng:

Ứng viên đăng ký thông tin tài khoản ứng viên, hoàn thành hồ sơ ứng viên Đăng nhập tài khoản để có thể thực hiện các chức năng riêng Đăng xuất tài khoản ứng viên.

Dữ liệu liên quan: bao gồm các thông tin: họ và tên, email, số điện thoại, mật khẩu.3.2 Tìm kiếm/ Xem thông tin nhà tuyển dụng

Dữ liệu liên quan: lấy thông tin từ danh mục công việc, chi tiết công việc đăng tải, tài

khoản nhà tuyển dụng và tài khoản ứng viên.

3.4 Thanh toánMô tả chức năng:

Nhà tuyển dụng có thể thanh toán cho ứng viên khi đã hoàn thành công việc.

Dữ liệu liên quan:

Lấy thông tin từ danh mục công việc, chi tiết công việc đăng tải, tài khoản nhà tuyển dụng và tài khoản ứng viên.

3.5 Đánh giá nhà tuyển dụngMô tả chức năng:

Ứng viên có thể đánh giá nhà tuyển dụng qua các tiêu chí như thời hạn thanh toán,

Trang 15

Dữ liệu liên quan:

Lấy thông tin từ danh mục công việc, chi tiết công việc đăng tải, tài khoản nhà tuyển dụng và tài khoản ứng viên.

3.6 Xem tin tức/ công việcMô tả chức năng:

Ứng viên có thể xem danh sách các tin tức và công việc được đăng tải trên website, có thể tìm kiếm theo danh mục hoặc tìm trực tiếp tên bài viết/công việc.

Dữ liệu liên quan:

Lấy thông tin từ danh mục công việc, danh mục bài viết, chi tiết công việc đăng tải, chi tiết bài viết đăng tải.

3.7 Lưu thông tinMô tả chức năng:

Ứng viên có thể lưu tin tuyển dụng, sau đó có thể truy cập vào danh mục các tin tuyển dụng đã lưu để xem lại.

Dữ liệu liên quan:

Lấy thông tin từ danh mục công việc, chi tiết công việc đăng tải, tài khoản nhà tuyển dụng và tài khoản ứng viên.

3.8 Liên hệ cho nhà tuyển dụngMô tả chức năng:

Ứng viên có thể liên hệ với nhà tuyển dụng thông qua hộp thoại trực tiếp trên website.

Dữ liệu liên quan:

Lấy thông tin từ tài khoản nhà tuyển dụng và tài khoản ứng viên.

3.9 Cập nhật thông tin tài khoảnMô tả chức năng:

Có thể cập nhật lại các thông tin bao gồm họ tên, email, số điện thoại và các thông tin các nhân khác.

Dữ liệu liên quan:

Lấy thông tin từ tài khoản ứng viên.

4 Sơ đồ usecase

Trang 16

Chương 3 Phân tích yêu cầu hệ thống

1 Sơ đồ triển khai

2 Yêu cầu hệ thống2.1 Yêu cầu chung2.1.1 Giao diện người dùng

Giao diện thân thiện, dễ sử dụng cho cả người tìm việc và doanh nghiệp Trang web phải tương thích trên cả máy tính và thiết bị di động.

2.1.2 Đăng ký, Đăng nhập

Người dùng cần có tài khoản để sử dụng dịch vụ.

Tích hợp các phương thức xác thực bảo mật như email xác minh

Trang 17

2.2.2 Quản lý công việc:

Có khả năng quản lý thông tin về các công việc được đăng tải, bao gồm duyệt, chỉnh sửa, hoặc xóa công việc.

Theo dõi các thống kê về số lượng công việc, số lượng ứng viên đã đăng ký và các số liệu liên quan.

Trang 18

Chương 4 Công nghệ sử dụng

1 Phía người dùng1.1 Nuxt

Nuxt 3 là một framework phía máy khách (client-side) xây dựng dựa trên Vue.js, đượcphát triển dành riêng cho việc xây dựng ứng dụng web hiện đại Dưới đây là mô tả côngdụng của Nuxt 3 trong việc xây dựng giao diện phía người dùng:

Routing tự động: Nuxt 3 cung cấp một hệ thống routing tự động dựa trên thư mục và têntệp Bạn chỉ cần tạo các thư mục và tệp trong cấu trúc thư mục của dự án và Nuxt sẽ tựđộng tạo ra các đường dẫn và route tương ứng với trang web của bạn Điều này giúp bạntạo routing hiệu quả và dễ dàng duyệt qua các trang.

Server-side rendering (SSR): Nuxt 3 hỗ trợ SSR mặc định Điều này có nghĩa rằng bạncó thể tạo các trang Vue.js tĩnh và cũng có thể kết hợp với các trang được render phíamáy chủ SSR giúp cải thiện hiệu suất, SEO và trải nghiệm người dùng bằng cách đảmbảo trang web của bạn load nhanh và hiển thị đúng trên các trình duyệt.

Middleware: Nuxt 3 cho phép bạn thêm middleware trước hoặc sau khi một trang đượcrender Điều này thích hợp để kiểm tra xác thực người dùng, quản lý trạng thái toàn cục,hay thực hiện các công việc khác liên quan đến routing và trang web.

Vuex: Nuxt 3 kết hợp sẵn Vuex, một thư viện quản lý trạng thái, để bạn có thể quản lýdữ liệu ứng dụng một cách hiệu quả Bạn có thể lưu trữ trạng thái ứng dụng, chia sẻ dữliệu giữa các trang và theo dõi thay đổi trạng thái.

Hỗ trợ tiếng quốc tế (i18n): Nuxt 3 tích hợp sẵn hỗ trợ i18n, giúp bạn xây dựng các ứngdụng đa ngôn ngữ dễ dàng Bạn có thể dễ dàng thêm dịch vụ và chuyển đổi giữa cácngôn ngữ khác nhau.

Thời gian biên dịch (buildtime): Nuxt 3 hỗ trợ cả render tại thời gian biên dịch (SSG Static Site Generation) và tại thời gian chạy (CSR - Client-Side Rendering) Điều nàycho phép bạn tối ưu hóa trải nghiệm người dùng và hiệu suất dự án.

-Thư viện mạnh mẽ: Bạn có thể sử dụng các thư viện, plugins và module Vue.js mạnhmẽ cùng với Nuxt 3 để phát triển các tính năng và chức năng phong phú cho trang webcủa mình.

Trang 19

Quản lý tệp tĩnh: Nuxt 3 cho phép bạn quản lý các tệp tĩnh như CSS, JavaScript và hìnhảnh một cách dễ dàng Điều này giúp bạn tối ưu hóa và tải nhanh các tài nguyên trêntrang web.

Plugin và module hỗ trợ: Nuxt 3 có một cộng đồng lớn và phong phú, cung cấp nhiềuplugin và module hỗ trợ, từ quản lý trạng thái đến quản lý thư viện và giao diện ngườidùng.

Nuxt 3 là một framework phát triển mạnh mẽ cho việc xây dựng các ứng dụng web phíangười dùng (UI) hiện đại và đáng tin cậy Nó tối ưu hóa việc xây dựng trang web, cungcấp các tính năng mạnh mẽ và đáng tin cậy để bạn phát triển các ứng dụng web chấtlượng cao.

2 Phía quản trị2.1 Laravel

Laravel là một framework phát triển ứng dụng web mã nguồn mở được viết bằng PHP.Nó được thiết kế để giúp bạn xây dựng các ứng dụng web một cách nhanh chóng và dễdàng Laravel cung cấp một nền tảng mạnh mẽ để phát triển ứng dụng web và cung cấpnhiều tính năng hữu ích, bao gồm quản lý dự án, xử lý dữ liệu, bảo mật và nhiều tínhnăng khác.

Phía quản trị trong Laravel thường được xây dựng bằng cách sử dụng một số gói mở rộng hoặc thư viện bên ngoài để giúp quản lý dữ liệu và tài nguyên của ứng dụng một cách dễ dàng Một số gói mở rộng phổ biến cho phía quản trị trong Laravel bao gồm: Laravel Nova: Đây là một gói mở rộng chính thức từ Laravel để tạo giao diện quản trị Nó cung cấp một giao diện thân thiện với người dùng để quản lý các tài nguyên của ứng dụng, chẳng hạn như người dùng, bài viết, danh mục, v.v.

Laravel Backpack: Laravel Backpack là một gói mở rộng khác cho phía quản trị Nócho phép bạn tạo giao diện quản trị tùy chỉnh dựa trên các tài nguyên bạn định nghĩa.Backpack cung cấp nhiều tính năng hữu ích như lọc dữ liệu, tìm kiếm, nhập/xuất dữliệu, v.v.

Laravel Voyager: Laravel Voyager là một gói mở rộng sử dụng để tạo giao diện quảntrị theo hướng trực quan Nó cho phép bạn quản lý tài nguyên như bài viết, hình ảnh vàtrang tĩnh một cách dễ dàng thông qua giao diện người dùng đơn giản.

Trang 20

Laravel AdminLTE: Đây là một gói mở rộng sử dụng giao diện AdminLTE phổ biến đểxây dựng giao diện quản trị trong Laravel Nó cung cấp các trang, giao diện và tính năngsẵn có cho phần quản trị của ứng dụng.

Khi bạn sử dụng một trong các gói mở rộng trên, bạn có thể quản lý dễ dàng các tàinguyên của ứng dụng, thực hiện các tác vụ quản trị như thêm, sửa, xóa và tìm kiếm dữliệu một cách dễ dàng Điều này giúp bạn tiết kiệm thời gian và công sức trong việc xâydựng giao diện quản trị cho ứng dụng web của mình.

3 Thư viện3.1 Tailwind css

Tailwind CSS là một framework CSS mã nguồn mở được thiết kế để giúp bạn xây dựnggiao diện web một cách nhanh chóng và dễ dàng Nó đặc biệt nổi tiếng với cách tiếp cậnthiết kế CSS "utility-first," trong đó bạn sử dụng các lớp CSS để định nghĩa các kiểuthiết kế thay vì viết mã CSS tùy chỉnh Dưới đây là một số điểm quan trọng về TailwindCSS:

Utility-first CSS: Tailwind CSS cung cấp một bộ lớp CSS mạnh mẽ mà bạn có thể ápdụng trực tiếp vào các phần tử HTML Ví dụ, bạn có thể sử dụng lớp như bg-blue-500để đặt màu nền là màu xanh dương.

Tùy chỉnh dễ dàng: Tailwind CSS cho phép bạn tùy chỉnh các giá trị của lớp CSS trongtệp cấu hình của mình Điều này giúp bạn tạo ra một giao diện web theo phong cách củariêng bạn mà không cần viết mã CSS tùy chỉnh.

Tích hợp dễ dàng: Tailwind CSS có thư viện và plugin cho nhiều framework JavaScriptphổ biến như React, Vue.js, và Angular Điều này giúp tích hợp Tailwind CSS vào dựán web của bạn trở nên dễ dàng.

Hệ thống lưới linh hoạt: Tailwind CSS cung cấp một hệ thống lưới mạnh mẽ cho việcxây dựng trang web đáp ứng Bạn có thể dễ dàng tạo các cột và bố cục theo ý muốn.Chủ đề tối ưu hóa cho thiết kế nhanh chóng: Tailwind CSS cung cấp một số chủ đề mặcđịnh để bạn có thể bắt đầu mà không cần phải tạo từ đầu.

Cộng đồng mạnh mẽ: Tailwind CSS có một cộng đồng rộng lớn với nhiều tài liệu, vídụ, và hỗ trợ trực tuyến Điều này giúp bạn tìm kiếm giúp đỡ và tài liệu dễ dàng.

Trang 21

Sử dụng Tailwind CSS trong trang web của bạn có thể giúp bạn nhanh chóng xây dựnggiao diện đẹp, dễ quản lý và tối ưu hóa hiệu suất mà không cần phải viết nhiều mã CSStùy chỉnh.

3.2 MongoDB

MongoDB là một hệ quản trị cơ sở dữ liệu (DBMS) phi tuyến tính (NoSQL) mã nguồnmở, được thiết kế để lưu trữ và quản lý dữ liệu phi cấu trúc hoặc dữ liệu có cấu trúc linhhoạt Dưới đây là một số thông tin quan trọng về MongoDB:

NoSQL Database: MongoDB là một hệ quản trị cơ sở dữ liệu NoSQL, nghĩa là nókhông sử dụng mô hình cơ sở dữ liệu quan hệ truyền thống mà thay vào đó sử dụng môhình dữ liệu phi cấu trúc hoặc dữ liệu có cấu trúc linh hoạt Điều này cho phép lưu trữdữ liệu dưới dạng tài liệu (document), trong đó mỗi tài liệu có thể có cấu trúc khác nhau.Dữ liệu dạng JSON: Dữ liệu trong MongoDB được biểu diễn dưới dạng JSON, có cấutrúc dễ đọc và dễ hiểu Các tài liệu được lưu trữ trong các bộ sưu tập (collections), vàmỗi tài liệu là một tài liệu JSON.

Cấu trúc linh hoạt: MongoDB cho phép bạn thay đổi cấu trúc của các tài liệu một cáchlinh hoạt, không yêu cầu tất cả các tài liệu phải có cùng cấu trúc.

Khả năng mở rộng: MongoDB được thiết kế để dễ dàng mở rộng orizontal bằng cáchthêm các máy chủ cơ sở dữ liệu mới vào hệ thống Điều này giúp cải thiện khả năngchịu tải của ứng dụng mà không cần thay đổi cấu trúc cơ sở dữ liệu.

Truy vấn mạnh mẽ: MongoDB hỗ trợ các truy vấn phức tạp sử dụng ngôn ngữ truy vấndựa trên JSON (query language) để lấy dữ liệu theo nhiều tiêu chí.

Hỗ trợ cụm: MongoDB có khả năng hoạt động trong môi trường cụm (cluster) với nhiềumáy chủ, điều này giúp cải thiện khả năng sẵn sàng và độ tin cậy.

Thư viện và framework hỗ trợ: MongoDB có các thư viện và framework hỗ trợ chonhiều ngôn ngữ lập trình như Node.js, Python, Java, và nhiều ngôn ngữ khác, giúp bạndễ dàng tích hợp cơ sở dữ liệu MongoDB vào ứng dụng của mình.

MongoDB thường được sử dụng cho các ứng dụng web, ứng dụng di động, ứng dụngthời gian thực, và các ứng dụng yêu cầu lưu trữ và truy xuất dữ liệu phi cấu trúc mộtcách nhanh chóng và linh hoạt.

Trang 22

3.3 MySQL

MySQL là một hệ quản trị cơ sở dữ liệu (DBMS) mã nguồn mở quan hệ (RDBMS) phổbiến Nó được phát triển, hỗ trợ và duy trì bởi Oracle Corporation Dưới đây là một sốthông tin quan trọng về MySQL:

Cơ sở dữ liệu quan hệ (RDBMS): MySQL là một hệ quản trị cơ sở dữ liệu quan hệ,nghĩa là nó lưu trữ dữ liệu trong các bảng và quan hệ giữa các bảng Điều này cho phépbạn xây dựng cơ sở dữ liệu có cấu trúc và thực hiện các truy vấn phức tạp bằng ngônngữ truy vấn SQL (Structured Query Language).

Mã nguồn mở và miễn phí: MySQL là một sản phẩm mã nguồn mở, có sẵn dưới giấyphép GPL (General Public License) Điều này có nghĩa là bạn có thể tải và sử dụngMySQL miễn phí.

Hỗ trợ nhiều nền tảng: MySQL hỗ trợ nhiều hệ điều hành, bao gồm Windows, Linux,macOS và nhiều nền tảng khác Điều này giúp bạn triển khai cơ sở dữ liệu MySQL trênmôi trường phù hợp với bạn.

Phát triển và cộng đồng mạnh mẽ: MySQL có một cộng đồng phát triển lớn và tích hợpnhiều tính năng mạnh mẽ Nó cũng được hỗ trợ và duy trì bởi Oracle Corporation.Hiệu năng cao: MySQL được tối ưu hóa để cung cấp hiệu năng cao, cho phép xử lýnhiều truy vấn và kết nối đồng thời Nó có khả năng mở rộng bằng cách sử dụng cáctính năng như phân chia cơ sở dữ liệu và nhân rộng cụm (cluster).

Tính năng mở rộng và hỗ trợ kết nối từ xa: MySQL hỗ trợ tính năng mở rộng để quảnlý cơ sở dữ liệu lớn Nó cũng cho phép kết nối từ xa, giúp bạn quản lý cơ sở dữ liệu từcác máy tính khác.

Tương thích nhiều ngôn ngữ lập trình: MySQL được hỗ trợ trong nhiều ngôn ngữ lậptrình khác nhau, bao gồm PHP, Java, Python, Ruby, và nhiều ngôn ngữ khác.Bảo mật: MySQL cung cấp các tính năng bảo mật mạnh mẽ, bao gồm quản lý ngườidùng, kiểm soát truy cập và mã hóa dữ liệu.

MySQL thường được sử dụng trong các ứng dụng web, ứng dụng doanh nghiệp, ứngdụng di động và nhiều ứng dụng khác để lưu trữ và quản lý dữ liệu.

3.4 Node JS

Node.js là một môi trường thực thi mã nguồn mở được xây dựng trên JavaScript Nóđược thiết kế để chạy mã JavaScript ở phía máy chủ, cho phép bạn xây dựng ứng dụng

Trang 23

máy chủ và ứng dụng mạng nhanh chóng và hiệu quả Dưới đây là một số điểm quantrọng về công dụng của Node.js:

Xây dựng ứng dụng máy chủ: Node.js cho phép bạn xây dựng các ứng dụng máy chủ,chẳng hạn như ứng dụng web, ứng dụng API, ứng dụng thời gian thực và nhiều loại ứngdụng máy chủ khác Với Node.js, bạn có thể lập trình cả phần máy chủ và phần kháchhàng bằng cùng một ngôn ngữ - JavaScript.

Xử lý không đồng bộ (asynchronous): Node.js sử dụng kiến thức về xử lý không đồngbộ để xử lý nhiều kết nối đồng thời mà không cần tạo các luồng (threads) riêng biệt.Điều này làm cho Node.js trở thành một lựa chọn mạnh mẽ cho các ứng dụng yêu cầuxử lý đồng thời nhiều yêu cầu, chẳng hạn như ứng dụng thời gian thực và ứng dụng cótính khả dụng cao.

Nền tảng đa nhiệm (cross-platform): Node.js hoạt động trên nhiều nền tảng, bao gồmWindows, macOS và Linux Điều này giúp bạn phát triển ứng dụng một lần và triểnkhai chúng trên nhiều hệ điều hành khác nhau.

Mô-đun hóa (module): Node.js có hệ thống module mạnh mẽ cho việc tổ chức mãnguồn dễ dàng và tái sử dụng mã Bạn có thể sử dụng các module được cung cấp sẵnhoặc tạo các module riêng cho ứng dụng của mình.

Hỗ trợ thư viện và cộng đồng phát triển đầy mạnh mẽ: Node.js có một cộng đồng pháttriển lớn, và có nhiều thư viện và framework mạnh mẽ như Express.js cho việc xâydựng ứng dụng web, Socket.io cho ứng dụng thời gian thực, và nhiều thư viện khác giúpbạn phát triển ứng dụng nhanh chóng.

Sử dụng cho ứng dụng thời gian thực: Node.js rất phù hợp cho việc phát triển các ứngdụng thời gian thực như trò chơi trực tuyến, ứng dụng chat, ứng dụng cộng tác và nhiềuứng dụng khác có yêu cầu tương tác nhanh.

Node.js đã trở thành một công cụ phổ biến trong lĩnh vực phát triển máy chủ và ứngdụng web hiện đại Nó đem lại khả năng mở rộng, hiệu suất và tính linh hoạt trong việcxây dựng ứng dụng và dịch vụ web.

Trang 24

Chương 5 Thiết kế cơ sở dữ liệu

password Varchar(255) Mật khẩu người dùng

remember_token Varchar(255) Mã ghi nhớcreated_at Timestamp Thời gian tạoupdated_at Timestamp Thời gian cập nhật

Trang 25

Bảng “posts”

Tên thuộc tính Kiểu dữ liệu Ràng buộc Ý nghĩa

image Varchar(255) Hình đại diệnpublished_at Timestamp Công khaiuser_id Bigint(20) FK Mã tác giảcategory_id Bigint(20) FK Mã danh mụccreated_at Timestamp Thời gian tạoupdated_at Timestamp Thời gian cập nhậtBảng “notifications”

Tên thuộc tính Kiểu dữ liệu Ràng buộc Ý nghĩa

notifiable type Varchar(255)

notifiable id Bigint(20) FK

created_at Timestamp Thời gian tạoupdated_at Timestamp Thời gian cập nhậtBảng “provinces”

Tên thuộc tính Kiểu dữ liệu Ràng buộc Ý nghĩa

created_at Timestamp Thời gian tạoupdated_at Timestamp Thời gian cập nhậtBảng “mode_has_rolel”

Tên thuộc tính Kiểu dữ liệu Ràng buộc Ý nghĩa

model type Varchar(255) Loại modelmodel_id Bigint(20) FK Mã model

Trang 26

Bảng “company_addresses”

Tên thuộc tính Kiểu dữ liệu Ràng buộc Ý nghĩaid Bigint(20) PK Mã địa chỉ công tycompany_id Bigint(20) FK Mã công typrovince_id Bigint(20) FK Mã cấp tỉnhdistrict_id Bigint(20) FK Mã cấp huyệnward_id Bigint(20) FK Mã cấp xãcreated_at Timestamp Thời gian tạoupdated_at Timestamp Thời gian cập nhật

Tên thuộc tính Kiểu dữ liệu Ràng buộc Ý nghĩaid Bigint(20) PK Mã ngôn ngữ ứng

viêncandidate_id Bigint(20) FK Mã ứng viênlanguage_id Bigint(20) FK Mã ngôn ngữlanguage_level Int Trình độ ngôn ngữcreated_at Timestamp Thời gian tạoupdated_at Timestamp Thời gian cập nhậtBảng”company_trackings”

Tên thuộc tính Kiểu dữ liệu Ràng buộc Ý nghĩa

id Bigint(20) PK Mã theo dõi công tycompany_id Bigint(20 FK Mã công tyfollower_id Bigint(20 FK Mã theo dõi

created_at Timestamp Thời gian tạoupdated_at Timestamp Thời gian cập nhật

Trang 27

Bảng “activity_log”

Tên thuộc tính Kiểu dữ liệu Ràng buộc Ý nghĩa

log_name Varchar(255) Tên nhật ký

subject_type Varchar(255) Loại chủ đề

subject_id Bigint(20) FK Mã chủ đềcauser_type Varchar(255) Model thực thicauser_id Bigint(20) FK Mã nguồn thực thi

batch_uuid Char(36)

created_at Timestamp Thời gian tạoupdated_at Timestamp Thời gian cập nhậtBảng “wards”

Tên thuộc tính Kiểu dữ liệu Ràng buộc Ý nghĩa

district_id Bigint(20) FK Mã cấp huyệncreated_at Timestamp Thời gian tạoupdated_at Timestamp Thời gian cập nhậtBảng “companies”

Tên thuộc tính Kiểu dữ liệu Ràng buộc Ý nghĩa

user_id Bigint(20) FK Mã người dùngcompany_name Varchar(255) Tên công tyslug Varchar(255) Đường dẫn tĩnhcompany_logo Varchar(255) Logo công tycompany_adress Varchar(255) Địa chỉ công tytax_code Varchar(13) Mã số thuếbanner Varchar(255)

company_description Text Mô tả công tywebsite Varchar(255) Trang web công tycompany_size Int Quy mô công tycompany_type Varchar(255) Loại hình công tycompany_industry Varchar(255) Ngành công nghiệp công tycreated_at Timestamp Thời gian tạo

updated_at Timestamp Thời gian cập nhật

Trang 28

Bảng “skills”

Tên thuộc tính Kiểu dữ liệu Ràng buộc Ý nghĩa

created_at Timestamp Thời gian tạoupdated_at Timestamp Thời gian cập nhậtBảng “categories”

Tên thuộc tính Kiểu dữ liệu Ràng buộc Ý nghĩa

parent_id Bigint(20) FK Khóa ngoạiimage Varchar(255) Hình đại diện

created_at Timestamp Thời gian tạoupdated_at Timestamp Thời gian cập nhậtBảng “model_has_permissions”

Tên thuộc tính Kiểu dữ liệu Ràng buộc Ý nghĩapermission_id Bigint(20) PK, FK Mã quyềnmodel_type Varchar(255)

model_id Bigint(20) FKBảng “password_reset_tokens”

Tên thuộc tính Kiểu dữ liệu Ràng buộc Ý nghĩaemail Varchar(255) PK Địa chỉ email

created_at Timestamp Thời gian tạoBảng “migrations”

Tên thuộc tính Kiểu dữ liệu Ràng buộc Ý nghĩa

migration Varchar(255)batch Int(11)

Trang 29

Bảng “candidate_majors”

Tên thuộc tính Kiểu dữ liệu Ràng buộc Ý nghĩa

id Bigint(20) PK Mã chuyên ngành ứng viêncandidate_id Bigint(20) FK Mã ứng viênmajor_id Bigint(20) FK Mã chuyên ngànhcreated_at Timestamp Thời gian tạoupdated_at Timestamp Thời gian cập nhậtBảng “resumes”

Tên thuộc tính Kiểu dữ liệu Ràng buộc Ý nghĩaid Bigint(20) PK Mã sơ yếu lý lịch

created_at Timestamp Thời gian tạoupdated_at Timestamp Thời gian cập nhậtBảng “experiences”

Tên thuộc tính Kiểu dữ liệu Ràng buộc Ý nghĩa

is_active Tinyint(1) Trạng thái kích hoạtcreated_at Timestamp Thời gian tạoupdated_at Timestamp Thời gian cập nhậtBảng “degrees”

Tên thuộc tính Kiểu dữ liệu Ràng buộc Ý nghĩa

created_at Timestamp Thời gian tạoupdated_at Timestamp Thời gian cập nhậtBảng “candidate_addresses”

Tên thuộc tính Kiểu dữ liệu Ràng buộc Ý nghĩa

id Bigint(20) PK Mã địa chỉ ứng viêncandidate_id Bigint(20) FK Mã ứng viênprovince_id Bigint(20) FK Mã cấp tỉnhdistrict_id Bigint(20) FK Mã cấp huyệnward_id Bigint(20) FK Mã cấp xãcreated_at Timestamp Thời gian tạo

Trang 30

Bảng “districts”

Tên thuộc tính Kiểu dữ liệu Ràng buộc Ý nghĩa

province_id Bigint(20) FK Mã cấp tỉnhcreated_at Timestamp Thời gian tạoupdated_at Timestamp Thời gian cập nhậtBảng “permissions”

Tên thuộc tính Kiểu dữ liệu Ràng buộc Ý nghĩa

Tên thuộc tính Kiểu dữ liệu Ràng buộc Ý nghĩa

name Varchar(100) Tên chuyên ngànhshort_name Varchar(10) Tên viết tắt

created_at Timestamp Thời gian tạoupdated_at Timestamp Thời gian cập nhậtBảng”candidate_skills”

Tên thuộc tính Kiểu dữ liệu Ràng buộc Ý nghĩa

viêncandidate_id Bigint(20) FK Mã ứng viênskill_id Bigint(20) FK Mã kỹ năngcreated_at Timestamp Thời gian tạoupdated_at Timestamp Thời gian cập nhật

Trang 31

Bảng “educations”

Tên thuộc tính Kiểu dữ liệu Ràng buộc Ý nghĩa

education_name Varchar(255) Tên giao dục

institution Varchar(255) Tổ chức

created_at Timestamp Thời gian tạoupdated_at Timestamp Thời gian cập nhậtBảng “personal_access_tokens”

Tên thuộc tính Kiểu dữ liệu Ràng buộc Ý nghĩa

tokenable_type Varchar(255)tokenable_id Bigint(20)

last_used_at Timestamp Thời gian sử dụngexpiress_at Timestamp Thời gian hết hạncreated_at Timestamp Thời gian tạoupdated_at Timestamp Thời gian cập nhậtBảng “role_has_permisstions”

Tên thuộc tính Kiểu dữ liệu Ràng buộc Ý nghĩapermission_id Bigint(20) PK, FK Mã quyềnrole_id Bigint(20) PK, FK Mã vai tròBảng “education_degress”

Tên thuộc tính Kiểu dữ liệu Ràng buộc Ý nghĩa

education_id Bigint(20) FK Mã giáo dụcdegress_id Bigint(20) FK Mã bằng cấpcreated_at Timestamp Thời gian tạoupdated_at Timestamp Thời gian cập nhật

Trang 32

Tên thuộc tính Kiểu dữ liệu Ràng buộc Ý nghĩa

created_at Timestamp Thời gian tạoupdated_at Timestamp Thời gian cập nhậtBảng “failed_jobs”

Tên thuộc tính Kiểu dữ liệu Ràng buộc Ý nghĩa

uuid Varchar(255)connection Text

payload LongTextexception LongTextfailed_at Timestamp

Trang 33

Chương 6 Thiết kế giao diện

1 Giao diện người dùngGiao diện trang đăng nhập

Giao diện trang đăng ký

Trang 34

Giao diện trang đăng ký tài khoản doanh nghiệp

Trang 35

Giao diện trang tạo hồ sơ ứng viên

Trang 36

Giao diện trang chủ

Trang 38

Giao diện trang tìm việc

Giao diện trang tìm ứng viên

Trang 39

Giao diện trang nhận công việc

Trang 40

Giao diện trang chi tiết tin tuyển dụng

Ngày đăng: 13/05/2024, 10:47

Xem thêm:

w