CHƯƠNG 1: TỔNG QUAN 1. Định nghĩa – Mô tả bài toán: 1. Tên đề tài Đề tài “Xây dựng Website hỗ trợ tìm kiếm việc làm cho sinh viên công nghệ thông tin” 1. Giới thiệu đề tài Trong thời đại công nghệ 4.0 đang diễn ra song hành với nền kinh tế không ngừng vươn mình mạnh mẽ, đòi hỏi mỗi doanh nghiệp phải có những giải pháp chiến lược phù hợp đúng đắn để có thể đứng vững và phát triển.
Một giải pháp được đặt ra là ứng dụng tiến bộ của công nghệ thông tin vào công việc tìm kiếm việc làm. Những công việc hàng ngày không còn là thao tác thủ công với một đống hỗn độn tài liệu nữa mà được thay bằng những chương trình hỗ trợ cho mọi công việc. Nó sẽ giảm thiểu được những khó khan trong công việc tìm kiếm việc làm như: nhân lực, thời gian, độ chính xác của thông tin…giúp cho các doanh nghiệp có thể tuyển dụng nhân sự cũng như các ứng viên tìm kiếm việc là một cách dễ dàng hơn. Do đó dự án xây dựng và phát triển một chương trình hoàn chỉnh ứng dụng những kỹ thuật và công nghệ mới nhất để giúp cho việc tìm kiếm nhân sự cũng như việc làm dễ dàng trên toàn quốc.
Website cung cấp thông tin ứng viên, doanh nghiệp , giúp cho công ty có thể tìm kiếm nhân sự và ngược lại các ứng viên có thể lựa chọn công ty phù hợp với mình. Lý do chọn đề tài Để tìm kiếm việc làm phù hợp không phải là một việc dễ dàng : nhu cầu của nhà tuyển dụng, nhu cầu của người tìm việc. Bên cạnh đó thì việc quản lý tìm kiếm và đăng việc như thế nào cũng là một câu hỏi lớn cần giải quyết. Vậy việc quản lý việc làm như thế nào và bằng cách gì? Quản lý việc tìm kiếm như thế nào? Hồ sơ và việc làm lưu trữ như thế nào? Quản lý như thế nào được gọi là tiện lợi, ít tốn công sức nhưng lại cho ra kết quả một cách hiệu quả? Trang web hỗ trợ việc tìm kiếm việc làm cho sinh viên ngàng công nghệ thông tin,đăng thông tin tuyển dụng.Trang Web đáp ứng nhu cầu tiềm việc làm hiện nay.Tạo cơ hội cho sinh viên tìm được việc làm thích hợp cũng như nhà tuyển dụng tìm được nhân tài phù hợp.
Mục tiêu Xây dựng các chức năng cần thiết của một website tìm kiếm việc làm. Website có thể cung cấp các chức năng cần thiết cho người dùng để tìm kiếm việc làm hay tuyển Downloaded by heo ninh (ninhheo7@gmail.com) lOMoARcPSD|20681854 dụng cũng như các chức năng cần thiết dành cho quản trị viên để quản lí website. Ngoài ra giao diện website cũng phải được bố trí hợp lí dễ nhìn, thân thiện với người dùng, phù hợp với nhiều loại thiết bị. Phương pháp nghiên cứu Trên cơ sở những phương pháp và kỹ thuật liên quan đến đề tài như các phương pháp nghiên cứu tài liệu, phương pháp kham thảo các website tìm kiếm việc làm thực tế.
Để tìm ra cách giải quyết các yêu cầu của đề tài, cũng như phát triển thêm các tính năng phù hợp với đề tà Downloaded by heo ninh (ninhheo7@gmail.com) lOMoARcPSD|20681854 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2.1 Giới thiệu PHP PHP: Hypertext Preprocessor, thường được viết tắt thành PHP là một ngôn ngữ lập trình kịch bản hay một loại mã lệnh chủ yếu được dùng để phát triển các ứng dụng viết cho máy chủ, mã nguồn mở, dùng cho mục đích tổng quát. Nó rất thích hợp với web và có thể dễ dàng nhúng vào trang HTML. Do được tối ưu hóa cho các ứng dụng web, tốc độ nhanh, nhỏ gọn, cú pháp giống C và Java, dễ học và thời gian xây dựng sản phẩm tương đối ngắn hơn so với các ngôn ngữ khác nên PHP đã nhanh chóng trở thành một ngôn ngữ lập trình web phổ biến nhất thế giới. 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ô doanh nghiệp.
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 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.
PHP là ngôn ngữ script được tạo cho các giao tiếp phía server. Do đó, nó có thể xử lý các chức năng phía server như thu thập dữ liệu biểu mẫu, quản lý file trên server, sửa đổi cơ sở dữ liệu và nhiều hơn nữa. Ngôn ngữ này ban đầu được tạo ra bởi Rasmus Lerdorf để theo dõi khách truy cập vào trang chủ cá nhân của anh ấy. Khi đã trở nên phổ biến hơn, Lerdorf phát hành nó thành dự án nguồn mở.
Quyết định này đã khuyến khích các nhà phát triển sử Downloaded by heo ninh (ninhheo7@gmail.com) lOMoARcPSD|20681854 dụng, sửa chữa, cải thiện code và cuối cùng biến nó thành ngôn ngữ script mà chúng ta sử dụng ngày nay. Mặc dù PHP được coi là ngôn ngữ script vì mục đích chung, nhưng nó được sử dụng rộng rãi nhất để phát triển web. Điều này do một trong những tính năng nổi bật của nó – khả năng nhúng vào file HTML. Nếu không muốn người khác xem mã nguồn của mình, bạn có thể ẩn bằng ngôn ngữ script này.
Đơn giản chỉ cần bạn viết code vào file PHP, nhúng nó vào HTML thì mọi người sẽ không bao giờ biết được nội dung gốc. Ưu điểm của ngôn ngữ PHP + Dễ học – bạn có thể học dễ dàng vì nó có tài liệu tuyệt vời về các chức năng cùng các ví dụ. Được sử dụng rộng rãi – nó được sử dụng để tạo ra các loại nền tảng như thương mại điện tử, blogs, phương tiện truyền thông xã hội, v. Thống kê cho thấy 79% tất cả các trang web đều sử dụng PHP.
Chi phí thấp – nó là nguồn mở để bạn có thể sử dụng miễn phí. Cộng đồng lớn – nếu gặp phải bất kỳ vấn đề nào với nó, bạn không phải lo lắng vì có rất nhiều blog PHP trên internet. Tích hợp với cơ sở dữ liệu như MySQL, Oracle, Sybase,… 2.2 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ới phiên bản đầu tiên được ra mắt vào tháng 6 năm 2011 và nhằm mục tiêu hỗ trợ phát triển các ứng dụng web theo cấu trúc model- view- controller (MVC). Laravel được phát hành theo giấy phép MIT, với source code được lưu trữ tại Gitthub.
Mặc dù ra đời muộn hơn so với các đối thủ, tuy nhiên Laravel đã thật sự tạo thành một làn sóng lớn, được đánh giá tốt và sử dụng rộng rãi nhất hiện nay. Các chức năng chính của Laravel: • Modularity: Laravel được xây dựng từ hơn 20 thư viện nổi tiếp của PHP hiện nay, và trong bản thân nó cũng được chia module một cách rất rõ ràng và khoa học. Với những dự án lớn, Laravel hỗ trợ chúng ta chia dự án ra làm những module nhỏ giúp dự án được quản lý dễ dàng hơn. Downloaded by heo ninh (ninhheo7@gmail.com) lOMoARcPSD|20681854 • Composer: Ở laravel phiên bản 4.x, Composer được sử dụng như một công cụ quản lý với tính năng như thêm các gói cài đặt, các chức năng PHP phụ trợ cho Laravel có trong kho Packagist.
• Testability: Đối với một lập trình viên hiện nay, code sản phẩm chạy được vẫn là chưa đủ, chúng ta phải thực hiện test trên từng dòng code của mình và đảm bảo nó chạy đúng như logic và code của mình code sẽ không ảnh hưởng đến những phần khác. Với sự hỗ trợ mạnh mẽ của Laravel, công việc này sẽ trở nên dễ dàng hơn bao giờ hết. • Routing: Laravel cung cấp cho chúng ta cách khai báo một route trong dự án cực kì đơn giản và mềm dẻo, với các phương thức như GET, POST, PUT, DELETE. • Configuration Management: Một dự án khi chúng ta phát triển thường nó sẽ được chạy ở nhiều môi trường khác nhau như local, server test, server staging, server production … Với những môi trường khác nhau thì các thông số config sẽ khác nhau, một ví dụ điển hình nhất là thông số về cơ sở dữ liệu.
Laravel cho phép chúng ta làm việc này rất dễ dàng bằng việc tạo ra 1 file .env (Environment) để chúng ta cấu hình các thông số lên trên đó. • QueryBuilder and ORM: Đây là 2 tính năng cực kì quan trọng trong laravel, nó cho phép chúng ta làm việc với cơ sở dữ liệu một cách dễ dàng, cung cấp các câu truy vấn ngắn gọn để lấy dữ liệu. Nó làm việc được với nhiều cơ sở dữ liệu khác nhau như PostgreSQL, SQLite, Mysql hay SQL Server. • Schema builder, migration and seeding: Đây là các tính năng cho phép các bạn định nghĩa cấu trúc cơ sở dữ liệu trong code khi làm việc với Laravel, các bạn có thể tạo table, xoá table, tạo cột, xoá cột,… Mọi thao tác đều được thực hiện trên code và được quản lý rất khoa học.
Tính năng Seeding cung cấp cho chúng ta tạo ra các dữ liệu mẫu trong cơ sở dữ liệu. Downloaded by heo ninh (ninhheo7@gmail.com) lOMoARcPSD|20681854 • Template Engine: Laravel sử dụng Blade cho phần view của mình, với Blade chúng ta có thể show dữ liệu và khai báo các câu điều khiển ở trên view một cách dễ dàng. • E-Mailing: Laravel cung cấp cho chúng ta thư viện để có thể gửi email trong dự án, hầu như tính năng này đểu có ở tất cả các dự án. Ngoài ra nó cũng hỗ trợ chúng ta làm việc với các mail service như SendGrid, Mailgun hay Mandrill.