Tải bản đầy đủ (.pdf) (24 trang)

báo cáo thực tập lập trình WEBSITE VENJOB tìm kiếm việc làm bằng RUBY ON RAILS

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.48 MB, 24 trang )

TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM

BÁO CÁO THỰC TẬP

LẬP TRÌNH WEBSITE VENJOB
TÌM KIẾM VIỆC LÀM
BẰNG RUBY ON RAILS

Công ty thực tập

: Công ty TNHH ZIGExN VeNtura

Ngƣời phụ trách

: Anh Lê Văn Hậu

Thực tập sinh

: Nguyễn Ngọc Nghĩa

TP. Hồ Chí Minh, tháng 07 năm 2020


1

LỜI MỞ ĐẦU

Ngày nay, các website dịch vụ là một thành phần không thể thiếu với đời sống con
người. Trong thời đại số 4.0, với sự phát triển chóng mặt của Internet cũng như ngành công
nghệ phần mềm, các phương thức dịch vụ thông qua mạng Internet đang dần dần vượt mặt các


phương thức thơng thường. Tìm kiếm việc làm cũng khơng ngoại lệ, phương thức tìm kiếm việc
làm thơng qua mạng Internet giúp con người tiết kiệm thời gian, tiết kiệm không gian, thoải mái
hơn và tự chủ hơn trong việc tìm kiếm cơng việc. Do đó, để đáp ứng nhu cầu của khách hàng
tìm kiếm việc làm thơng qua mạng Internet, VeNJOB có thể đáp ứng được nhu cầu của khách
hàng.
Với niềm đam mê với việc phát triển website, cũng như tìm kiếm cơ hội việc làm, em
cảm thấy đây là cơ hội ở ZIGExN VeNtura là tốt nhất ở thời điểm này. Thông qua việc học hỏi
ngôn ngữ mới – Ruby – và framework Rails ở công ty, em đã học hỏi được nhiều kiến thức mới
cũng như quy trình xây dựng một website, đặc biệt là ở một ngơn ngữ mới em chưa từng học
trước đó.
Website VeNJOB giúp mọi người tìm kiếm cơng việc tại cả Việt Nam cũng như nước
ngoài, được dựa trên dữ liệu cơng việc từ website uy tín “careerbuilder.vn”, VeNJOB ln cập
nhật thông tin mới nhất về các việc làm mỗi ngày. Tuy không phải là ý tưởng thiết kế website
mới, nhưng trong quá trình xây dựng website, em đã học được nhiều kỹ thuật và công nghệ
mới.

Người phụ trách: Anh Lê Văn Hậu

Nguyễn Ngọc Nghĩa


2

LỜI CẢM ƠN

Trân trọng gửi lời cảm ơn đến Công ty TNHH ZIGExN VeNtura đã tạo điều kiện cho em
được thực tập, học hỏi những kiến thức moi ứ.
Chỉ trong một thời gian ngắn, nhưng nhờ sự chỉ dẫn nhiệt tình của anh mentor cũng như
mọi người trong cơng ty, em đã tiếp thu được những kiến thức quan trọng để có thể làm được
một website cơ bản. Chân thành cảm ơn các anh/chị đã bỏ ra nhiều thời gian, cơng sức để giúp

đỡ em hồn thành đợt thực tập này.
Đặc biệt cảm ơn anh Lê Văn Hậu, đã training Git/Ruby/Ruby on Rails, hướng dẫn, giúp
đỡ cho em tận tình cả những khó khăn trong cơng việc, đến những khó khăn việc làm quen với
môi trường mới
Cũng xin cảm ơn thầy cô trong khoa Công nghệ phần mềm đã nhiệt tình hỗ trợ, tạo điều
kiện em làm bài báo cáo này.
Nguyễn Ngọc Nghĩa
TP. Hồ Chí Minh, ngày 17 tháng 07 năm 2020

Người phụ trách: Anh Lê Văn Hậu

Nguyễn Ngọc Nghĩa


3

NHẬN XÉT CỦA KHOA

...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................

...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................

Người phụ trách: Anh Lê Văn Hậu

Nguyễn Ngọc Nghĩa


4

Mục lục
Chƣơng 1: Giới thiêu công ty thực tập ............................................................................................... 5
1.

Giới thiệu công ty ZIGExN VeNtura ....................................................................................... 5

2.

Sản phẩm của cơng ty ............................................................................................................... 5

Chƣơng 2: Nội dung thực tập.............................................................................................................. 5
1.

Tìm hiểu công ty và các kỹ năng cơ bản trong công ty ............................................................ 6

2.


Nghiên cứu kỹ thuật .................................................................................................................. 6
2.1.

Nghiên cứu/ thực hành về Linux/Ubuntu ........................................................................... 6

2.2.

Nghiên cứu/thực hành về công cụ Git ................................................................................ 6

2.3.

Nghiên cứu/thực hành về Ruby .......................................................................................... 6

2.4.

Nghiên cứu/thực hành về Ruby on Rails ............................................................................ 7

3.

Thực hiện project ...................................................................................................................... 8

4.

Lịch làm việc ............................................................................................................................. 9

Chƣơng 3: Chi tiết về project ............................................................................................................ 13
1.

Giới thiệu về VeNJOB ............................................................................................................ 13

1.1.

Các công nghệ đã sử dụng: ............................................................................................... 13

1.2.

Dịch vụ chính: .................................................................................................................. 13

2.

Thực hiện................................................................................................................................. 18

3.

Quá trình thực hiện VeNJOB:................................................................................................ 18

TÀI LIỆU THAM KHẢO ................................................................................................................. 22
TỔNG KẾT........................................................................................................................................ 23

Người phụ trách: Anh Lê Văn Hậu

Nguyễn Ngọc Nghĩa


5

Chƣơng 1: Giới thiêu công ty thực tập

1. Giới thiệu công ty ZIGExN VeNtura
ZIGExN VeNtura là công ty 100% vốn từ Nhật Bản. Được biết đến như là một

biểu tượng của sức trẻ và cộng đồng linh hoạt trong ngành Công nghệ thông tin hiện
này, ZIGExN VeNtura phát triển công nghệ phần mềm và các dịch vụ Internet cho
thị trường Nhật Bản. Xuất hiện trong thị trường Việt Nam từ đầ unăm 2013, với
bước đi đúng đắn của Ban giám đốc và những nhân viên đầy nhiệt huyết, và sáng
tạo, ZIGExN VeNtura đang dần phát triển và lớn mạnh hơn.

2. Sản phẩm của công ty
-

/> /> />Mỗi sản phẩm trên là mỗi sản phẩm mà ZIGExN VeNtura tham gia để phát triển cho thị
trường Nhật Bản.

Chƣơng 2: Nội dung thực tập
Đợt thực tập với chủ đề “Lập trình website tìm kiếm việc làm VeNJOB bằng Ruby on
Rails” nhằm mục đích giúp sinh viên thực tập được đào tạo toàn diện về lập trình website, đồng
thời rèn luyện những kỹ năng mềm như làm việc nhóm, thuyết trình, giao tiếp. Tại cơng ty, sinh
viên có cơ hội được học tập, khám phá và làm việc trong một môi trường phát triển website
chuyên nghiệp.

Người phụ trách: Anh Lê Văn Hậu

Nguyễn Ngọc Nghĩa


6

1. Tìm hiểu cơng ty và các kỹ năng cơ bản trong công ty
Thời gian : 2 ngày
Nội dung : Giới thiệu về công ty, cách tổ chức của công ty, những quy định cơ bản của
công ty

Được nghe người phụ trách giới thiệu về cơng ty, q trình thành lập và phát triên
(như đã nhắc đến ở trên), quy trình làm việc từ cao xuống thấp, cách thức tổ chức của
cơng ty. (Thơng qua trang wiki của cơng ty)
Ngồi ra, thực tập sinh còn được giới thiệu về cách thức làm việc trong công ty
như thời gian đi làm, các quy định cần phải tuân thủ, cách sử dụng email trong công
việc…
Kết quả: Hiểu thêm về công ty, quá trình thành lập và phát triển. Có thêm các kỹ năng về
việc sử dụng email trong công việc, làm việc có kế hoạch, có kỷ luật, có trách nhiệm
hơn.

2. Nghiên cứu kỹ thuật
2.1.

2.2.

Nghiên cứu/ thực hành về Linux/Ubuntu
Thời gian : 5 ngày
Nội dung : Tìm hiểu về mơi trường, các lệnh cơ bản của Linux/Ubuntu.
Trong thời gian này, mentor đã hướng dẫn thực tập sinh tìm hiểu về mơi trườn
Linux/Ubuntu. Một số phần mềm thường xuyên sử dụng như Vim (trình soạn thảo
quen thuộc của Linux/Ubuntu), Terminal (giao diện cửa sổ dòng lệnh của
Linux/Ubuntu)
Thực hiện : Thực hành sử dụng và thao tác các câu lệnh trên Linux/ Ubuntu.
Kết quả : Nắm được cách sử dụng, các câu lệnh cơ bản của Linux/ Ubuntu.
Nghiên cứu/thực hành về công cụ Git
Thời gian : 1 ngày
Nội dung : Tìm hiểu khái niệm, cách sử dụng và câu lệnh cơ bản của Git.
Trong thời gian này, mentor đã hướng dẫn cách sử dụng và các câu lệnh cơ bản
của Git sẽ áp dụng vào đồ án cũng như sử dụng trong công ty, thực tập sinh tự tìm
hiểu khái niệm. Ngồi ra, mentor cũng tận tình chỉ dẫn, dặn dị về cách pull, push,

mergo code sao cho không bị conflict cũng như mất code của người khác.
Thực hiện : Thực hiện sử dụng và thao tác các câu lệnh cơ bản của Git.
Kết quả :

2.3.

- Nâng cao khả năng sử dụng Git.
- Học cách quản lý code với công cụ Git.
Nghiên cứu/thực hành về Ruby

Người phụ trách: Anh Lê Văn Hậu

Nguyễn Ngọc Nghĩa


7

Thời gian: 5 ngày
Nội dung: Các kiến thức cơ bản của ngơn ngữ lập trình Ruby.
-

Tiếp cận với Ruby:
Hồn thành “tryruby” của Ruby trên github ( />
-

Môi trường chạy Ruby:
Cài đặt được mơi trường bao gồm trình biên dịch ngơn ngữ Ruby bằng công cụ
rbenv – công cụ quản lý các phiên bản Ruby – với Ruby 2.6.x
( />
-


-

Ruby cơ bản:
Học
các
bài
Ruby

bản
lang.org/en/documentation/quickstart/.

thông

qua

y-

Ruby chuyên sâu:
Học các bài Ruby chuyên sâu thông qua />
-

Regex chuyên sâu:
Học các bài về Regex, regex các mẫu (pattern) thay vì các chuỗi cụ thể được sử
dụng tìm/thay thế (Find/Replace). Là một cơng cụ cực mạnh cho xử lí chuỗi
khơng những trong Ruby, mà cịn ở các ngơn ngữ khác.
( />
Thực hiện :
-


Tham gia đầy đủ các buổi training.
Làm các bài tập thực hành về Ruby, Regex, …
Tìm kiếm tài liệu trên mạng để tìm hiểu thêm.

Kết quả :
2.4.

Hiểu được những khái niệm cơ bản trong lập trình đồ họa với OpenGL.
Đã vẽ được những hình ảnh cơ bản trong OpenGL, load file mơ hình *.obj.

Nghiên cứu/thực hành về Ruby on Rails
Thời gian: 7 ngày

Người phụ trách: Anh Lê Văn Hậu

Nguyễn Ngọc Nghĩa


8

Nội dung : Học các kiến thức cơ bản về framework Ruby on Rails thông qua thiết kế
website nhỏ chạy trên Ruby on Rails ( />-

Tìm hiểu về framework Rails:
Rails là một web framework được thiết kế để làm việc bằng ngơn ngữ lập trình
Ruby. Câu lệnh trong Rails khơng cần có dấu chấm phẩy và trực quan hơn. Rails
là framework phổ biến nhất được viết bằng Ruby. Rails cung cấp tất cả những thứ
cần thiết để bạn có thể viết một ứng dụng Ruby và các trang web một cách dễ
dàng.


-

Tìm hiểu về Ruby on Rails:
Ruby on Rails là một cái tên ĐẦY ĐỦ cho framework Rails.

-

ORM của Rails – Active Record:
Đây là Object Relational Mapping, là kỹ thuật ánh xạ CSDL sang các đối tượng
ngôn ngữ, trong trường hợp này ORM của Rails là Active Record.

-

Action view trong Rails:
Thông thường view trong Rails sẽ được viết theo template .ERB, được gọi là
Ruby nhúng. Chúng có thể được viết cả tag ERB và HTML.

-

Action Controller trong Rails:
Controller trong Rails có nhiệm vụ trả views về trình duyệt cũng như có thể xử lý
dữ liệu ngay trong đó.

Thực hiện :
-

Tham gia đầy đủ các buổi training.
Tạo ra những trang web cơ bản bằng Ruby on Rails.

Kết quả:

-

Đã có thể tạo ra một và một vài trang web cơ bản sử dụng Ruby on Rails

3. Thực hiện project

Người phụ trách: Anh Lê Văn Hậu

Nguyễn Ngọc Nghĩa


9

Sau gần một tháng được training và thực hành, Em đã nắm được những kiến thức cơ bản
về Git, Ruby và Ruby on Rails. Trong tháng thứ hai và ba, em sử dụng các kiến thức đã
học đẻ thiết kế website VeNJOB.
Chi tiết đồ án sẽ được nói ở phần sau.
4. Lịch làm việc

Tuần

Cơng việc
Tìm hiểu về cơng
ty, cách tổ chức của
công ty.
- Làm quen với các
công
cụ
của
Linux/Ubuntu


công ty.
- Học cách trao đổi,
làm việc qua email.
- Báo cáo tuần 1
- Tìm hiểu ngơn ngữ
lập trình Ruby.
- Tìm hiểu về Git.
- Thực hành về Ruby.
- Thực hành về Git.
- Báo cáo tuần 2
- Tìm hiểu về Ruby
on Rails.
- Thực hành về
Ruby on Rails.
- Báo cáo tuần 3
- Khởi tạo app lần
đầu.
- Thiết kế cơ sở dữ
liệu.
- Chạy migration lần
đầu để tạo bảng lưu
vào MySQL.
- Báo cáo tuần 4
Crawl
data
từ
-

1


2

3

4

5

Người phụ trách: Anh Lê Văn Hậu

Mức
độ
Ngƣời hƣớng dẫn
hoàn
thành
Anh Lê Văn Hậu 95%
(Mentor)
Anh Đỗ Hồng Sơn
(Helper)
Anh Lê Hồng Hiếu
(General Manager)

Nhận xét của ngƣời
hƣớng dẫn

95%

90%


98%

85%

Nguyễn Ngọc Nghĩa


10

6

7

8

careerbuilder.vn:
- Tìm hiểu cấu trúc
HTML của website
careerbuilder.vn
- Phân tích dữ liệu.
- Tạo file crawl và
tiến hành crawl.
- Báo cáo tuần 5
Nhập dữ liệu từ file
CSV (được lấy từ server
ftp của công ty).
- Viết validation cho
các trường được
nhập vào.
- Chỉnh sửa cho phù

hợp với database.
- Báo cáo tuần 6
Thiết kế trang Top,
User:
- Thiết kế Top page,
trang chủ khi người
dùng truy cập vào
website.
- Sử dụng template
của bootstrap.
- Thiết kế trang Sign
in (Trang đăng nhập
khi người dùng đã
có tài khoản), Sign
up (Trang đăng ký
khi người dùng
chưa có tài khoản).
- Thiết kế trang cá
nhân, thông tin.
- Báo cáo tuần 7
Thiết kế trang Industry,
City:
- Thiết
kế
trang
Industry (Trang tìm
kiếm cơng việc theo
ngành nghề).
- Thiết kế trang City


Người phụ trách: Anh Lê Văn Hậu

85%

85%

90%

Nguyễn Ngọc Nghĩa


11

9

10

11

(Trang tìm kiếm
cơng việc theo thành
phố).
- Báo cáo tuần 8.
Thiết kế trang Job List,
Job detail:
- Thiết kế trang Job
List (Trang danh
sách tất cả công
việc).
- Thiết kế trang Job

Detail (Trang chi
tiết công việc).
- Báo cáo tuần 9.
Thiết kế trang Job
Apply, Confirm, Done:
- Thiết kế trang Job
Apply (Trang đăng
ký công việc cho
người dùng).
- Thiết
kế
trang
Confirm (Trang xác
nhận thông tin của
người dùng).
- Thiết kế trang Done
(Trang honà tất
đăng ký,gửi email
cho người dùng)
- Báo cáo tuần 10.
Thiết kế trang Email
Register,
Forgot
Password,
New
Password:
- Thiết kế trang Email
Register
(Trang
đăng ký người dùng

bằng email).
- Gửi mail xác nhận
đến email của người
dùng (Sử dụng
mailcatcher để bắt
mail dưới local).

Người phụ trách: Anh Lê Văn Hậu

80%

85%

90%

Nguyễn Ngọc Nghĩa


12

Khi người dùng yêu
cầu mật khẩu mới,
gửi email đến email
người dùng (như
trên).
- Báo cáo tuần 11.
Thiết kế trang Favorite
Job, Applied Job:
- Thiết
kế

trang
Favorite Job (Trang
các cơng việc u
thích của người
dùng).
- Thiết
kế
trang
Applied Job (Trang
các công việc đã
đăng ký của người
dùng).
- Báo cáo tuần 12.
Áp dụng Search Engine
– Solr Apache:
- Cài đặt Solr server.
- Design schema.
- Đánh index cho data
từ database lên Solr.
- Thiết kế Search
form để người dùng
tìm kiếm cơng việc.
- Báo cáo tuần 13.
Thiết kế trang Admin:
- Thiết kế trang đăng
nhập cho admin.
- Tìm kiếm tất cả
cơng việc được đăng
ký.
- Sửa lỗi, chỉnh lại

giao diện
- Tổng kết đồ án.
- Báo cáo tuần 13 và
báo cáo kết thúc đồ
án.
-

12

13

14

Người phụ trách: Anh Lê Văn Hậu

90%

80%

90%

Nguyễn Ngọc Nghĩa


13

Chƣơng 3: Chi tiết về project

1. Giới thiệu về VeNJOB
VeNJOB lấy ý tưởng từ trang web tìm việc làm phổ biến nhất hiện nay: careerbuilder.vn

về dịch vụ tìm kiếm việc làm, sử dụng dữ liệu và công nghệ để quản lý nguồn nhân lực,
với các giải pháp giúp nhà tuyển dụng tìm, tuyển dụng và quản lý những người tuyệt
vời.
1.1. Các công nghệ đã sử dụng:
-

Ruby Gem: là thư viện của Ruby. Nó khơng có gì khác biệt với các thư viện của
các ngơn ngữ bình thường khác như PHP, Java hay Python tuy nhiên thư viện
trong Ruby được gọi là GEM.

-

Bundler: là một công cụ quản lý việc cài đặt, cập nhật, gỡ bỏ, cấu hình cũng như
quản lý version của các GEM.

-

MySQL: là một hệ thống quản trị cơ sở dữ liệu mã nguồn mở (Relational Database
Management System, viết tắt là RDBMS) hoạt động theo mơ hình client-server.

-

Solr: là một open source full-text search platform dựa trên Apache Lucence.
Lucene là một thư viện được viết bằng Java dùng để phân tích, đánh chỉ mục
(indexing) và tìm kiếm thơng tin.

-

Ruby v2.6.5


-

Rails v5.0.0

-

Bootstrap 4.0.0

1.2. Dịch vụ chính:
Danh sách cơng việc:
Là nơi người dùng xem nhanh tất cả công việc của VeNJOB. Các công việc sẽ
luôn được cập nhật mới mỗi ngày tại đây.

Người phụ trách: Anh Lê Văn Hậu

Nguyễn Ngọc Nghĩa


14

Tìm kiếm cơng việc
Sử dụng cơng cụ search engine Solr giúp người dùng tìm kiếm theo từ, theo chữ
trong từ, theo keyword với độ chính xác cao.

Người phụ trách: Anh Lê Văn Hậu

Nguyễn Ngọc Nghĩa


15


Xem chi tiết công việc:
Người dùng xem chi tiết công việc, bao gồm tên công ty, địa chỉ, lương và mơ tả
cơng việc, có thể thêm cơng việc vào u thích hoặc đăng ký cơng việc.

Xem tất cả ngành nghề:
Người dùng xem tất cả các ngành nghề dựa trên tất cả các cơng việc trên
VeNJOB hiện có.
Người phụ trách: Anh Lê Văn Hậu

Nguyễn Ngọc Nghĩa


16

Xem tất cả thành phố:
Người dùng xem tất cả các thành phố dựa trên tất cả các công việc trên VeNJOB
hiện có.

Đăng ký cơng việc:
Người dùng đăng ký một cơng việc có 3 bước: Apply, Confirm và Done.
-

Ở bước Apply: người dùng nhập thông tin cá nhân và image, gửi CV lên hệ thống.

-

Ở bước Confirm: người dùng xác nhận lại thông tin đã nhập.

Người phụ trách: Anh Lê Văn Hậu


Nguyễn Ngọc Nghĩa


17

-

Ở bước Done: công việc được đăng ký thành công với người dùng hiện tại và dữ
liệu được lưu vào database.

Xem tất cả các công việc đã đăng ký:
Người dùng xem tất cả các cơng việc mà người dùng đó đã đăng ký trên
VeNJOB.

Người phụ trách: Anh Lê Văn Hậu

Nguyễn Ngọc Nghĩa


18

2. Thực hiện
Sinh viên: Nguyễn Ngọc Nghĩa.
Người hướng dẫn: Anh Lê Văn Hậu (Mentor).
Người đánh giá, giám sát thực tập: Anh Lê Hồng Hiếu (General Manager), anh Lê Văn
Hậu (Mentor) và anh Đỗ Hồng Sơn.
Và sự giúp đỡ tận tình của các anh chị trong cơng ty.

3. Q trình thực hiện VeNJOB:

Tuần 1:
-

Init app, push app lần đầu lên gitlab của công ty sử dụng công cụ Git.
Thiết kế cơ sở dữ liệu lần 1.
Chạy migrate lần 1 để tạo các bảng trong MySQL.
Báo cáo tuần 1.

Kết quả :
-

Có cơ sở dữ liệu thơ để tiến hành tạo VeNJOB.
Có một vào conflict code khi pull/push code.

Tuần 2:

Người phụ trách: Anh Lê Văn Hậu

Nguyễn Ngọc Nghĩa


19

-

Tạo một vào static pages đơn giản: Đăng ký, đăng nhập, yêu cầu mật khẩu cho
người dùng.
Chỉnh sửa cơ sở dữ liệu lần 2.
Lưu được thông tin người dùng vào database.
Mã hóa mật khẩu của người dùng, sử dụng các chuỗi mã hóa để xác thực người

dùng.
Lưu thơng tin đăng nhập của người dùng vào cookie nếu người dùng chọn Nhớ
thông tin đăng nhập.
Gửi mail đến người dùng khi đăng ký và khi yêu cầu mật khẩu mới, sử dụng
mailcatcher, chạy ở port 1080 để bắt mail.
Báo cáo tuần 2.

Kết quả :
-

Hoàn thành các chức năng cơ bản cho người dùng khi đăng ký và đăng nhập.
Có cơ sở dữ liệu hoàn chỉnh cho VeNJOB.
Biết cách sử dụng cookie/session.

Tuần 3:
-

Nhập dữ liệu công việc mẫu từ file CSV được lấy từ server FTP của công ty.
Viết file chạy tự động cho việc nhập dữ liệu (dựa trên header và chạy theo từng
hàng).
Phân tích dữ liệu đầu vào, kiểm tra tính đúng đắn của dữ liệu và lưu vào database.
Báo cáo tuần 3.

Kết quả :
-

Có sẵn 3000 cơng việc mẫu.
Việc nhập dữ liệu được chạy tự động và nhanh (3000 -> 5000 dịng).
Đảm bảo được tính đúng đắn của dữ liệu.


Tuần 4, 5:
-

Thiết kế các trang sau đây:
 Trang chủ (sử dụng bootstrap 4.0).
 Trang dang sách công việc.
 Trang chi tiết công việc.
 Trang ngành nghề.

Người phụ trách: Anh Lê Văn Hậu

Nguyễn Ngọc Nghĩa


20

-

 Trang thành phố.
 Trang Đăng ký công việc, Xác nhận và Hồn tất.
 Trang các cơng việc u thích.
 Trang các công việc đã đăng ký.
Căn chỉnh giao diện cho phù hợp với người dùng, dễ nhìn.
Báo cáo tuần 4, 5.

Kết quả :
-

Hoàn chỉnh 80% các chức năng cơ bản của một website tìm kiếm việc làm.
Vẫn cịn một số lỗi tuy không đáng kể.

Người dùng đăng ký công việc một cách trơn tru.

Tuần 6:
-

Áp dụng cơng cụ tìm kiếm Solr để tìm kiếm cơng việc.
Cài đặt Solr server.
Thiết kế schema cho data của VeNJOB trên Solr server.
Tiến hành index dữ liệu lên Solr.
Tạo form tìm kiếm cơng việc.
Báo cáo tuần 6.

Kết quả :
-

Người dùng tìm kiếm cơng việc chính xác đến 90%.
Tìm kiếm được cả bằng tiếng Việt và các ngôn ngữ khác.

Tuần 7:
-

Mở rộng số lượng công việc bằng cách crawl dữ liệu từ careerbuilder.vn
Viết file crawl dữ liệu.
Việc crawl dữ liệu tự động chạy mỗi ngày một lần nhờ lịch trình được tạo sẵn.
Viết file lưu dữ liệu vào database, có sử dụng kỹ thuật “bulk insert” để lưu số
lượng lớn công việc.
Báo cáo tuần 7.

Kết quả :
-


Các dữ liệu cơng việc có liên kết với nhau vẫn đảm bảo tính chính xác.

Người phụ trách: Anh Lê Văn Hậu

Nguyễn Ngọc Nghĩa


21

Đảm bảo việc lưu dữ liệu đúng và nhanh, mặc dù số lượng công việc lên tới
20000 công việc.
Tuần 8:
-

-

Thiết kế trang admin.
Người udnfg admin khi đăng nhập vào sẽ đưuọc xác thực có phải admin hay
khơng.
Admin có quyền quản lý tất cả người dùng.
Admin có quyền quản lý tất cả các cơng việc đã được đăng ký.
Admin có quyền xem tất cả những người dùng hiện có đang đăng ký các công
việc nào.
Báo cáo tuần 8, báo cáo tổng kết đồ án.

Kết quả :
-

VeNJOB hoàn chỉnh ở mức 90%, có các chức năng cơ bản, tìm kiếm nâng cao,

quản lý như một website tìm kiếm việc làm thơng thường.

Người phụ trách: Anh Lê Văn Hậu

Nguyễn Ngọc Nghĩa


22

TÀI LIỆU THAM KHẢO

Linux/Ubuntu
/>Git
/> />Rubocop – Coding standard
/> />Ruby
/> /> />Rbenv
/>Ruby on Rails
/>Và một số tài liệu giới hạn của công ty.

Người phụ trách: Anh Lê Văn Hậu

Nguyễn Ngọc Nghĩa


23

TỔNG KẾT

Với thời gian là 3 tháng, dưới sự dẫn dắt của mentor Lê Văn Hậu cũng như các anh chị
trong cơng ty, em đã hồn thành VeNJOB và đạt đa số các yêu cầu ban đầu. Điều này làm cho

VeNJOB mang trong mình các chức năng cơ bản của một website tìm kiếm cơng việc và được
áp dụng các công nghệ cũng như một ngôn ngữ mới – Ruby – mà trước đây em chưa từng tiếp
cận.
Em xin chân thành cảm ơn anh Lê Văn Hậu, anh lê Hồng Hiếu, anh Đồ Hồng Sơn cũng
như các anh/chị trong công ty đã tạo điều kiện cũng như dẫn dắt em, giúp em hoàn thành tốt đồ
án VeNJOB này.

Người phụ trách: Anh Lê Văn Hậu

Nguyễn Ngọc Nghĩa



×