Professional Documents
Culture Documents
ĐỒ ÁN WEBSITE TUYỂN DỤNG VÀ TÌM KIẾM VIỆC LÀM
ĐỒ ÁN WEBSITE TUYỂN DỤNG VÀ TÌM KIẾM VIỆC LÀM
Đề tài
XÂY DỰNG WEBSITE ĐĂNG TIN TUYỂN DỤNG VÀ TÌM KIẾM VIỆC
LÀM
LỜI CẢM ƠN
Nhóm tác giả xin chân thành cảm ơn các Thầy Cô Khoa Công Nghệ Thông Tin
trường Đại học Công Nghiệp Thành phố Hồ Chí Minh đã truyền đạt những bài học
và kiến thức quan trọng trong suốt quá trình nhóm theo học tại trường. Kiến thức đã
học từ thầy cô là những nền tảng để chúng em thực hiện khóa luận và được đạt
được kết quả như ngày hôm nay. Không chỉ để phục vụ cho mục đích học tập, các
kiến thức mà thầy cô đã truyền đạt sẽ còn là hành trang để chúng em vững bước
trên con đường sự nghiệp sau khi rời khỏi ghế nhà trường.
Nhóm tác giả thực hiện đề tài còn muốn bày tỏ lòng biết ơn sâu sắc và chân
thành đến ThS Trần Thị Kim Chi, Cô đã hướng dẫn tận tình, đề xuất hướng đi đúng
đắn cho nhóm và tạo mọi điều kiện thuận lợi cho nhóm trong quá trình thực hiện
khóa luận tốt nghiệp. Nhờ sự hướng dẫn của Cô mà nhóm đã tìm hiểu và tiếp cận
được với nhiều nguồn kiến thức mới, tiếp thêm động lực để nhóm không ngừng nỗ
lực và hoàn thành khóa luận tốt nghiệp một cách tốt nhất.
Nhóm tác giả cũng xin gửi lời tri ân đến gia đình, bạn bè và những người thân
đã góp phần động viên, khích lệ nhóm trong thời gian học tập và thực hiện khóa
luận tốt nghiệp. , Dành lời cám ơn đặc biệt đến bạn Nguyễn Văn Ý Thiên đã hướng
dẫn nhóm trong việc viết báo cáo tốt hơn, viết code sạch hơn.
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
Xây dựng website đăng tin tuyển dung và tìm kiếm việc làm
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
Xây dựng website đăng tin tuyển dung và tìm kiếm việc làm
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
Xây dựng website đăng tin tuyển dung và tìm kiếm việc làm
CSDL Cơ sở dữ liệu
MVC Model-View-Controller
MỤC LỤC
2.1. Các nghiên cứu liên quan (Giải pháp và kế hoạch thực hiện)............................5
Ngày nay xã hội càn phát triển kéo theo sự phát triển của khoa học kỹ
thuật , trí tuệ loài người không ngừng nâng với tầm cao mới thì Công Nghệ
Thông Tin cũng phát triển như vũ bão với hang loạt những tiện lợi phục vụ
đời sống con người ngày càng hiệu quả. Hiện nay, lĩnh vực Công Nghệ
Thông Tin bùng nổ trên toàn cầu thì các quốc gia trên thới giới đều cố gắng
áp dụng tin học vào để hiện đại hóa quy trình sản xuất kinh doanh của mình
nhằm đạt hiệu quả kinh tế cao. Đứng dưới sự phát triển đó, các công ty sản
xuất phần mềm, thiết kế website, các nhà lập trình viên cùng những người
say mê tin học đã tạo nên các trang web giúp mọi người lưu trữ, tìm kiếm và
xữ lý dữ liệu nhanh chóng, dễ dàng hơn.
Có được một công việc ổn định phù hợp với năng lực, trình độ là ước
mơ của nhiều người, tuyển đúng người đúng việc cũng là sự mong mỏi của
các nhà tuyển dụng. Do đó, vấn đề việc làm là một khâu rất quan trọng trong
đời sống cong người cần được quan tâm.
Là một sinh viên chuyên nghành Hệ Thống Thông Tin, có thời gian
học tập và tìm hiểu về phân tích thiết kế hệ thống thông tin, cơ sở dữ liệu,
những kiến thức về lập trình web,… Vận dụng kiến thức cơ bản đã học trên
trường, tìm hiểu trên Internet và qua thực tế, nhằm giải quyết vấn đề nêu trên
nên đề tài “ Xây dựng website tuyển dụng và tìm kiếm việc làm” được
thực hiện.
Mục đích của đề tài là nhằm hỗ trợ cho nhà tuyển dụng tìm được
những ứng cử viên phù hợp và người tìm việc tìm được một công việc tốt
hơn mà khong cần phải bỏ nhiều công sức.
Nước ta trở thành một nước có nền kinh tế năng động, ổn định và phát
triển khá nhanh tại thời điểm hiện tại. Tuy nhiên để thu hẹp khoảng cách giữa
Việt Nam với các nước phát triển vẫn còn rất nhiều chính sách cần chúng ta giải
quyết như : Người chưa có việc làm, thiếu việc làm ngày càng tăng, công ty và
doanh nghiệp thiếu việc làm,… Trong khi đất nước chúng ta được thế giới nhận
xét là đất nước có nguồn nhân lực đứng thứ 3 trong khu vực ASEAN vậy lý do ở
đâu ?
Hiện nay Việt Nam đang trong thời kỳ đẩy mạnh công nghiệp hóa, hiện
đại hóa đất nước do đó việc nghiên cứu chính sách giải quyết việc làm có ý
nghĩa rất thiết thực, chính sách giải quyết việc làm và chống thất nghiệp là một
trong những tiêu chí bảo đảm định hướng xã hội chủ nghĩa, là chính sách xã hội
cơ bản gớp phần đảm bảo an toàn, ổn định và phát triển xã hội.
Để tìm được một việc làm sao cho phù hợp với trình độ và năng lực của
mình là một điều không phải dễ mà phải bỏ nhiều thời gian và công sức. Nhiều
sinh viên tốt nghiệp ra trường không biết phải tìm việc ở đâu và làm sao để biết
doanh nghiệp nào tuyển dụng, đồng thời các doanh nghiệp muốn tuyển người
phù hợp với vị trí mà họ đưa ra thì họ có thể đăng tin tuyển dụng lên các phương
tiện truyền thông khác. Nhưng điều này cũng mất khá nhiều thời gian, chi phí,
công sức mà không đảm bảo được mọi người sẽ thấy thông tin này. Rất may,
hiện nay cùng với sự phát triển kinh tế thì lĩnh vực Công Nghệ Thông Tin cũng
đang phát triển không ngừng để có thể đáp ứng nhu cầu con người. Và giờ đây,
nó đã trở thành một phần không thể thiếu trong hầu hết các lĩnh vực đời sống,
kinh tế giảm thiểu chi phí, vượt qua các trở ngại về không gian và thời gian.
Áp dụng Công Nghệ Thông Tin để giúp các ứng cử viên và nhà tuyển
dụng có một kênh giao tiếp dễ dàng, nhóm tác giả quyết định chọn đề tài “ Xây
dựng webstie tuyển dụng và tìm kiếm việc làm” để thực hiện khóa luận của
mình. Website nhằm hỗ trợ cho nhà tuyển dụng tìm được những ứng cử viên
phù hợp và người tìm việc có được công việc tốt hơn mà không cần phải tốn quá
nhiều thời gian và công sức.
Với những mục tiêu đã đặt ra, mong muốn của đề tài này là xây dựng được
một website – nơi mà nhà tuyển dụng có thể tìm được ứng viên phù hợp và
người tìm việc tìm được việc như mong muốn của bản thân. Ngoài các tính năng
cần phải có của một website tìm kiếm việc làm thì tính khách quan cho website
cũng phải được quan tâm chu đáo
các nhà tuyển dụng sẽ được xếp hạng dựa trên sự quan tâm của các ứng
viên đã nộp đơn xin việc số lượng càng nhiều chứng tỏ nhà tuyển dụng
đó đứng thứ hạng càng cao. Tuy nhiên vẫn có những trường hợp được
“quan tâm” theo một cách khác đó là sự tiêu cực. Sự tiêu cực được tính
vào sự đánh giá nhà tuyển dụng mà chỉ có các ứng viên đã được chấp
nhận đơn xim việc mới được quyền đánh giá ( các đánh giá này chỉ mang
tính chất tham khảo, không nên dựa vào phần đánh giá để nhận xét lựa
chọn nhà tuyển dụng phù hợp).
Người tìm việc có thể quan tâm các nhà tuyển dụng yêu thích và được
phép đánh giá các nhà tuyển dụng đã chấp nhận đơn xin việc của bản
than. Tuy nhiên để đảm bảo danh tính của bản thân. Tất cả nhận xét đều
được hiện lên dưới dạng ẩn danh.
Đối tượng sử dụng mà nhóm tác giả hướng đến trong đề tài là tất cả đối
tượng sống tại Hồ Chí Minh bất chấp mọi lứa tuổi. Dựa trên khảo sát mà nhóm
tác giả đã nghiên cứu, các website tìm việc hiện nay vẫn còn thiếu gì đó một tính
khách quan trong việc tìm kiếm việc làm, gây ra các khó khan nhất định đối với
một vài cá nhân đã được khảo sát.
Đề tài được thực hiện tại trường Đại học Công Nghiệp Thành Phố Hồ
Chí Minh.
Đề tài được thực hiện dựa trên quy tắt chung của các website tìm kiếm
việc làm.
Tìm hiểu Laravel Framework nhằm áp dụng trong việc xây dựng website dựa
trên nền tảng này. Ứng dụng các kiến thức lập trình web để tạo được nên các
người dung có quyền khác nhau và một trang quản trị để quản lý các hành vi của
người dùng.
Nội dung báo cáo được chia thành 5 chương. Cụ thể như sau
Chương 1 trình bày tổng quan về vấn đề bài toán xây dựng website đăng tin
tuyển dụng và tìm kiếm việc làm. Đồng thời cũng đưa ra được mục tiêu, nội
dung, phương pháp nghiên cứu và giới thiệu các nghiên cứu liên quan đã được
thực hiện trước đó.
Chương 2 giới thiệu các công nghệ sẽ áp dụng vào đề tài xây dựng website
và tìm kiếm việc làm.
Chương 3 tiến hành phân tích thiết kế hệ thống và đặc tả các chức năng của
website.
Chương 4 xây dựng hệ thống website đăng tin tuyển dụng và tìm kiếm việc
làm dựa trên kiến thức cơ sở nền tảng đã tìm hiểu ở chương 2 và các phân tích
thiết kế thực hiện ở chương 3. Tiến hành việc kiểm thử website trước khi đưa
đến cho người dùng sử dụng và góp ý.
Chương 5 nêu ra kết luận, nhận xét và hướng phát triển của đề tài.
2.1. Các nghiên cứu liên quan (Giải pháp và kế hoạch thực hiện)
Ngôn ngữ, các thư viện, tài liệu gốc của PHP được xây dựng bởi cộng đồng và có
sự đóng góp rất lớn của Zend Inc., công ty do các nhà phát triển cốt lõi của PHP lập
nên nhằm tạo ra một môi trường chuyên nghiệp để đưa PHP phát triển ở quy
mô doang nhiệp.
PHP/FI2
PHP được phát triển từ một sản phẩm có tên là PHP/FI. PHP/FI do Rasmus
Lerdorf tạo ra năm 1994, ban đầu được xem như là một tập con đơn giản của
các mã kịch bản Perl để theo dõi tình hình truy cập đến bản sơ yếu lý lịch của ông
trên mạng. Ông đã đặt tên cho bộ mã kịch bản này là 'Personal Home Page Tools'.
Khi cần đến các chức năng rộng hơn, Rasmus đã viết ra một bộ thực thi bằng C lớn
hơn để có thể truy vấn tới các cơ sở dữ liệu và giúp cho người sử dụng phát triển
các ứng dụng web đơn giản. Rasmus đã quyết định công bố mã nguồn của PHP/FI
1
Ngô n ngữ PHP.
http://hoclaptrinhweb.org/lap-trinh/hoc-php/227-bai-1-gioi-thieu-ve-ngon-ngu-lap-trinh-php-va-
huong-dan-cai-dat.html
https://vi.wikipedia.org/wiki/PHP
2
PHP: https://www.php.net/ - Sử dụ ng bả n dịch: https://vi.ilovetranslation.com/
cho mọi người xem, sử dụng cũng như sửa các lỗi có trong nó đồng thời cải tiến mã
nguồn.
PHP/FI, viết tắt từ "Personal Home Page/Forms Interpreter", bao gồm một số các
chức năng cơ bản cho PHP như ta đã biết đến chúng ngày nay. Nó có các biến kiểu
như Perl, thông dịch tự động các biến của form và cú pháp HTML nhúng. Cú pháp
này giống như của Perl, mặc dù hạn chế hơn nhiều, đơn giản và có phần thiếu nhất
quán.
Vào năm1997, PHP/FI 2.0, lần viết lại thứ hai của phiên bản C, đã thu hút được
hàng ngàn người sử dụng trên toàn thế giới với xấp xỉ 50.000 tên miền đã được ghi
nhận là có cài đặt nó, chiếm khoảng 1% số tên miền có trên mạng Internet. Tuy đã
có tới hàng nghìn người tham gia đóng góp vào việc tu chỉnh mã nguồn của dự án
này thì vào thời đó nó vẫn chủ yếu chỉ là dự án của một người.
PHP/FI 2.0 được chính thức công bố vào tháng 11 năm 1997, sau một thời gian khá
dài chỉ được công bố dưới dạng các bản beta. Nhưng không lâu sau đó, nó đã được
thay thế bởi các bản alpha đầu tiên của PHP 3.0
PHP 3
PHP 3.0 là phiên bản đầu tiên cho chúng ta thấy một hình ảnh gần gũi với các phiên
bản PHP mà chúng ta được biết ngày nay. Nó đã được Andi Gutmans và Zeev
Suraski tạo ra năm 1997 sau khi viết lại hoàn toàn bộ mã nguồn trước đó. Lý do
chính mà họ đã tạo ra phiên bản này là do họ nhận thấy PHP/FI 2.0 hết sức yếu kém
trong việc phát triển các ứng dụng thương mại điện tử mà họ đang xúc tiến trong
một dự án của trường đại học. Trong một nỗ lực hợp tác và bắt đầu xây dựng dựa
trên cơ sở người dùng đã có của PHP/FI, Andi, Rasmus và Zeev đã quyết định hợp
tác và công bố PHP 3.0 như là phiên bản thế hệ kế tiếp của PHP/FI 2.0, và chấm dứt
phát triển PHP/FI 2.0.
Một trong những sức mạnh lớn nhất của PHP 3.0 là các tính năng mở rộng mạnh
mẽ của nó. Ngoài khả năng cung cấp cho người dùng cuối một cơ sở hạ tầng chặt
chẽ dùng cho nhiều cơ sở dữ liệu, giao thức và API khác nhau, các tính năng mở
rộng của PHP 3.0 đã thu hút rất nhiều nhà phát triển tham gia và đề xuất các mô đun
mở rộng mới. Hoàn toàn có thể kết luận được rằng đây chính là điểm mấu chốt dẫn
đến thành công vang dội của PHP 3.0. Các tính năng khác được giới thiệu trong
PHP 3.0 gồm có hỗ trợ cú pháp hướng đối tượng và nhiều cú pháp ngôn ngữ nhất
quán khác.
Ngôn ngữ hoàn toàn mới đã được công bố dưới một cái tên mới, xóa bỏ mối liên hệ
với việc sử dụng vào mục đích cá nhân hạn hẹp mà cái tên PHP/FI 2.0 gợi nhắc. Nó
đã được đặt tên ngắn gọn là 'PHP', một kiểu viết tắt hồi quy của "PHP: Hypertext
Preprocessor".
Vào cuối năm 1998, PHP đã phát triển được con số cài đặt lên tới hàng chục ngàn
người sử dụng và hàng chục ngàn Web site báo cáo là đã cài nó. Vào thời kì đỉnh
cao, PHP 3.0 đã được cài đặt cho xấp xỉ 10% số máy chủ Web có trên mạng
Internet.
PHP 3.0 đã chính thức được công bố vào tháng 6 năm 1998, sau thời gian 9 tháng
được cộng đồng kiểm nghiệm.
PHP 4
Vào mùa đông năm 1998, ngay sau khi PHP 3.0 chính thức được công bố, Andi
Gutmans và Zeev Suraski đã bắt đầu bắt tay vào việc viết lại phần lõi của PHP. Mục
đích thiết kế là nhằm cải tiến tốc độ xử lý các ứng dụng phức tạp, và cải tiến tính
mô đun của cơ sở mã PHP. Những ứng dụng như vậy đã chạy được trên PHP 3.0
dựa trên các tính năng mới và sự hỗ trợ khá nhiều các cơ sở dữ liệu và API của bên
thứ ba, nhưng PHP 3.0 đã không được thiết kế để xử lý các ứng dụng phức tạp như
thế này một cách có hiệu quả.
Một động cơ mới, có tên 'Zend Engine' (ghép từ các chữ đầu trong tên của Zeev và
Andi), đã đáp ứng được các nhu cầu thiết kế này một cách thành công, và lần đầu
tiên được giới thiệu vào giữa năm 1999. PHP 4.0, dựa trên động cơ này, và đi kèm
với hàng loạt các tính năng mới bổ sung, đã chính thức được công bố vào tháng 5
năm 2000, gần 2 năm sau khi bản PHP 3.0 ra đời. Ngoài tốc độ xử lý được cải thiện
rất nhiều, PHP 4.0 đem đến các tính năng chủ yếu khác gồm có sự hỗ trợ nhiều máy
chủ Web hơn, hỗ trợ phiên làm việc HTTP, tạo bộ đệm thông tin đầu ra, nhiều cách
xử lý thông tin người sử dụng nhập vào bảo mật hơn và cung cấp một vài các cấu
trúc ngôn ngữ mới.
Với PHP 4, số nhà phát triển dùng PHP đã lên đến hàng trăm nghìn và hàng triệu
site đã công bố cài đặt PHP, chiếm khoảng 20% số tên miền trên mạng Internet.
Nhóm phát triển PHP cũng đã lên tới con số hàng nghìn người và nhiều nghìn người
khác tham gia vào các dự án có liên quan đến PHP như PEAR, PECL và tài liệu kĩ
thuật cho PHP.
PHP 5
Sự thành công hết sức to lớn của PHP 4.0 đã không làm cho nhóm phát triển PHP tự
mãn. Cộng đồng PHP đã nhanh chóng giúp họ nhận ra những yếu kém của PHP 4
đặc biệt với khả năng hỗ trợ lập trình hướng đối tượng (OOP), xử lý XML, không
hỗ trợ giao thức máy khách mới của MySQL 4.1 và 5.0, hỗ trợ dịch vụ web yếu.
Những điểm này chính là mục đích để Zeev và Andi viết Zend Engine 2.0, lõi của
PHP 5.0. Một thảo luận trên Slashdot đã cho thấy việc phát triển PHP 5.0 có thể đã
bắt đầu vào thời điểm tháng 12 năm 2002 nhưng những bài phỏng vấn Zeev liên
quan đến phiên bản này thì đã có mặt trên mạng Internet vào khoảng tháng 7 năm
2002. Ngày 29 tháng 6 năm 2003, PHP 5 Beta 1 đã chính thức được công bố để
cộng đồng kiểm nghiệm. Đó cũng là phiên bản đầu tiên của Zend Engine 2.0. Phiên
bản Beta 2 sau đó đã ra mắt vào tháng 10 năm 2003 với sự xuất hiện của hai tính
năng rất được chờ đợi: Iterators, Reflection nhưng namespaces một tính năng gây
tranh cãi khác đã bị loại khỏi mã nguồn. Ngày 21 tháng 12 năm 2003: PHP 5 Beta 3
đã được công bố để kiểm tra với việc phân phối kèm với Tidy, bỏ hỗ trợ Windows
95, khả năng gọi các hàm PHP bên trong XSLT, sửa chữa nhiều lỗi và thêm khá
nhiều hàm mới. PHP năm bản chính thức đã ra mắt ngày 13 tháng 7 năm 2004 sau
một chuỗi khá dài các bản kiểm tra thử bao gồm Beta 4, RC 1, RC2, RC3. Mặc dù
coi đây là phiên bản sản xuất đầu tiên nhưng PHP 5.0 vẫn còn một số lỗi trong đó
đáng kể là lỗi xác thực HTTP.
Ngày 14 tháng 7 năm 2005, PHP 5.1 Beta 3 được PHP Team công bố đánh dấu sự
chín muồi mới của PHP với sự có mặt của PDO, một nỗ lực trong việc tạo ra một hệ
thống API nhất quán trong việc truy cập cơ sở dữ liệu và thực hiện các câu truy vấn.
Ngoài ra, trong PHP 5.1, các nhà phát triển PHP tiếp tục có những cải tiến trong
nhân Zend Engine 2, nâng cấp mô đun PCRE lên bản PCRE 5.0 cùng những tính
năng và cải tiến mới trong SOAP, streams và SPL.
PHP 6
Hiện nay phiên bản tiếp theo của PHP đang được phát triển, PHP sáu bản sử dụng
thử đã có thể được download tại địa chỉ http://snaps.php.net. Phiên bản PHP 6 được
kỳ vọng sẽ lấp đầy những khiếm khuyết của PHP ở phiên bản hiện tại, ví dụ: hỗ
trợ namespace (hiện tại các nhà phát triển vẫn chưa công bố rõ ràng về vấn đề này);
hỗ trợ Unicode; sử dụng PDO làm API chuẩn cho việc truy cập cơ sở dữ liệu,
các API cũ sẽ bị đưa ra thành thư viện PECL... Phiên bản 6 này chỉ dùng ở việc
nghiên cứu và thử nghiệm. Sau này PHP bỏ hẳn phiên bản 6 và lên 7.
PHP 7
Với việc sử dụng bộ nhân Zend Engine mới PHPNG cho tốc độ nhanh gấp 2 lần.
Ngoài ra ở phiên bản này còn thêm vào rất nhiều cú pháp, tính năng mới giúp cho
PHP trở nên mạnh mẽ hơn. Những tính năng mới quan trọng có thể kể đến như:
Về ưu điểm được giới thiệu sơ qua trong nội dung trên, chúng tôi sẽ cho bạn thấy 5
ưu điểm nổi bật nhất về ngôn ngữ PHP này:
3
Ưu điểm PHP: https://topdev.vn/blog/danh-gia-diem-manh-va-diem-yeu-cua-php/
Đầu tiên đó là PHP được sử dụng miễn phí. Là một lợi thế cực lớn cho ai muốn học
lập trình này. Các bạn có thể học và thực hành theo dạng online. Không cần phải lo
đến việc chi trả số tiền lớn để học lập trình.
Cú pháp và cấu trúc của PHP tương đối dễ dàng. Nếu bạn muốn học về ngôn ngữ
này, bạn sẽ không phải mất quá nhiều thời gian để hiểu được. Đa số các bạn lập
trình viên thường ngại với cấu trúc khó. Là một ưu điểm lớn cho mọi người quan
tâm và yêu thích hàng đầu về ngôn ngữ lập trình.
Sẽ rất dễ kiếm được việc làm với mức lương khủng. Đa số công ty thiết kế web hiện
nay đều có bộ phận PHP. Và đó là điều không thể thiếu. Ngoài ra còn có thêm các
công ty về phần mềm. Nhiều công việc lớn khác nhau, cũng như nhiều công ty khác
nhau sẽ mang lại cho bạn thu nhập đáng kể.
Không chỉ với hiện tại mà trong tương lai. ngôn ngữ lập trình này sẽ còn phát triển
mạnh me hơn nữa để khẳng định vị trí của mình luôn là cao nhất trong các bảng
khảo sát ngôn ngữ lập trình.
Tuy nhiều với ưu điểm kể trên, PHP cũng có vài nhược điểm cơ bản như sau:
PHP còn hạn chế về cấu trúc ủa ngữ pháp. Nó không được thiết kế gọn gàng và
không được đẹp mắt như những ngôn ngữ lập trình khác.
PHP chỉ có thể hoạt động và sử dụng được trên các ứng dụng trong web. Đó chính
là lý do khiến cho ngôn ngữ này khó có thể cạnh tranh được với những ngôn ngữ
lập trình khác. Nếu như muốn phát triển và nhân rộng hơn nữa trong lập trình.
PHP có cộng đồng người dùng rất lớn trên thế giới, nếu bạn cảm thấy thích ngôn
ngữ này thì có thể truy cập vào website all-fusion.com để tìm hiểu thêm nhiều thông
tin hơn về PHP. All-fusion là một trong những cộng đồng các freelancer lập trình
PHP lớn nhất hiện nay tại Việt Nam.
4
Nhượ c điểm: https://topdev.vn/blog/danh-gia-diem-manh-va-diem-yeu-cua-php/
Không phải tự nhiên mà PHP trở thành ngôn ngữ lập trình web phổ biến nhất hiện
nay, nhất là khi nó được sử dụng trong các dịch vụ thiết kế website trọn gói của
nhiều công ty lớn, đó là bởi vì tính linh hoạt của PHP, có thể chèn PHP ngay trong
code HTML hoặc viết thành những file riêng, giúp cho các lập trình viên có thể dễ
dàng quản lý code của mình.
Với khả năng tương thích với HTML5 và có thể gắn trực tiếp vào code, PHP hiển
nhiên trở thành ngôn ngữ thiết kế web phổ biến nhất hiện nay, được nhiều người sử
dụng, cũng như các ưu điểm dễ học, ứng dụng cao và phù hợp với nhiều đối tượng,
nhiều mục đích website khác nhau mà PHP ngày càng được thịnh hành, minh chứng
chính là sự phát triển của các website viết bằng PHP và sự phổ biến hơn của các
CMS như Joomla, Drupal và đặc biệt là WordPress – những mã nguồn được viết
bằng PHP càng khiến nó trở nên phổ biến hơn.
Trên đây là những chia sẻ của chúng tôi về ngôn ngữ PHP cũng như vì sao nó được
ứng dụng để thiết kế web trọn gói trong thực tế hiện nay mà không phải là bất kỳ
ngôn ngữ nào khác. Nếu bạn có ý kiến khác hoặc thắc mắc, hãy liên hệ với chúng
tôi để được giải đáp tốt nhất.
2.1.1.6. Cú pháp
PHP chỉ phân tích các đoạn mã nằm trong những dấu giới hạn của nó. Bất cứ mã
nào nằm ngoài những dấu giới hạn đều được xuất ra trực tiếp không thông qua xử lý
bởi PHP. Các dấu giới hạn thường dùng nhất là <?php và ?> , tương ứng với dấu
giới hạn mở và đóng. Các dấu giới hạn <script language="php"> và </script> cũng
đôi khi được sử dụng. Cách viết dấu giới hạn dạng thẻ ngắn cũng có thể được dùng
để thông báo bắt đầu đoạn mã PHP, là <? hay <?= (dấu này được sử dụng để in ra
(echo) các xâu ký tự hay biến) với thẻ thông báo kết thúc đoạn mã PHP là ?> .
Những thẻ này thường xuyên được sử dụng, tuy nhiên giống với những thẻ
kiểu ASP ( <% hay <%= và %> ), chúng không có tính di động cao bởi có thể bị vô
hiệu khi cấu hình PHP. Bởi vậy, việc dùng các thẻ dạng ngăn hay các thẻ kiểu ASP
không được khuyến khích. Mục đích của những dấu giới hạn này là ngăn cách mã
PHP với những đoạn mã thuộc ngôn ngữ khác, gồm cả HTML. Mọi đoạn mã bên
ngoài các dấu này đều bị hệ thống phân tích bỏ qua và được xuất ra một cách trực
tiếp.
Một ví dụ về mã PHP đã được làm nổi bật bằng màu nhúng trong HTML
Các biến được xác định bằng cách thêm vào trước một dấu đô la ($) và không cần
xác định trước kiểu dữ liệu. Không giống với tên hàm và lớp, tên biến là trường hợp
nhạy cảm. Cả dấu ngoặc kép ( "" ) và ký hiệu đánh dấu văn bản ( <<<EOF EOF; )
đều có thể dùng để truyền xâu và giá trị biến. PHP coi xuống dòng như một khoảng
trắng theo kiểu như một ngôn ngữ dạng tự do (free-form language) (trừ khi nó nằm
trong trích dẫn xâu), và các phát biểu được kết thúc bởi một dấu chấm phẩy. PHP có
ba kiểu cú pháp chú thích: /* */ cho phép một đoạn chú thích tùy ý, trong khi
đó // và # cho phép chú thích trong phạm vi một dòng.[6] Phát biểu echo là một
trong những lệnh của PHP cho phép xuất văn bản (vd. ra một trình duyệt web).
Về cú pháp các từ khóa và ngôn ngữ, PHP tương tự hầu hết các ngôn ngữ lập trình
bậc cao có cú pháp kiểu C. Các phát biểu điều kiện If (Nếu), vòng
lặp for và while , các hàm trả về đều tương tự cú pháp của các ngôn ngữ như C, C+
+, Java và Perl.
Hàm include(): đưa nội dung của một file chỉ đinh vào nội dung của file gọi nó.
Hàm strlen(): Được sử dụng để trả lại chiều dài của một chuỗi.
Hàm strpos (): được sử dụng để tìm kiếm một nhân vật / văn bản trong một
chuỗi.
Hàm phpinfo(): hiển thị chi tiết cấu hình PHP trên máy chủ
Hàm date(): Hiển thị ngày tháng theo quy tắc đã thiết lập
Hàm substr(): Tách một phần trong chuỗi.
Hàm str_word_count(): Dùng để đếm có bao nhiêu từ trong chuỗi.
Hàm str_split(): Cắt các ký tự trong chuỗi và chuyển thành dạng mảng.
Hàm echo(): In dữ liệu chuỗi ra màn hình.
2.1.2.1. Laravel là gì ?
Laravel là một PHP Framework mã nguồn mở và miễn phí, được phát triển bởi
Taylor Otwell và nhắm vào mục tiêu hỗ trợ phát triển các ứng dụng web theo kiến
trúc Model-View-Controller (MVC). Những tính năng nổi bật của Laravel bao gồm
cú pháp dễ hiểu – rõ ràng , một hệ thống đóng gói modular và quản lý gói phụ
thuộc, nhiều cách khác nhau để truy cập vào các cơ sở dữ liệu quan hệ, nhiều tiện
ích khác nhau hỗ trợ việc triển khai vào bảo trì ứng dụng.
Vào khoảng Tháng 3 năm 2015, các lập trình viên đã có một cuộc bình chọn PHP
framework phổ biến nhất, Laravel đã giành vị trí quán quân cho PHP Framework
phổ biến nhất năm 2015, theo sau lần lượt là Symfony2, Nette, CodeIgniter, Yii2
vào một số khác [4]. Trước đó, Tháng 8 năm 2014, Laravel đã trở thành project
PHP phổ biến nhất và được theo dõi nhiều nhất trên Github.
Laravel được phát hành theo giấy phép MIT, với source code được lưu trữ tại
Github.
Laravel được Taylor Otwell tạo ra như một giải pháp thay thế cho CodeIgniter, cung
cấp nhiều tính năng quan trọng hơn như xác thực và phân quyền. Taylor nhận ra
những điểm khiếm khuyết ở CodeIgniter, với tài năng và kiến thức xuất sắc về
design-pattern của mình, Taylor quyết định tự mình tạo ra một framework sao cho
thật đơn giản, dễ hiểu, hỗ trợ lập trình viên hiện thực ý tưởng một cách nhanh nhất
bằng nhiều tính năng hỗ trợ như Eloquent ORM mạnh mẽ, xác thực đơn giản, phân
trang hiệu quả, và hơn thế nữa.
Bản Laravel beta đầu tiên được phát hành vào ngày 9/6/2011, tiếp đó là Laravel 1
phát hành trong cùng tháng. Laravel 1 bao gồm các tính năng như xác thực, bản địa
hóa, model, view, session, định tuyến và các cơ cấu khác, nhưng vẫn còn thiếu
controller, điều này làm nó chưa thật sự là một MVC framework đúng nghĩa.
Laravel 2 được phát hành vào tháng 9 năm 2011, mang đến nhiều cải tiến từ tác giả
và cộng đồng. Tính năng đáng kể bao gồm hỗ trợ controller, điều này thực sự biến
Laravel 2 thành một MVC framework hoàn chỉnh, hỗ trợ Inversion of Control
(IoC), hệ thống template Blade. Bên cạnh đó, có một nhược điểm là hỗ trợ cho các
gói của nhà phát triển bên thứ 3 bị gỡ bỏ.
Laravel 3 được phát hành vào tháng 2 năm 2012, với một tấn tính năng mới bao
gồm giao diện dòng lệnh (CLI) tên “Artisan”, hỗ trợ nhiều hơn cho hệ thống quản
trị cơ sở dữ liệu, chức năng ánh xạ cơ sở dữ liệu Migration, hỗ trợ “bắt sự kiện”
trong ứng dụng, và hệ thống quản lý gói gọi là “Bundles”. Lượng người dùng và sự
phổ biến tăng trưởng mạnh kể từ phiên bản Laravel 3.
Laravel 4, tên mã “Illuminate”, được phát hành vào tháng 5 năm 2013. Lần này
thực sự là sự lột xác của Laravel Framework, di chuyển và tái cấu trúc các gói hỗ
trợ vào một tập được phân phối thông qua Composer, một chương trình quản lý gói
thư viện phụ thuộc độc lập của PHP. Bố trí mới như vậy giúp khả năng mở rộng của
Laravel 4 tốt hơn nhiều so với các phiên bản trước. Ra mắt lịch phát hành chính
thức mỗi sáu tháng một phiên bản nâng cấp nhỏ. các tính năng khác trong Laravel 4
bao gồm tạo và thêm dữ liệu mẫu (database seeding), hỗ trợ hàng đợi, các kiểu gởi
mail, và hỗ trợ “xóa mềm” (soft-delete: record bị lọc khỏi các truy vấn từ Eloquent
mà không thực sự xóa hẳn khỏi DB).
Laravel 5 được phát hành trong tháng 2 năm 2015, như một kết quả thay đổi đáng
kể cho việc kết thúc vòng đời nâng cấp Laravel lên 4.3. Bên cạnh một loạt tính năng
mới và các cải tiến như hiện tại, Laravel 5 cũng giới thiệu cấu trúc cây thư mục nội
bộ cho phát triển ứng dụng mới. Những tính năng mới của Laravel 5 bao gồm hỗ trợ
lập lịch định kỳ thực hiện nhiệm vụ thông qua một gói tên là “Scheduler”, một lớp
trừu tượng gọi là “Flysystem” cho phép điều khiển việc lưu trữ từ xa đơn giản như
lưu trữ trên máy local – dễ thấy nhất là mặc định hỗ trợ dịch vụ Amazone S3, cải
tiến quản lý assets thông qua “Elixir”, cũng như đơn giản hóa quản lý xác thực với
các dịch vụ bên ngoài bằng gói “Socialite”.
Laravel 5.1 phát hành vào tháng 6 năm 2015, là bản phát hành đầu tiên nhận được
hỗ trợ dài hạn (LTS) với một kế hoạch fix bug lên tới 2 năm vào hỗ trợ vá lỗi bảo
mật lên tới 3 năm. Các bản phát hành LTS của Laravel được lên kế hoạch theo mỗi
2 năm.
Laravel 5.8 phát hành ngày 26 tháng 2 năm 2019 với những điểm nâng cấp đáng kể
như cải thiện xác nhận email, sử dụng json trong MySQL, hỗ trợ Carbon2,...
Laravel 6 phát hành vào ngày 3 tháng 9 năm 2019 đã cải thiện hơn về Exceptions
thông qua Ignition với giao diện bắt mắt cùng với dòng phát hiện lỗi chỉ ra trong file
giao diện blade . Cải thiện tính năng Authorization Responses, …
Tốc độ xử lý nhanh: Sự ra đời của Laravel như một luồng gió mới thổi vào cộng
đồng framework PHP. Nền tảng này có thể hỗ trợ tạo nên các trang web lớn, dự án
lớn. Rất nhiều công ty công nghệ đã sử dụng nền tảng để phát triển các sản phẩm
cho công ty của họ.
Dễ sử dụng: Một trong những lý do khiến Laravel nhanh chóng được cộng đồng
người dùng đón nhận và sử dụng nhiều là do nó rất dễ để có thể sử dụng. Ngay cả
khi bạn chỉ mới chỉ có những kiến thức cơ bản nhất về lập trình web với PHP, thì
chỉ mất vài giờ là bạn có thể bắt tay vào việc làm một project nhỏ với Laravel.
Mã nguồn mở: Laravel framework được xây dựng với mã nguồn mở và hoàn toàn
miễn phí. Do đó, bạn không cần phải quan tâm đến việc trả thêm phí khi mở rộng
ứng dụng hay trang web của mình. Mỗi lần nền tảng này được cập nhật, bạn lại có
cơ hội khám phá thêm nhiều tính năng độc đáo và ứng dụng vào các sản phẩm công
nghệ mà mình đang triển khai.
Được xây dựng theo đúng chuẩn MVC: MVC là tiêu chuẩn thiết kế web, bất kì
website nào được đánh giá theo đúng chuẩn này thì đều sẽ hoạt động tốt và ít nhiều
mang lại những hiệu quả thực sự dành cho công ty, đơn vị sở hữu nó.
Mô hình MVC (Model – View – Controller) là một kiến trúc phần mềm hay mô
hình thiết kế được sử dụng trong kỹ thuật phần mềm. Nó giúp cho các developer
tách ứng dụng của họ ra 3 thành phần khác nhau Model, View và Controller. Mỗi
thành phần có một nhiệm vụ riêng biệt và độc lập với các thành phần khác. Với tiêu
chuẩn này, các cấu trúc và cách tổ chức code trong dự án sẽ được sắp xếp một cách
hợp lý dễ dàng cho việc duy trì cũng như phát triển về lâu dài.
Có tích hợp sẵn nhiều tính năng: Bản thân Laravel đã cung cấp cho người dùng
rất nhiều các nhóm tính năng giúp quá trình phát triển trở nên nhanh chóng hơn rất
nhiều lần.
Module đa dạng: Laravel được xây dựng dựa trên hơn 20 thư viện khác nhau. Hiểu
được cách thiết kế framework khiến các lập trình viên hoàn toàn có thể đóng góp
cho framework cũng như mở rộng chúng một cách dễ dàng.
Tính bảo mật cao: Theo ý kiến của nhiều chuyên gia, Laravel Framework được
đánh giá là có độ bảo mật cao hơn nền tảng WordPress. Để giúp lập trình viên có
thể tối đa thời gian tập trung vào việc phát triển các tính năng mình cần, Laravel đã
cung cấp sẵn cho người dùng các tính năng bảo mật cơ bản như:
ORM của Laravel sử dụng PDO thay vì mysqli để chống lại tấn công
SQL Injection;
Laravel sử dụng một field token ẩn để chống lại tấn công kiểu CSRF;
Các biến được đưa ra view mặc định đều được Laravel escape để tránh
tấn công XSS.
Do đó, khi thiết kế web với Laravel, bạn không cần quá lo lắng về khả năng bảo mật
hay mất nhiều thời gian để cài đặt hay tối ưu thêm cho tính năng này. Tất cả đã có
sẵn với Laravel.
Cộng đồng người dùng rộng lớn: Như nhiều nền tảng mã nguồn mở khác, Laravel
Framework cũng có cộng đồng người dùng rộng lớn và sẵn sàng hỗ trợ bạn trong
quá trình thiết lập và vận hành dự án. Đặc biệt việc fix bug hay tìm lỗi trở nên
nhanh chóng, dễ dàng và tiết kiệm thời gian hơn rất nhiều.
Hosting
Với môi trường hosting thì các bạn sử dụng trình FTP để upload source code của dự
án mình. Thông thường là public_html hoặc public. Có thể sẽ mất một khoảng thời
gian khá lâu, tuỳ thuộc vào tốc độ internet. Vì dung lượng bộ code laravel khá lớn,
nên upload hết toàn bộ, kể cả thư mục vendor ( nặng nhất).
Sau khi upload xong, giờ chúng ta tiến hành cấu hình cho website. Copy 2 file
public/index.php và public/.htaccess ra ngoài thư mục gốc hosting của bạn. Sau khi
copy xong, giờ chúng ta cần chỉnh lại đường dẫn trong file index.php này tý.
require __DIR__.’/../bootstrap/autoload.php’;
require __DIR__.’/public_html/bootstrap/autoload.php’;
Bây giờ cần Export Database ở localhost rồi Import lên hosting. Sau đó chỉnh sửa
các thông số kết nối tới Database trên hosting. Tất cả ở trong file .env . Cuối cùng
bạn chỉnh permission cho thư mục storage với quyền 755 .
VPS
Deploy website laravel lên vps cực kỳ đơn giản. Cách tốt nhất là lưu trữ source code
trên Git. Cài đặt web domain xong, vào thư mục gốc, sau đó sử dụng lệnh git
clone repository về server. Chờ đợi nó tải về xong, và config. Tiếp theo chạy lệnh
composer install cho dự án nếu đây là lần đầu tiên, những lần sau chỉ cần chạy
composer update thôi nếu có cài đặt package nào mới. Tiếp theo bạn chạy
cp .env.example .env để copy những thông số config cho dự án. Sở dĩ phải chạy 2
lệnh trên. Vì làm việc với Git chúng ta sẽ ignore thư mục vendor và file .env Tiếp
tục chạy tiếp lệnh php artisan key:generate để tạo key mới dự án. Nếu website có sử
dụng php artisan migrate và php artisan db:seed thì cứ chạy các lệnh đó cho server
().Chỉnh sửa các thông số kết nối tới Database của server là xong. Cần phải chmod
cho thư mục storage: chmod -R 755 storage.
là 1 plugin Jquery vô cùng tuyệt vời, giúp chúng ta hiển thị danh sách các bản ghi,
phân trang, tìm kiếm, order, limit.... với tốc độ rất nhanh và tích hợp tất cả trong
một. Và DataTable có 2 kiểu xử lý dữ liệu là Client-side progressing và Server-side
progressing. Cụ thể thì Client-side progressing có nghĩa là toàn bộ dữ liệu được tải
lên sẵn và thư viện DataTable sẽ làm việc còn lại là xử lý tìm kiếm, phân trang,
order.... Như vậy ta có thể thấy ngay kiểu xử lý dữ liệu thế này chỉ phù hợp với một
lượng dữ liệu nhỏ, nếu dữ liệu lớn ta không thể tải chúng cùng một lúc lên trình
duyệt được. Theo khuyến cáo nếu có dưới 10.000 bản ghi thì ta có thể sử dụng
Client-side progressing tuy nhiên nếu ta có khoảng 100.000 bản ghi thì đó là chuyện
khác. Việc tải 100.000 bản ghi lên trình duyệt trước là một thảm họa, nó có thể gây
treo trình duyệt của bạn và đây là lúc bạn nghĩ đến kiểu xử lý dữ liệu thứ 2 của
DataTables đó là Server-side progressing. Hiểu đơn giản là mỗi lần ta thực hiện 1
thao tác tìm kiếm, order hay nhảy sang trang mới thì đều cần gửi request ajax lên
server để tải về tập dữ liệu phù hợp và DataTables sẽ phụ trách việc hiển thị nó lên
trình duyệt.
$users = User::select([‘id’,’name’,’email’]);
Return Datatables::of($users)->make();
Query Builder:
$users = DB::table(‘users’)->select([‘id’,’name’,’email’]);
Return Datatables::of($users)->make();
Collection:
$users = User::select([‘id’,’name’,’email’])->get();
Return Datatables::of($users)->make();
Như vậy ta thấy chỉ có cách lấy dữ liệu khác nhau còn cách dùng đều tương tự.
Mục này là để chỉnh sửa dữ liệu khi hiển thị ra table trong đó có thêm, sửa xóa cột.
Ví dụ để thêm 1 cột là cột Action chứa 2 button view và delete đồng thời với cột
hiển thị ảnh avatar thì ta cần sửa với dữ liệu gốc là link avatar và dữ liệu sau khi sửa
là thẻ img chứa ảnh đó:
Trong đó có hàm rawColumns mục đích để hiển thị các thẻ html mà mình đã thêm
vào vì mặc định Laravel DataTables sẽ escapse hết toàn bộ kí tự html để chống XSS
attack. Và kết quả hiển thị ra sẽ như thế này cho dễ hình dung:
Tương tự như Column thì Row Editing sẽ là chỉnh sửa thông tin từng hàng. Ví dụ
như set row id, row class, row data, row attributes.
2.1.3.3. Searching
Ở phần này ta có thể config cho phần search. Ví dụ có một cột fullname mình tự
thêm bằng cách nối first name và last name thì khi search nó sẽ không thể tự search
được.
Hoặc ở một case khác mình muốn thêm 1 ô search riêng để search email.
2.1.3.4. Sorting/Ordering
Phần này ta có thể viết lại để custom cho việc order các field trong database. Ví dụ
khi ta click vào cột fullname ở trên thì ta chỉ muốn order theo last name trong
database thôi thì ta sẽ viết như sau:
MVC là từ viết tắt bởi 3 từ Model – View – Controller. Đây là mô hình thiết kế sử
dụng trong kỹ thuật phần mềm. Mô hình source code thành 3 phần, tương ứng mỗi
từ. Mỗi từ tương ứng với một hoạt động tách biệt trong một mô hình.
Để hiểu rõ hơn, sau đây chúng ta sẽ cùng đi phân tích từng thành phần:
Hình 2.1.2 Mô hình MVC và các thành phần bên trong của MVC.
Model (M):
Là bộ phận có chức năng lưu trữ toàn bộ dữ liệu của ứng dụng. Bộ phận này là một
cầu nối giữa 2 thành phần bên dưới là View và Controller. Model thể hiện dưới hình
thức là một cơ sở dữ liệu hoặc có khi chỉ đơn giản là một file XML bình thường.
6
Mô hình MVC:
https://techtalk.vn/php-va-mo-hinh-mvc.html
https://vi.wikipedia.org/wiki/MVC
https://www.codehub.vn/MVC-Model-View-Controller-La-Gi
Model thể hiện rõ các thao tác với cơ sở dữ liệu như cho phép xem, truy xuất, xử lý
dữ liệu,…
View (V):
Đây là phần giao diện (theme) dành cho người sử dụng. Nơi mà người dùng có thể
lấy được thông tin dữ liệu của MVC thông qua các thao tác truy vấn như tìm kiếm
hoặc sử dụng thông qua các website.
Thông thường, các ứng dụng web sử dụng MVC View như một phần của hệ thống,
nơi các thành phần HTML được tạo ra. Bên cạnh đó, View cũng có chức năng ghi
nhận hoạt động của người dùng để tương tác với Controller. Tuy nhiên, View
không có mối quan hệ trực tiếp với Controller, cũng không được lấy dữ liệu từ
Controller mà chỉ hiển thị yêu cầu chuyển cho Controller mà thôi.
Ví dụ: Nút “delete” được tạo bởi View khi người dùng nhấn vào nút đó sẽ có một
hành động trong Controller.
Controller (C):
Bộ phận có nhiệm vụ xử lý các yêu cầu người dùng đưa đến thông qua view. Từ đó,
C đưa ra dữ liệu phù hợp với người dùng. Bên cạnh đó, Controller còn có chức năng
kết nối với model.
Hình 2.1.3 Luồng tương tác giữa các thành phần trong MVC.
Ví dụ: Chức năng thêm bài viết mới trong trang quản trị website. Nơi đây có 2
trường nhập về tiêu đề và nội dung bài viết, thì trong đó:
- View sẽ hiển thị ra phần nhập form tiêu đề và nội dung.
- Controller lấy dữ liệu từ 2 trường và gửi tới Model.
- Model lúc này sẽ nhận dữ liệu từ Controller để lưu trữ trong cơ sở dữ
liệu.
Mỗi bộ phận thực hiện chức năng nhất định, nhưng chúng có sự thống nhất, liên kết
với nhau tạo nên mô hình MVC. Mô hình này tương đối nhẹ. Nó có thể tích hợp
được nhiều tính năng có trong ASP.NET hiện giờ. Ví dụ như authentication (quá
trình xác thực).
Bạn có thể hình dung, khi một yêu cầu từ máy client gửi tới server, Controller sẽ
thực hiện nhiệm vụ của mình đó là tiếp nhận và xử lý yêu cầu. Trong trường hợp
cần thiết, nó có thể liên hệ Model – bộ phận làm việc với database để hỗ trợ.
Khi xử lý xong yêu cầu, kết quả sẽ được trả về View. Tại View sẽ tạo mã HTML
thành giao diện và trả về hiển thị trên trình duyệt.
2.1.4.3. Ưu điểm
Nhẹ, tiết kiệm băng thông: MVC không sử dụng viewstate nên khá tiết kiệm diện
tích băng thông. Khi sử dụng, người dùng có thể sử dụng ứng dụng trên web cần
tương tác gửi và nhận dữ liệu một cách liên tục. Do đó, việc giảm băng thông giúp
cho website hoạt động tốt và ổn định hơn.
MVC thường được sử dụng vào những dự án lớn. Do đó, với các dự án nhỏ, mô
hình MVC có thể gây cồng kềnh, tốn thời gian trong quá trình phát triển cũng như
thời gian trung chuyển dữ liệu.
Mô hình MVC được ứng dụng trong nhiều ngôn ngữ lập trình khác nhau, nhưng
phổ biến nhất là ứng dụng ASP.NET MVC hay PHP MVC.
Hình 2.1.5 MVC đang là mô hình được ứng dụng rất nhiều trong lập trình.
Hệ thống MVC phát triển tốt sẽ cho phép phát triển front – end, back – end cùng
trên hệ thống mà không có sự can thiệp, chia sẻ, chỉnh sửa các tập tin trong khi một
hoặc hai bên vẫn đang làm việc.
Việc sử dụng mô hình tương đối đơn giản. Chỉ cần hiểu rõ quy trình vận hành, nắm
được các chức năng của từng bộ phận thì việc triển khai mô hình MVC tương đối
dễ dàng.
Trên đây là một số kiến thức cơ bản về mô hình MVC. Hi vọng bài viết trên đây
của Mona Media sẽ giúp bạn hiểu rõ hơn về MVC và ứng dụng một cách hiệu quả.
2.1.5.1. MySQL là gì ?
MySQL là hệ quản trị cơ sở dữ liệu tự do nguồn mở phổ biến nhất thế giới và được
các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng. Vì MySQL là
hệ quản trị cơ sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển, hoạt
động trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất mạnh.
Với tốc độ và tính bảo mật cao, MySQL rất thích hợp cho các ứng dụng có truy cập
CSDL trên internet. Người dùng có thể tải về MySQL miễn phí từ trang chủ.
MySQL có nhiều phiên bản cho các hệ điều hành khác nhau: phiên bản Win32 cho
các hệ điều hành dòng Windows, Linux, Mac OS
X, Unix, FreeBSD, NetBSD, Novell NetWare, SGI Irix, Solaris, SunOS,..
MySQL là một trong những ví dụ rất cơ bản về Hệ Quản trị Cơ sở dữ liệu quan hệ
sử dụng Ngôn ngữ truy vấn có cấu trúc (SQL).
MySQL được sử dụng cho việc bổ trợ NodeJs, PHP, Perl, và nhiều ngôn ngữ khác,
làm nơi lưu trữ những thông tin trên các trang web viết bằng NodeJs, PHP hay
Perl,...
Dựa trên các website tìm kiếm việc làm phổ biến khác các chức năng cơ bản vẫn
phải thực hiên như sau :
Người dùng tạo tài khoản có thể chọn quyền Nhà tuyển dụng hoặc
người tìm việc chỉ cần tên tài khoản, email, mật khẩu.
Sau đó sẽ được dẫn đến trang cập nhật thông tin , cần phải xác thực
qua email để tranh tài khoản giả mạo
7
Cơ sở dữ liệu MySQL:
https://vi.wikipedia.org/wiki/MySQL
https://www.youtube.com/watch?v=95czzJbWytA - GV Phan Vă n Cương.
http://sqladvice.com/mysql-la-gi-tong-quan-ve-he-quan-tri-du-lieu-mysql/
Nhà tuyển dụng có thể đăng tin tuyển dụng và xem được thông tin của
các ứng viên.
Người tìm việc có thể tìm kiếm việc làm và nộp đơn xin việc
Người tìm việc có thể quan tâm và đánh giá nhà tuyển dụng
Người quản trị website có quyền hành cao nhất, có thể xóa tin tuyển
dụng, hạng chế quyền hạng của người dùng nếu thấy người dùng có
những hành động bất thường.
Chức năng Đối tượng tham gia Quá trình thực hiện
Đăng tin Nhà tuyển dụng, Nhà tuyển dụng gửi tin tuyển dụng và các
admin. giấy tờ cần thiết để admin xét duyệt, sau
khi xét duyệt sẽ đăng tin tuyển dụng lên.
Lưu việc Người tìm việc (khách Người tìm việc (khách hàng thành viên)
hàng thành viên). nhấn nút “Lưu việc” và hệ thống sẽ lưu
thông tin công việc lại.
Duyệt tin Nhà tuyển dụng, Sau khi nhận thông tin tuyển dụng từ nhà
admin. tuyển dụng, admin xem xét, tiến hành
duyệt tin hoặc không và thông báo được
trả về cho nhà tuyển dụng.
Nộp đơn Người tìm việc (khách Người tìm việc tiến hành thao tác nộp
hàng thành viên). đơn và CV được gửi đến hộp thư của nhà
tuyển dụng.
Tìm kiếm Tìm thông tin cá nhân: Tìm thông tin cá nhân: nhà tuyển dụng
nhà tuyển dụng. nhập vào ô tìm kiếm thông tin cá nhân,
Tìm kiếm thông tin nhà hệ thống sẽ trả về danh sách những người
tuyển dụng: Khách tìm được theo từ khóa để nhà tuyển dụng
vãng lai, khách hàng xem thông tin chi tiết.
thành viên. Tìm thông tin nhà tuyển dụng: Khách
vãng lai hoặc khách hàng thành viên nhập
vào ô tìm kiếm thông tin nhà tuyển dụng.
Hệ thống sẽ trả về danh sách tìm được để
Quản lý Quản trị viên. Quản trị viên tiến hành các thao tác liên
quan đến quản lý tài khoản, quản lý danh
mục bao gồm thêm, xóa, cập nhật.
Quản lý tin Nhà tuyển dụng. Nhà tuyển dụng thực hiện được các thao
tuyển dụng tác quản lý tin tuyển dụng (thêm, xóa,
sửa), xem CV, xem đơn xin việc.
Xem tin Khách vãng lai, khách Tất cả actor và admin đều có thể xem tin
tuyển dụng hàng thành viên, Nhà tuyển dụng. Tuy nhiên khách vãng lai sẽ
tuyển dụng, admin. không xem được mức lương.
Thêm người Nhà tuyển dụng. Nhà tuyển dụng có thể lưu lại thông tin
tìm việc những người tìm việc tiềm năng để tuyển
dụng khi họ cần.
Thêm nhà Người tìm việc (khách Khách hàng thành viên có thể lưu lại
tuyển dụng hàng thành viên). thông tin các nhà tuyển dụng ưa thích để
theo dõi và nộp đơn khi mong muốn.
Quản lý Nhà tuyển dụng, khách Nhà tuyển dụng và khách hàng thành
thông tin cá hàng thành viên. viên có thể thực hiện các thao tác quản lý
nhân như: thêm, xóa, sửa thông tin cá nhân
theo ý muốn.
Xem xếp Khách hàng thành viên. Khách hàng thành viên có thể xem xếp
hạng nhà hạng các nhà tuyển dụng để nắm phần
tuyển dụng nào thông tin về nhà tuyển dụng, đáp ứng
nhu cầu chất lượng khi tìm việc.
Quản trị viên – Người quản trị website sẽ được cấp tài khoản trước đó để vào quản
trị trang web. Tài khoản này có quyền cao nhất. quản lý toàn bộ quyền hạn của tài
khoản thành viên. Có thể cấm theo ngày tháng hoặc vĩnh viễn đối với tài khoản có
biểu hiện khác thường. xem và thay đổi trực tiếp thông tin của tài người dùng. Trực
tiếp xét duyệt đăng tin tuyển dụng của nhà tìm việc và có thể xóa các bài đăng tin
tuyển dụng đã quá thời hạn cho phép.
Khách vãng lai có thể xem thông tin cơ bản của website như : việc làm được đăng
vào thời gian nào, các yêu cầu cần thiết khi ứng tuyển vào công việc đó,… Tuy
nhiên sẽ bị hạn chế những số chức năng nhất định của Người tìm việc và Nhà
Tuyển dụng.
Khách vãng lai có thể đăng ký tài khoản Người tìm việc hoặc Nhà tuyển dụng tùy
thuộc vào nhu cầu. Các bước đăng ký tài khoản phải hết sưc tối giản, chỉ cần đăng
ký email, tài khoản, mật khẩu là được. Nhưng để thực hiện các chức năng cần phải
thêm các thông tin bắt buộc mới được quyền sử dụng.
Sau khi cung cấp đầy đủ thông tin các người dung sẽ được sử dụng đầy đủ các
quyền sau đây:
Người tìm việc : được phép xem mức lương của các tin tiềm việc, thêm các Nhà
tuyển dụng yêu thích vào danh sách quan tâm, nộp đơn tuyển dụng, xem được thông
tin, đánh giá của các công ty, đánh giá các công ty đã nộp đơn và được xác nhận
dưới sự ẩn danh,…
Sau khi Người tìm việc nộp đơn thì sẽ không được phép hủy đơn và nộp lại lần nữa
(tránh được tình trạng nộp đơn quá nhiều cùng một công ty ), các đánh giá không
được phép sửa sau khi đăng và chỉ có bản thân chủ nhân của đánh giá đó mới biết
được danh tính. Người tìm việc còn có thể thêm các Nhà tuyển dụng vào danh sách
quan tâm của bản thân
Nhà tuyển dụng : đăng tin tuyển dụng, thêm các ứng viên nổi bật vào danh sách
quan tâm, lọc đơn xin việc của các ứng viên,…
Tối đa nhà tuyển dụng mỗi tuần chỉ được phép duyệt 5 đơn xin việc, 5 tin tuyển
dụng trong vòng một tháng.
Hệ thống phải có chức năng xếp hạng các nhà tuyển dụng được quan tâm nhiều
nhất, được đánh giá cáo ( thấp).
Do website hướng tới mọi đối tượng người dùng có nhu cầu tìm việc nên website
phải tương thích được với nhiều thiết bị.
Website phải có giao diện đơn giản nhưng cũng phải phù hợp với thời đại bây giờ.
Danh sách tin tuyển dụng rút gọn cần phải hiện đầy đủ các thông tin cần thiết : mức
lương, tiêu đề, vị trí cần tuyển, địa điểm làm việc.
Các đánh giá cần phải dưới dạng ẩn danh để đảm bảo danh tính của người tìm việc .
Đối với Nhà tuyển dụng thì đánh giá đó chỉ mang tính chất tham khảo. không ảnh
hưởng.
Người tìm việc chỉ cần nộp sơ yếu lý lịch bản thân (CV) và lý do tại sau Nhà tuyển
dụng phải chọn mình. Các giấy tờ còn lại sẽ do Nhà tuyển dụng quyết định khi chấn
nhập đơn tuyển dụng.
Cần có sự tương tác giữa các nhà tuyển dụng, admin và người tìm việc.
Luôn kiểm duyệt thông tin, xác nhận độ chính xác thông tin để tăng độ tin cậy và
tính an ninh cho công việc tuyển dụng.
Có khả năng quản lý thông tin theo từng nhóm, từng đối tượng sử dụng.
Tương thích: Hệ thống có thể được sử dụng trên nhiều trình duyệt,
nhiều hệ điều hành và nhiều thiết bị thông minh khác nhau (có hỗ trợ
Javascript).
Khả dụng: Hệ thống đáp ứng được nhu cầu của người dùng hệ thống (
Người tìm việc, Nhà tuyển dụng ).
Tin cậy: Hệ thống xử lý nhập xuất các dữ liệu chính xác và hạn chế
được tối đa lỗi có thể xảy ra trong quá trình sử dụng
An toàn thông tin: Thông tin của người dùng được lưu trữ phải được
bảo mật, tránh bị bên thứ 3 khai thác và sử dụng thông tin vào mục
đích riêng.
Xác thực thông tin: Các thông tin về việc làm và thông tin nhà tuyển
dụng trên website đều phải đạt được độ chính xác và độ xác thực cao.
Ngoài ra mã nguồn hệ thống còn phải đảm bảo được tính cấu trúc
chặt
chẽ và có khoa học để việc cập nhật, cài đặt hệ thống được thực hiện
dễ dàng bởi các lập trình viên đang góp phần vào xây dựng website.
- Đăng ký/Đăng nhập: Người dùng vãng lai có thể sử dụng chức năng đăng
ký của website để tạo một tài khoản thành viên và sử dụng các chức năng
cơ bản của thành viên sau khi đăng nhập như các chức năng của Nhà
tuyển dụng và Người tìm việc.
- Đọc tin tuyển dụng: Người dùng vãng lai có thể truy cập vào mục xem tin
tuyển dụng mà không được xem mức lương.
- Quản lý thông tin cá nhân: Người tìm việc có thể thực hiện các chức năng
quản lý thông tin cá nhân của mình như sửa thông tin tài khoản, xem
thông tin tài khoản.
- Đổi mật khẩu: Người tìm việc có thể thực hiện đổi mật khẩu hiện tại sang
mật khẩu mới.
- Xem tin tuyển dụng: được hiển thị đầy đủ các thông tin có trên tin tuyển
dụng.
- Nộp đơn tuyển dụng : sau khi xem tin tuyển dụng, nếu cảm thấy phù hợp
với khả năng và mục đích thì Người tìm việc có quyền xem xét nên nợp
đơn tuyển dụng hay không.
- Nhận xét Nhà tuyển dụng: Người tìm việc có thể xem các đánh giá trước
đó và có thể tự bản thân mình nhận xét nhưng với một điều kiện là Nhà
tuyển dụng này đã chấp nhận đơn xin việc của Người tìm việc này trước
đó.
- Xem danh sách Nhà tuyển dụng: Người tìm việc có thể xem danh sách
Nhà tuyển dụng theo độ quan tâm.
- Thêm Nhà tuyển dụng vào danh sách quan tâm : sau khi xem danh sách,
Người tìm việc có thể thêm nhà tuyển dụng vào danh sách quan tâm.
- Đăng tin tuyển dụng : Nhà tuyển dụng có quyền đăng tin tuyển dụng, mỗi
tuần được phép đăng tối đa 5 tin tuyển dụng.
- Xem các đơn tuyển dụng :có thể xem các đơn tuyển dụng đã được nộp
vào tin tuyển dụng
- Xác nhận các đơn tuyển dụng : Nhà tuyển dụng có thể sàn lọc các đơn
tuyển dụng phù họp nhất đối với nhu cầu tuyển dụng. Giống như đăng tin
tuyển dụng , xác nhận đơn tuyển dụng tối đa 5 tuần trên lần. Vì thế, nhà
tuyển dụng cần suy nghĩ kỹ trước khi xác nhận.
- Thêm các ứng viên tiềm năng vào danh sách quan tâm : Nhà tuyển dụng
có quyền xem hồ sơ các nhân của Người tìm việc. xem xét và có thể đưa
họ vào danh sách quan tâm, để sau này người tìm việc này sẽ đươc ưu
tiên.
- Quản lý tin tuyển dụng : Nhà tuyển dụng có quyền thêm, chỉnh sửa hoặc
xóa tin tuyển dụng mà họ đã đăng.
- Chỉnh sửa thông tin cá nhân: Nhà tuyển dụng đươc quyền chỉnh sửa
thông tin cá nhân, ngoại trừ tên tài khoản là không thể thay đổi được.
- Xem bảng thống kê: Xem các chỉ số thông kê cơ bản về các dữ liệu của
hệ thống đăng tin tuyển dụng và tình trạng của đơn tuyển dụng, bảng xếp
hạng nhà tuyển dụng.
- Quản lý tài khoản: Quản lý thông tin của các tài khoản trong hệ thống và
thực hiện các chức năng thêm, sửa, xóa.
- Quản lý danh mục: Thực hiện các tác vụ quản lý danh mục cho bài viết
bao gồm cả thêm, sửa, xóa.
- Quản lý quyền hạn: Quản lý thông tin các quyền hạn của từng nhóm
người dùng trong hệ thống. Thực hiện chức năng thêm, sửa.
- Kiểm tra tin tuyển dụng : kiểm tra thời gian tin tuyển dụng hết hạn, xóa
tin tuyển dụng đó và cập nhật lại các tin tuyển dụng
3.4. Sơ đồ Usecase
Những chức năng include vào chức năng “Đăng nhập”: Xem thông tin nhà tuyển
dụng, Xem chi tiết tin, Nộp đơn, Quản lý thông tin cá nhân, Xem thông tin
người tìm việc, Quản lý hồ sơ người xin việc, Đăng tin tuyển dụng.
3.5.1. Đăng ký
3.5.1.1. Đặc tả
Mô tả Đây là chức năng khách vãng lai dùng để đăng ký tạo tài khoản.
3.5.1.2. Activity:
Mô tả Khách vãng lai đăng nhập vào hệ thống với tài khoản và quyèn
đã đăng ký trước đó
Luồng sự kiện
chính
1. Khách vãng lai nhấn nhút đăng nhập
2. Form đăng nhập hiển thị yêu cầu khách vãng lai nhập
đầy đủ thông tin tài khoản và mật khẩu.
3. Khách vãng lai nhập tài khoản và mật khẩu.
4. Nhấn nút đăng nhập.
5. Hệ thống kiểm tra tài khoản và mật khẩu tài khoản đó đã
có trên cơ sỡ dữ liệu hay không.
6. Kiểm tra thành công. Hiển thị thông báo đăng nhập
thành công.
7. Chuyển hướng về trang chủ
Luồng sự kiện phụ 6.1. Kiểm tra thất bại. Hiển thị thông báo đăng nhập thất
bại, yêu cầu đối tượng đăng nhập lại
7.1. Nếu tài khoản lần đầu tiên đăng nhập thì chuyển hướng
đến trang cập nhật thông tin cá nhân
Hậu điều kiện Đăng nhập thành công vào hệ thống. Được sử dụng các quyền
của tài khoản đăng ký
3.5.2.2. Activity:
3.5.2.3. Sequence
3.5.3.1. Đặc tả
Mô tả Đối tượng cần quản lý thông tin cá nhân thì dùng chức năng
này.
Tiền điều kiện Đăng nhập tài khoản thành viên thành công.
Luồng sự kiện phụ 4.1. Hệ thống kiểm tra thông tin thất bại, thông tin bị thiếu
hoặc sai các dữ liệu quan trọng như họ tên, ngày tháng năm
sinh, giới tính…
Hậu điều kiện Người dùng và nhà tuyển dụng cập nhật thông tin thành công.
3.5.3.2. Activity
3.5.3.3. Sequence
3.5.4.1. Đặc tả
Mô tả Người tìm việc và nhà tuyển dụng có thể xem thông tin cá nhân
hoặc của người khác.
Tiền điều kiện Đăng nhập tài khoản thành viên thành công.
Hậu điều kiện Đã xem được thông tin cá nhân theo ý muốn.
3.5.4.2. Activity
3.5.4.3. Sequence
Hình 3.5.14 Sequence xem thông tin cá nhân người tìm việc
Nhà tuyển dụng
Hình 3.5.15 Sequence xem thông tin cá nhân nhà tuyển dụng
3.5.5.1. Đặc tả
Mô tả Dùng để tìm kiếm thông tin của thành viên, hoặc các tin tuyển
dụng liên quan đến ngành nghề mà đối tượng muốn.
Hậu điều kiện Người dùng tìm thấy được thông tin tuyển dụng có liên quan.
3.5.5.2. Activity
3.5.5.3. Sequence
3.5.6.1. Đặc tả
Mô tả Cho phép đối tượng nộp đơn xin việc đối với tin tuyển dụng phù
hợp.
Tiền điều kiện Người tìm việc đã tìm được tin tuyển dụng phù hợp.
Hậu điều kiện Người tìm việc nộp đơn xin việc thành công.
3.5.6.2. Activity
3.5.6.3. Sequence
3.5.7.1. Đặc tả
Mô tả Nhà tuyển dụng có thể xem tình trạng các đơn xin việc.
Tiền điều kiện Người tìm việc đã nộp đơn tuyển dụng .
Luồng sự kiện 1. Nhà tuyển dụng chọn chức năng quản lý đơn xin việc
chính trong trang cá nhân.
2. Hiển thị danh sách đơn xin việc
3. Nhà tuyển dụng có thể chấp nhận đơn tuyển dụng hoặc
từ chối
4. Hệ thống thông báo thành công. Tải lại trang quản lý đơn
xin việc
Luồng sự kiện phụ
Hậu điều kiện Nhà tuyển dụng có thể chấp nhận được các đơn xin việc phù
hợp
3.5.7.2. Activity
3.5.7.3. Sequence
3.5.8.1. Đặc tả
Tiền điều kiện Đăng nhập thành công, và cập nhật đầy đủ thông tin cá nhân cần
thiết.
Luồng sự kiện 1. Nhà tuyển dụng nhấn nút đăng tin tuyển dụng.
chính 2. Hệ thống chuyển đến trang đăng tin tuyển dụng.
3. Nhà tuyển dụng nhập các thông tin cần thiết ( vị trí, mức
lương,địa điểm, mô tả công việc,…).
3.5.8.2. Activity
2.5.8.2. Sequence
3.5.9.1. Đặc tả
Mô tả Chức năng dùng để xem đươc thông tin tuyển dụng đầy đủ và
chi tiết hơn.
Luồng sự kiện 1. Người tìm việc tìm kiếm các tin tuyển dụng cần thiết.
chính 2. Hiển thị các tin tuyển dụng tìm được.
3. Người tìm việc chọn tin tuyển dụng cần xem thông tin chi
tiết.
4. Hệ thống hiển thị đầy đủ thông tin chi tiết ( tên công ty, vị
trí, mức lương, mô tả công việc,…).
Luồng sự kiện
phụ
Hậu điều kiện Xem được chi tiết thông tin của tin tuyển dụng.
3.5.9.2. Activity
3.5.9.3. Sequence
3.5.10.1. Đặc tả
Mô tả Chức năng dùng cho người tìm việc lưu các tin tuyển dụng để
nộp đơn sau.
Tiền điều kiện Người tìm việc đang xem chi tiết tin tuyển dụng.
Luồng sự kiện 1. Người tìm việc nhấn nút lưu tin tuyển dụng.
chính 2. Hệ thống thông báo người tìm việc đã lưu tin thành công.
Luồng sự kiện 2.1. Hệ thống thông báo người tìm việc lưu tin không thành
phụ công. Tin tuyển dụng này không còn tồn tại và yêu cầu đối
tượng lưu tin khác.
Hậu điều kiện Người tìm việc lưu tin tuyển dụng thành công.
3.5.10.2. Activity
3.5.10.3. Sequence
3.5.11.1. Đặc tả
Mô tả Hệ thông tự động đánh giá nhà tuyển dụng thông qua sự quan
tâm của người tìm việc đối với nhà tuyển dụng đó.
Tiền điều kiện Nhà tuyển dụng được lưu vào danh sách quan tâm của các
người tìm việc.
Luồng sự kiện 1. Người tìm việc được xem danh sách xếp hạng nhà tuyển
chính dụng trên trang chủ.
2. Hệ thống hiển thị danh sách xếp hạng đánh giá nhà tuyển
dụng.
Luồng sự kiện
phụ
Hậu điều kiện Người tìm việc xem được bảng xếp hạng nhà tuyển dụng.
2.5.11.2. Activity
3.5.11.2. Sequence
3.5.12.1. Đặc tả
Mô tả Chức năng dùng để xem danh sách các tin tuyển dụng theo từ
khóa cho khách vãng lai.
Tiền điều kiện Khách hàng truy cập vào trang web của Công ty.
Luồng sự kiện 1 Khách vãng lai tìm kiếm tin tuyển dụng theo từ khóa
chính 2 Hệ thống kiểm tra.
3 Hệ thống chuyển đến trang danh sách tin tuyển dụng.
4 Khách vãng lai chọn tin muốn xem.
5 Hệ thống hiển thị thông tin tin tuyển dụng nhưng không
có thông tin mức lương và địa điểm.
Luồng sự kiện 2.1 Hệ thống kiểm tra thất bại và thông báo không tìm thấy
phụ tin tuyển dụng nào, yêu cầu tìm tin khác.
Hậu điều kiện Khách vãng lai xem được danh sách tin tuyển dụng.
3.5.12.2. Activity
3.5.12.3. Sequence
3.5.13.1. Đặc tả
Mô tả Chức năng cho phép người dùng thành viên có thể thêm
các nhà tuyển dụng ưa thích của họ vào danh sách quan
tâm.
Luồng sự kiện chính 1. Người dùng thành viên nhấn vào nhà tuyển dụng
muốn lưu.
Hậu điều kiện Người dùng thành viên thêm được nhà tuyển dụng vào
danh sách.
3.5.13.2. Activity
3.5.14.1. Đặc tả
Mô tả Chức năng cho phép quản trị viên quản lý đơn xin việc, quản lý
tin tuyển dụng và quản lý tài khoản.
Luồng sự kiện 1. Quản trị viên chọn 1 trong 3 chức năng: quản lý đơn xin việc,
chính quản lý tin tuyển dụng và quản lý tài khoản.
2. Hệ thống chuyển đến trang quản lý như quản trị viên đã yêu
cầu.
Luồng sự kiện
phụ
Hậu điều kiện Quản trị viên thực hiện được thao tác quản lý thành công.
3.5.14.2. Sequence.
3.5.15.1. Đặc tả
Mô tả Chức năng cho phép đối tượng có thể quản lý được tài khoản
người người dùng thành viên.
Tiền điều kiện Đăng nhập thành công vào trang quản trị hệ thống.
Luồng sự kiện 3.1. Hệ thống thông báo thất bại, quay về trang chủ.
phụ
Hậu điều kiện Quản trị viên quản lý tài khoản thành công.
3.5.15.2. Activity
3.5.16.1. Đặc tả
Mô tả Chức năng cho phép hệ thống kiểm tra thời gian tin tuyển dụng
để đưa lên công khai hoặc xóa tin tuyển dụng cũ.
Tiền điều kiện Nhà tuyển dụng đã đăng tin tuyển dụng.
Luồng sự kiện 1. Hệ thống sẽ tự kiểm tra thông tin ngày bắt đầu và
chính ngày kết thúc của tin tuyển dụng.
2. Hệ thống dựa trên đối tượng thời gian để đưa lên
công khai các tin đã đến ngày nhận hồ sơ.
3. Hệ thống dựa trên đối tượng thời gian để xóa đi các
tin đã hết ngày nhận hồ sơ.
Luồng sự kiện
phụ
Hậu điều kiện Cập nhật các tin tuyển dụng thành công.
3.5.16.2. Activity
3.5.16.3. Sequence
3.5.17.1. Đặc tả
Mô tả Chức năng dung để cho đối tượng nắm bắt tổng quan về số
lượng tương tác trên hệ thống.
Tiền điều kiện Đăng nhập thành công vào trang quản trị.
Luồng sự kiện 1. Quản trị viên nhấn vào “Bảng thống kê” ở trang chủ.
chính 2. Hệ thống hiển thị bảng thống kê.
Luồng sự kiện
phụ
Hậu điều kiện Quản trị viên xem được bảng thống kê.
2.5.17.2. Activity
3.5.17.2. Sequence
Đây là giao diện trang chủ, hiển thị các thông tin cần thiết như đăng nhập, các thông
tin tuyển dụng phổ biến và thanh tìm kiếm các tin tuyển dụng.
4.2. Đăng ký
Chức năng cho phép khách vãng lai thực hiện việc đăng ký tài khoản thành viên,
giao diện hiển thị form đăng ký cùng các trường thông tin cần nhập.
Giao diện hiển thị các thông tin cơ bản, mô tả về nhà tuyển dụng mà bạn đang xem,
cùng với đó là các tin tuyển dụng của Công ty này.
Trang này thể hiện thông tin của tin tuyển dụng bao gồm mô tả công việc, quyền
lợi, yêu cầu và nút bấm nộp hồ sơ.
Giao diện của chức năng quản lý thông tin cá nhân, cho phép người dùng cập nhật
thông tin theo ý muốn.
Hiện các thông tin hồ sơ của người tìm việc, cho phép nhà tuyển dụng xét duyệt hồ
sơ.
Giao diện của Admin khi quản lý và xét duyệt các tin tuyển dụng được gửi lên.
Giao diện của Admin khi quản lý tài khoản thành viên của trang web bao gồm nhà
tuyển dụng và người tìm việc.
Giao diện của Admin khi quản lý các đơn xin việc từ các người tìm việc.
4.10.1.Đăng ký
4.10.2.Đăng nhập
sai
4.10.3.Tìm kiếm
dụng
Website căn bản đã hoành thành các chức năng cơ bản của một trang web tìm kiếm
việc làm. Hầu hết các yêu cầu của đề tài mà nhóm tác giả đã nêu ra trong Chương 1
gần như đều đã được giải quyết. Trong quá trình xây dựng website Đăng tin tuyển
dụng và tìm kiếm việc làm, nhóm đã đạt được những kết quả để đáp ứng các mục
tiêu của đề tài như sau:
Tạo được giao diện đăng tin tuyển dụng trực quan, dễ thao tác
than thiện với người dùng.
Cho phép người tìm việc có thể xem lại danh sách các công
việc mình đã xin vào có tình trạng đã duyệt hoặc chưa được
duyệt
Xây dựng chức năng quản trị đơn giản và dễ sử dụng.
Chức năng tìm kiếm việc làm dễ thực hiện bao gồm 2 mục
chính là khu vực và ngành nghề ( có thể chọn 1 trong 2 ).
Trong quá trình thực hiện đề tài bên cạnh mục tiêu và kết quả đạt được thì
nhóm vẫn còn gặp một số khó khăn và hạn chế nhất định :
- Khó khăn
Việc phân tích và lấy yêu cầu của các đối tượng khá khó khăn
và lâu.
Thiết kế và chỉnh sửa giao diện lâu hơn dự kiến ban đầu.
- Hạn chế
Thiếu khả năng tương tác giữa người tìm việc và nhà tuyển
dụng trên trang web.
Giao diện còn quá đơn giản và không được đẹp mắt.
Việc xây dựng trang quản trị vẫn chưa được tối ưu, vẫn chưa
đầy đủ chức năng cho một nhà quản trị.
Người tìm việc có thể sử dụng trang cá nhân của bản thân làm
CV và không dược phép tự tải CV của bản than lên web.
Chưa xây dựng được chức năng tính khoảng cách dựa vào địa
chỉ của người tìm việc và tin tuyển dụng.
Chưa xây dựng thành công chức năng bình luận ẩn danh cho
người tìm việc đối với nhà tuyển dụng.
Chưa xây dựng chức năng thu phí đối với nhà tuyển dụng.
Chưa đặt ra được các giới hạn mà người tìm việc có thể nộp
đơn.
Tuy vẫn còn nhiều mặt hạn chế khi hoàn thành đề tài nhưng trang web vẫn còn rất
tiềm năng để phát triển. Nên bổ sung thêm các tính năng sau đây :
- Kiểm tra chặt chẽ hơn các tin tuyển dụng đã đăng
- Xây dựng thêm tính năng trả phí theo lượt đăng tin tuyển dụng
- Tăng sự tương tác của người tìm việc và nhà tuyển dụng bằng cách tạo ra
tính năng phỏng vấn online
- Tang sự tiện lợi đối với người tìm việc bằng cách đăng nhập google hoặc
facebook, zalo,…
- Nghiên cứu thêm về các công nghệ xây dựng giao diện người dùng
thịnh hành như VueJS, AngularJS,... tạo ra một website thân thiện, dễ
sử dụng để đem lại trải nghiệm tốt hơn cho người dùng.
- Thêm vào google map và khoảng cách từ địa chỉ của ứng cử viên và địa chỉ
của tin tuyển dụng để người tìm việc có thể có nhiều sự lựa chọn hơn.
http://hoclaptrinhweb.org/lap-trinh/hoc-php/227-bai-1-gioi-thieu-ve-ngon-
ngu-lap-trinh-php-va-huong-dan-cai-dat.html
https://vi.wikipedia.org/wiki/PHP
PHP Framework – Laravel
https://laravel.com/docs/7.x
http://laptrinhphp.vn/framework-laravel/
https://vi.wikipedia.org/wiki/Laravel
Mô hình MVC
https://techtalk.vn/php-va-mo-hinh-mvc.html
https://vi.wikipedia.org/wiki/MVC
https://www.codehub.vn/MVC-Model-View-Controller-La-Gi
Cơ sở dữ liệu MySQL
https://vi.wikipedia.org/wiki/MySQL
https://www.youtube.com/watch?v=95czzJbWytA - GV Phan Văn Cương.
http://sqladvice.com/mysql-la-gi-tong-quan-ve-he-quan-tri-du-lieu-mysql/
Xây dựng website đăng tin tuyển dung và tìm kiếm việc làm
PHỤ LỤC
https://docs.google.com/forms/d/e/1FAIpQLSfTow5kJXNDaq3KywE3pm-
calkswLliTAKFO1O9-e716Vev4Q/viewform?vc=0&c=0&w=1
Có
Không
2. Nếu là sinh viên mới ra trường, bạn sẽ chọn làm cho công ty khác hay start-
up?
Tự khởi nghiệp.
3.Những yếu tố nào ảnh hưởng tới quyết định chọn công việc của bạn?
Khác
4. Theo bạn, đâu là những yếu tố cần thiết để nhà tuyển dụng chọn nhân sự?
Ngoại hình.
Xây dựng website đăng tin tuyển dung và tìm kiếm việc làm
Sự sáng tạo.
Trung thực.
Khác
5. Bạn thường tìm kiếm công việc qua kênh thông tin nào nhất?
Báo chí.
6. Những yếu tố nào khiến bạn an tâm khi chọn công việc mà bạn tìm thấy trên
mạng?
7. Theo bạn, một website tìm kiếm việc làm nên có thêm các chức năng đặc
biệt nào sau đây (ngoại trừ các chức năng cơ bản):
Tạo CV online.
Có chatbox trao đổi trực tiếp giữa nhà tuyển dụng và người tìm việc.
Có sự tương tác, trao đổi thông tin giữa các nhà tuyển dụng về người tìm việc.
Xây dựng website đăng tin tuyển dung và tìm kiếm việc làm
Khác
8. Theo bạn, website việc làm cần bộ tìm kiếm theo các mục nào?
Yêu cầu công việc: sinh viên mới ra trường, chưa có kinh nghiệm, có bằng Đại
học,...
9. Bạn thích một website tìm việc có những yếu tố nào sau đây?
Khác
10. Theo bạn, thông tin tìm việc nào sẽ an toàn hơn giữa các nguồn sau?
Facebook.
Zalo.
Xây dựng website đăng tin tuyển dung và tìm kiếm việc làm
11. Theo bạn, một website tìm việc có cần đội ngũ chăm sóc và tư vấn khách
hàng không?
Cần thiết.
12. Bạn đang mong muốn mức lương nào sau đây?
5 - 7 triệu/ tháng
6 - 8 triệu/ tháng
8 - 10 triệu/ tháng
10 - 12 triệu/ tháng
12 - 15 triệu/ tháng
13. Giữa một công ty A lương cao nhưng không có chế độ bảo hiểm xã hội và
một công ty B lương thấp nhưng đủ phúc lợi, bạn chọn công ty nào?
Công ty A.
Công ty B.
14. Bạn có sẵn sàng chia sẻ website tìm kiếm việc làm đến bạn bè, người thân?
Sẵn sàng.
15. Theo bạn, một website tìm kiếm việc làm cần các chức năng nào để tăng sự
tương tác đối với người dùng?
Báo cáo vi phạm đối với nhà tuyển dụng hoặc cá nhân.
Khác
16. Khi so sánh giữa các website tìm kiếm việc làm, bạn thường chọn yếu tố
nào?
17. Các bước đăng tin như thế nào là hợp lý?
Nhà tuyển dụng đăng tin, Admin xét duyệt và phản hồi lại cho Nhà tuyển dụng.
Nhà tuyển dụng đăng tin trực tiếp không cần Admin kiểm duyệt.
Nhà tuyển dụng đăng tin, Admin xét duyệt nhưng không cần phản hồi lại.
18. Theo bạn, một nhà tuyển dụng có thể đăng bao nhiêu tin tuyển dụng trong một
ngày?
Dễ nhìn.
Có nhiều khoảng trống, cần trang trí nhiều để bắt mắt hơn.
Cần làm to các chữ quan trọng như: Đăng nhập, Tìm kiếm,…
Xây dựng website đăng tin tuyển dung và tìm kiếm việc làm
Từ khảo sát trên, việc tạo ra một trang web tìm kiếm việc làm, chúng ta lưu ý các
yêu cầu sau:
Dựa trên phiếu phỏng vấn thu thập từ khách hàng, chúng ta lưu ý nhu cầu của khách
về mong muốn nắm thông tin mức lương, để tạo quyền lợi cho những thành viên
của website so với khách vãng lai. Ngoài ra, vị trí địa lý cũng là một trong những
yếu tố quan trọng trong nhu cầu tìm việc làm của các người tìm việc.
Đa số người dùng bình chọn tiêu chí “độ tin cậy” khi được hỏi về website tìm kiếm
việc làm, nên chúng ta cần tăng các nguồn thông tin, tăng chất lượng đội ngũ chăm
sóc khách hàng qua bộ phận Call Center, có chức năng Chatbox.
Qua khảo sát, vì đa số người dùng tìm thấy công việc trên các mạng xã hội khá
nhiều, nên việc dẫn link chia sẻ website, thông tin lên facebook, Instagram, Zalo là
rất cần thiết để phổ biến hơn