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

Khóa luận tốt nghiệp: A JOB Matching System for internship management

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

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Job Matching System for Internship Management
Tác giả Tran Anh Tuan, Tat Quang Vu
Người hướng dẫn Ph.D. Nguyen Thanh Binh
Trường học University of Information Technology
Chuyên ngành Information Systems
Thể loại Thesis
Năm xuất bản 2020
Thành phố Ho Chi Minh City
Định dạng
Số trang 87
Dung lượng 29,27 MB

Nội dung

We want to cut down the role of middleman as well as helpthe bottom and middle level students because we think that companies and ITstudents are a community and being in a community is t

Trang 1

VIETNAM NATIONAL UNIVERSITY HOCHIMINH CITY

UNIVERSITY OF INFORMATION TECHNOLOGY

ADVANCED PROGRAM IN INFORMATION SYSTEMS

TRAN ANH TUẦN - 16521386

TAT QUANG VU - 16521459

A JOB MATCHING SYSTEM FOR

INTERNSHIP MANAGEMENT

BACHELOR OF ENGINEERING IN INFORMATION SYSTEMS

HO CHI MINH CITY, 2020

Trang 2

NATIONAL UNIVERSITY HOCHIMINH CITY

UNIVERSITY OF INFORMATION TECHNOLOGY

ADVANCED PROGRAM IN INFORMATION SYSTEMS

TRAN ANH TUẦN - 16521386

PH.D Nguyén Thanh Binh

HO CHI MINH CITY, 2020

Trang 3

ASSESSMENT COMMITTEE

The Assessment Committee is established under the Decision „ date

"—— - by Rector of the University of Information Technology

1 Assoc Prof Dr Nguyen Dinh Thuan - Chairman

2 Dr Cao Thi Nhan - Secretary

3 _ Dr Ngo Duc Thanh - Member

Trang 4

First of all, we would like to express our grateful attitude to the entire InformationSystem faculty staffs for helping us since we set our foot in this school During thetime since my first year up to now, we have received a lot of help, not only fromteachers but also from the infrastructure staff

In particular, we would like to express my thanks to Dr Nguyen Thanh Binh who

helped us a lot with our graduation thesis Thanks to the suggestions and corrections

he gave us, we can overcome our own drawbacks and errors for a better outcome ofgraduation thesis

Besides, we would like to say thanks to our families, friends, others teacher foralways cheer us up and willing to give us a hand whenever we are in needed

During the process of research and implementation, we encountered a lot of difficultproblems, but thanks fully, Mr Binh and other faculty teachers always there to listenand give us advices Without the help of Mr Binh and other teachers, we think we

did not make it this far

Once again, we sincerely thank you!

Trang 5

TABLE OF CONTENTS

csoACKNOWLEDGMENTS sesscssssssscssssesscssssssscsssseccsnsesscessecsssnssesecsnneesscsnseessssneeesess i

IV )02/9)0209)/0/00)05055555 14 ii

LIST OF FIGURES cccscssssssssssssssssessssesscsssscsscsesscsssesscsessesnssessssesssensseensenesenes viii

LIST OF á0.)20500157 5 xLIST OF ABBREVIATIONG ccsssssssssssssssssesesesssssessessssssssssssesesassesesssseserseseees xiABSTRACCTT 5-5 5< S420 101040403 0101800301000010140401004044010104040850 xii

Chapter 1 : THESIS OVERVIEYW SH HH 01010300301080808006 1

1.2.2.1 Monster.com -ccscceeeeesererrerrrrrrrre1.2.2.2 Jobscentral.com.sg ¿5-55 5escssterrkerkerxerrrrkerserce O

1.2.3, Comment

1.3 Objective and Scope cà TH re 7

1.3.1 ObjeCLVe Tà HH HH HH He D1.3.2 `)

1⁄4 Report outline

Trang 6

Chapter 2 : KNOWLEDGE BASE scsssssssssssssssssesssecnsescsscnsescnsenseeensensesenseeeaees 10

2.1 Technical background 5 ¿55+ 5++ 2+ £E2xeExexxerrkerkerkrrrrrre 10

2.1.1 Programming languages - ees e5csssrsseerersererrreeee.e TÔ,

2.1.1.1 Ruby

2.1.1.2 ÏaVASCTIPV Ăn II2.1.1.3 HTMLS

2.1.2 Software frameworks c-55cccseeeesesererrrrrrrrrre T4

2.1.2.2 Bootstrap 4 Ă s21 192.1.2.3 MySQL relational database management system 20

2.2 Theoretical background and our propoOSes ‹ 5:c5cs5csccsc.-+ 2Í

2.2.1 Required attrIDU(€S 5566 S*S*2k2E£EEEkEkEESEEkkerrkrkrrrree 21

2.2.1.1 Campaigns attributes -¿-c+cc+ccsceceerereseeeeeeeeee 212.2.1.2 Students attributes

2.2.2 Matching algorithm - - eesessessesessessessestssessessesesstssessssnesees 22

2.2.2.1 Matching algorithm ÍÏOW ceseseseseeseseseesesesesseseseeenes 232.2.2.2 Checking conditions insigh - - -s«sscscceveeeeeseev.e.ve 22.2.2.3 Algorithm insight flowchart -5-ccccsexeeereeeeerreeeervev 27

Chapter 3 : SYSTEM ANALYSIS AND DESIGN -. -< ec<ceses 28

Trang 7

3.2 Use case DiagraIms - ¿cà tthheegteeercerecce 2

3.3 Main Activity diagram s+ +22 2 1212111212111 36

Company add and edit campaign

Company view list matched student and contact student 41Company update profile cee eeeeeeeseesessessesteseeseesesteseesesneseeens AD

Admin and Super Admin manage cafegOries -. -:5-+ 4

Database system design -5- 555cc 443.3.10RRelational diagram - ¿5c AA3.3.11 Relational diagram Aescription - - - + 5c5ccceseexeeeeeeer TỔ

3.3.11.1 Table “users” -.- sec TỔ3.3.11.2 Table “companie§” - «csceeeeeeeeererrrree TỔ3.3.11.3 Table “studenfs” cty 463.3.11.4 Table “languags” -cscccctthntHtHHHe 473.3.11.5 Table “certifications” -cceeeererreeoe 73.3.11.6 Table “category tech skills” -c-cece.- 483.3.11.7 Table “tech skills” -5c-cceeseeerrree 48,

iv

Trang 8

3.3.11.8 Table “languages sfudenS” - - 55c 5ccc+rcrkerkerrkerkerk3.3.11.9 Table “certifications students”.

3.3.11.10 Table “tech skills_students” -c-c<+c<ccccccee3.3.11.11 Table “job campaigns”

3.3.11.12 Table “certifications _campaigns” -. -c c-scccccee

3.3.11.13 Table “languages_campaigns”

3.3.11.14 Table “tech_skills _campaigns” -c-+c-ccc++

Chapter 4 : SYSTEM INSTALJLA TION -<s55e<5secssesesessssessessrs

4.1 Install and deploy the syst€m ¿2-5 ++x+E‡krkeEEErkerketerrrrrke

4.1.1 System requirement cccccsessecesesseeseeseescsecsessesneseseesesesseeseesesneeeesess

4.1.2 Development environment and system deployment

4.1.2.1 Development environmment ¿-5+©5¿5s+5<+s+>s+s+esxecse4.1.2.2 Production environImn€II -¿- - +5 +‡++££k+xererkrkererrkeee

4.2 Implemented Ụ ¿- - 52-5252 +tSE++EEkeEEEEEkErkErkrkrkerkrrrrrrrke

4.2.1 Loglnte 0////7772 ch ghe ra

mm 4.2.3 User Edit account informatiOn -s¿©5+555sccxscxvcxrerersrrrree4.2.4 Student Edit CV ^ 4.2.5 Student view matched Job ccecseeesesessessesessesesesessessestesessesneeneeene

4.2.6 Student profile preview ccccecsesessesseeeeeseeseesesnsseseessessseeseesesnseeseess

4.2.7 Company edit DFOfiÍ€ - + Street rườt4.2.8 Company profile DFCVICW - ¿St k1 1111111 1111k

4.2.9 Company view CaInpạgn ‹ ¿- 55c scsx+ctsterkerekerkerkerrrirrrke

50

52

5252

535353

54

5556558

59

Trang 9

4.2.10Company Add and Edit Campaign - OL

4.2.11Company view student of a campaign ¿ - essences Ô2

4.2.12Job preview

4.2.13 Admin add USer cccscecsecssesecseessessecseseseesecsseseesssseesessssssesseessessecsesseesees OF

4.2.14Super admin add User ccscccessecsesesseeseeseeseseeseesesnsseseeseessseeseesesneeeeseess 64

4.2.15 Admin and Super Admin manage uSeT ¿-‹ 5 55s+cc©<+ + OD

4.2.16Admin and Super Admin add new Skill Category

4.2.17 Admin and Super Admin add new Skill -5 +©5+©52 66

4.2.18Admin and Super Admin manage skill cat€gOTy -. -.« O68

4.2.19 Admin and Super Admin manage skill -¿ c-5-5+55+552 67

4.2.20Admin and Super admin add and edit ceT( . -s: «+ c-+ OF

4.2.21 Admin and Super admin manage cert -. - - 55¿©55s+s++se>s2 68

4.2.22 Admin and Super admin add and edit language .-. -‹ 084.2.23 Admin and Super admin manage language . ‹ -.- OD)

4.2.24Main Page ceccssecessesessessecseeseseeseesesneseseeseesesesseesesnssesecssensseeseeseaneaneneess 69

Chapter 5 : CONCLUSION AND DEVELOPMENT PLAN 70

Mi

Trang 10

vii

Trang 11

LIST OE EIGURES

cae

Figure 1-1 Vietnamwork user iTIGTÍACC eeesseseesessesseesestesesnesesteaesneenessens 2Figure 1-2 ITviec user iTTÍAC€ - esesseseeseesessesseseesessessssssstsessstesessesnesesseaes OFigure 1-3 Monster user i(€TÍAC€ - -ssssxstseereeeeeterreerrerrrrrreerreeeree AFigure 1-4 Jobscentral user interface

Figure 2-1 Rails MVC archit€CtUITG -5- <5 tk ng giờ 15

Figure 2-2 Algorithm ÏOW ¿+ - St 2k2 TT H100 121010121 0 giờ 23

Figure 2-3 An entry in campaigns model - 2 5 se +++x++cezxsrsersexeesercee 2Figure 2-4 An entry in students model -¿- +52 5ses+sesesesreeeseeereeseee-cee 24Figure 2-5 Algorithm flow insight ccccecsccssessessesessessssseseesesssssesessessssssssesscseeseses 27

Figure 3-1 Overview use case diagram cecceccesessecsessecesseesesssseeseeseeseeecseeseeseseseeses 29Figure 3-2 Students manage CV use case diagTaim - ¿+5 s< server 30

Figure 3-3 Admins manage users use case diagram

Figure 3-4 Admins manage categories use case diagram - 3ÍFigure 3-5 Detail of admins manage skills category use case điagram 32Figure 3-6 View and contact partners use case diagTaim - - 5+ scs+sxcxsxee 32

Figure 3-7 Admins manage job campaigns use case diagram - 33

Figure 3-8 Companies manage job campaigns use case diagram - 3SFigure 3-9 Register activity điagram - -55-csscsctersrrsrererrrrrrrrrrerer OOFigure 3-10 Login activity diagTam ¿5-55 c+stsstererterererrrrrrrrrrrrre ODFigure 3-11 Students view jobs and contact a company activity diagram

Figure 3-12 Students update CV activity diagram -+©s+©scsceccerxer 39

Figure 3-13 Companies add and edit campaign activity diagram 4ÖFigure 3-14 Companies view matched students activity diagram ALFigure 3-15 Companies update profiles activity diagram -. ‹ - 42

Figure 3-16 Admins manage categories activity diagram -. .-.-.-‹.‹ 3Figure 3-17 Relational diagram cccccccscsssessesseseeseeseeseseseeseesesnsseeseesssssseeseessseeseeses 44

Trang 12

Figure 4-1 Login ÍOTI - ¿5£ 5£ 2S S*Ek‡k#E#ESEk#kE E1 111 ri OO

Figure 4-2 Register ÍOTI 2-52 2 SSSk‡ E2 E12 1 11111111 ODFigure 4-3 Edit account ÝOTIN - - «5c St tetsekekerereketerrererrerrrrrrrrrrerree 4Figure 4-4 Students edit CV form - 5-5522 2t x2 221211121111 55

Figure 4-5 Students matched job page

Figure 4-6 Students profile preview page sccccsecsecesessteseeseesseeseesestssteseesseeseeseeses OD

Figure 4-7 Companies edit profile page -¿- ¿5° 5 <+cecxexsrerkererrrrreerce D8Figure 4-8 A company profile preview page cscecsessesseseeeseseesesseeeseseeseeseseeseeees OD

Figure 4-9 Companies view campaign seCfiOn - 5555 5+5+2ccxrerrreerree 60Figure 4-10 Companies add and edit campaigns section -.-. . . - OLFigure 4-11 Companies view matched student section cccccceseses eee O2

Figure 4-12 A job preview S€CtÏOI1 555cc ODFigure 4-13 Admins add users form

Figure 4-14 Super admins add users ŸOrm ¿+ 5 25+ ++++++s+z+vx++s++xex 64Figure 4-15 Admins and Super admins manage users sectIon .- OSFigure 4-16 Admins and Super admins add new skills category form 65

Figure 4-17 Admin and Super admins add new skills form - 06Figure 4-18 Admins and Super admins manage skill category section ĐÓ

Figure 4-19 Admins and Super admins manage skills section .- Ø7Figure 4-20 Admins and Supers admin add and edit certs form - - 67Figure 4-21 Admins and Super admins manage certs section

Figure 4-22 Admins and Super admins add and edit languages form 68Figure 4-23 Admins and Super admins manage languages section - 69Figure 4-24 Main page - + + TT HT TH HH dường 69

ix

Trang 13

LIST OE TABLES

cae

Table 2-1 Campaigns’ required attributes table - c©«5«+c+sxecxeevexeeeeece 22Table 2-2 Students’ required attributes table ¿- 55c ©c+se+ceseseeeveeeeeeecev 22Table 2-3 Campaigns model description table -«s<s-=exsxexesxeceeveeexe-xe 24Table 2-4 Students model description table

Table 2-5 Point table ¿55-52522222 2 E22 121321111111111.11.1111 1111 re 25

Table 3-1 Stakeholder tablG ¿525 E2 SE SkEkE*2EEk2kE T110 01 1 r1 ườn 34

Table 3-2 List of use cases table 52-5 5c‡S++£zketkerkekrrerrrrrrrrrrrrrrre TỔTable 3-3 Users table description ccccesesesesessesessessesseseesessessesessessessesssseeseseeseeses đỔTable 3-4 Companies table description -¿- 55c 5sess+ceccseseeeeseeereeee.- 46Table 3-5 Students table đ€SCTID(ÏOH eseeseseseeseneseseeeseseeseasseseeseaseeeneaeseaee 47

Table 3-6 Languages table €SCTID(IOI -¿- ¿5c 6 S2 S*‡E‡E£EEEEkekerkrkerrrkrkrkrree 47

Table 3-7 Certifications table description

Table 3-8 Category_tech_skills table description -2 +c-sc-c - 48Table 3-9 Tech_skills table description ¿- + ssceeceseeseeeeseer-e.-.- 48Table 3-10 Languages_students table desCrIptiOn - - «6+ s++x+cvzvrxrxexe 49

Table 3-11 Certifications_ students table descrIption -. ¿-‹+s+555s5s+5s+ 49

Table 3-12 Tech_skills_students table description -. -‹2 e-e -«-. ADTable 3-13 Job_campaigns table description ccesesseeeseseseesesseeneeeseeseeseseeseeees OOTable 3-14 Certifications_campaigns table description -‹ - OOTable 3-15 Languages_campaigns table description

Table 3-16 Tech_skills_campaigns table description -. -‹ -‹«-+-s++ 5

Trang 14

Open graphic library

Object oriented programming

Java Server PageHypertext Markup Language

Model — View — Controller

Enterprise resource planning

xi

Trang 15

Nowadays, Information Technology field is growing fast, in order to have a place inthe job market, students will have to study their best in order to compete with others.The IT field consists of many small branches such as information system, security,network and system With the wide range of choices, when students first set foot in an

IT school, usually they will have to choose which major to follow

Students in all IT majors have to find an internship in order to be qualified byschools The problem is only 5-10% students at the top can easily find an internship

Similarly, firms only want best students As a result, students in middle and bottom

level are having a hard time finding internship job Looking at schools’ perspective,schools want to solve the problem that is students cannot find internships Problemsabove caused by conflicts between companies, schools and students Firms aregreedy, they only want best student, so they may use job posting platforms, jobaffairs, single matchmaker Moreover, students want best companies but theknowledge among students is not equally distributed Lastly, schools want students to

be graduated but students have to ensure internship credits

By being aware of such issues We decided to build a web — based platform that helps

IT students to find jobs that fit them and companies to find the right candidateswithout paying money We want to cut down the role of middleman as well as helpthe bottom and middle level students because we think that companies and ITstudents are a community and being in a community is to help each other, everystudent should be able to find a suitable job and every company should be able to find

a potential candidate without paying By helping students find their suitable jobs, we

can reduce the number of students who could not find internships

In conclusion, we think this project will help students and companies a lot, not only

by helping with finding suitable partners but also by reducing the amount of moneyand time that they will have to spend

xii

Trang 16

Chapter 1: THESIS OVERVIEW

1.1 The problem

This is a project that helps third and final year IT students who have a desire to find

an internship on the internet This project is critical and realistic because firms are

recruiting fresh IT staffs and IT students in middle and bottom level often have ahard time finding their suitable job

In recent years, the needs of human resources in information technology field in

Vietnam increases dramatically As a result, many students tried to get their foot inthe door In the IT field, we have a lot of small branch, such as software, network,web development, database and so on The majority of IT students tried to find the

suitable job on job platforms such as Vietnamworks, Itviec and Careerbuilder IT

students must find a place to do internships and must pass internship credit in order

to be graduated Top level students can find suitable companies, but students inmiddle level and students do not have good knowledge are having a hard timefinding a place to do internship and pass internship credits Moreover, companiesactually do not take internship too seriously, even if they care, they will only have alook on top students by using high demand Schools also having problems solving

internships for students

The problem is how to help schools with their problems, the needs of doinginternship of students as well as firms Many recruiting systems appear, job affairswere held However, all mentioned above can only response to the need of firms

and only top students have advantages As a result, the major problem is not yet

solved

By realizing the needs of matching suitable firms to students, we decided to build a

job matching platform using students’ attributes and job campaigns’ descriptions to

help students find a list of suitable jobs Using this system, firms and student willhave an easy time finding suitable partners For firms, they do not have to wait forstudents to apply anymore, after a day, the system will update and yield a list of

Trang 17

students that matched firm requirement and the list of students will be randomize.Similarly, students do not have to find jobs by searching for each one on the internetanymore, the system will also yield a list of suitable internship campaigns forstudents.

Figure 1-1 Vietnamwork user interface

Vietnamworks is one of the most trusted sites for finding jobs in Vietnam

Consisting of many different types of jobs, with simple user interfaces, all functions

is optimized and with the main purpose is to help firms find appropriate candidates.Besides, Vietnamworks do offer well designed courses for those who want to

improve their skills

The website has the main function to search for jobs base on keywords such as jobtitle, company name and skills After input keywords, users will be navigated to alist of jobs that has attributes matched the keywords The user then can find out

Trang 18

information about the job, for instances, requirement, salary, work location and so

on Vietnamworks also offer mobile based application.

Users can use website filtering tools based on criteria:

- Level.

- Salary range.

- Category.

Students and schools’ problem might not be solved yet, be cause the platform only

benefit companies and top students only Sometimes, when a student applies for a

job, he or she’s profile may not be processed In many cases, companies will have to pay more to find suitable candidates or in worst case, they have the candidate’s CV

but they discard it because they only want top students only.

Although Vietnamworks is a huge job posting platform, but it is lack of IT jobs for freshers and for students those who want to find an internship Firms have to pay to get their job posted.

YecuCOMAANK Inspire the Next 4 & y

Techcombank Hitachi Vantara DFO Global Performance

Figure 1-2 ITviec user interface

Trang 19

Beside Vietnamworks, Itviec platform is also one of the most trusted sites for

recruiting in Vietnamese The site is specialized in IT job posting only Similarly, just like Vietnamworks’s main function, ITviec allows firms to pay and have their

jobs posted on the site The little different here is Itviec allows people to actually review and see others’ reviews about the company.

Itviec allows users to search for jobs base on skills, firm names, job titles and locations They offer a wide variety of IT jobs, including system, network, software, hardware and ERP Moreover, the site offers users to receive similar jobs through mails if users press the bell button in each job page.

Sadly, this site only allows people to search for job based on keyword and location User cannot search for salary range like Vietnamworks, but the main point here is this site is for IT jobs only.

Although it is one of the IT job platforms but it is lack of job for freshers and students those who want to find an internship for themselves Similarly, only firms and top students can benefit from it.

1.2.2 Related systems in worldwide

1.2.2.1 Monster.com

monster

Figure 1-3 Monster user interface

Trang 20

Monster.com is a website that allows user to find a variety of jobs such as sales, IT, healthcare, and so on Firms using this site also have to pay for advertisement fees,

usually monthly fee in order to have their job posted.

People can use filtering tools on the site to filter jobs based on:

Despite the site is huge, but it has so little information for IT student who want to find

an internship for themselves IT students will not benefit from this system much because the jobs range is too wide and it is lack of internship for IT students.

Trang 21

Popular iob searches

Figure 1-4 Jobscentral user interface

The website is similar to Monster, offering a wide variety of jobs It is located in Singapore and own by a Singaporean group so jobs will mainly be located in Singapore.

This site offers a section for fresh graduated student which is better than all sites we mentioned above, but there exists a drawback that they do not offer many internships for IT students.

Just like other sites, this site allows users to search and view jobs as they like but the limited is the users sometimes cannot see the salary range of a job title they are finding After input some keywords and search, the site will yield a list of suitable jobs for users and they can selectively view each one.

User can use the site’s filtering tools to filters:

- Job Nature.

- Qualification.

- Position Level.

Trang 22

1.2.3 Comment

Overall, websites mentioned above have the same function is to help users search for suitable job and firms find the right candidates, but only top students have advantages Those system only benefits firms most because they can pay money to find top students and middle level students are being disqualified Similarly, schools

do not benefit much from those system, they still have to deal with student internships problems.

After researching system mentioned above, we have decided to build a job matching platform to serve the need of finding internships of students, to help schools solve

internships problems and help firms find appropriate candidates.

1.3 Objective and Scope

1.3.1 Objective

To meet the needs of students and firms This thesis builds a matching system based

on students’ attributes and job campaigns’ attributes From that, we can cut down

the role of middleman, to be more specific, firms will not have to spend money to get their jobs posted and students will not have a hard time finding suitable job

because this system will automatically match students’ profile to suitable jobs, all

students have to do is select a job and contact firms or firms will contact them.

After doing some investigation and see some of the job posting platform, we decided to offer a way for this thesis:

- Building a website that have user-friendly interfaces Simultaneously, the

site will offer key functions such as: registration, login, account management, updating student CV, job campaign posting, admin manages categories (main categories including campaign and users), displaying jobs

to student, displaying students to firms.

Trang 23

- Cutting down the role of middleman, firms and students will not be charged

any amount of fee when using this platform This platform will benefit students who are finding an internship most.

- Creating a job matching engine that runs daily to update firms’

requirements and student CV.

- Technologies used: HTMLS, Ruby on Rails, MySQL, Javascript,

The aim of this thesis is researching about Ruby on Rails and use Ruby on Rails to create a web-based job matching platform to help match students to job campaigns of companies.

- Deployment platform: Heroku.

- Database System: MySQL.

- Software: sublime text, Visual Code, MySQL WorkBench.

The site will mainly focus on display match partners to firms and students base on their attributes to cut down the role of middleman as well as help middle and bottom level student to find suitable jobs.

About matching engine: group has a self-developed a match algorithm base on point, importance of skills and entities attributes.

In the process of doing this thesis, group has used some tools to serve the needs of researching and building this project Tools include:

- Visual Code: A free source-code editor made by Microsoft for Windows,

Linux.

Trang 24

- Visio 2016: A diagramming and vector graphics application and is part of

the Microsoft Office family.

- Git: Managing code.

All tools and software above were installed and used on Windows 10 — education and ubuntu 18.04 LTS

1.4 Report outline

Chapter 1: THESIS OVERVIEW

The section points out not only students’ problems when looking for a suitable job but also companies’ problems when finding suitable candidates Moreover, the

section also introduces the solution, goal of the thesis, some job platforms popular in Vietnam and around the world.

Chapter 2: KNOWLEDGE BASE

The section introduces knowledge about programing programs, languages, and the method that the thesis uses.

Chapter 3: SYSTEM ANALYSIS AND DESIGN

The section points out functional requirements, non-functional requirements, storage requirements, database, main use cases and actors that related to the project.

Chapter 4: SYSTEM INSTALLATION

The section illustrates how the matching process works, system requirements and the user interfaces of the website.

Chapter 5: CONCLUSION AND DEVELOPMENT PLAN

The section shows results, strong points and drawbacks of the website Moreover, the development plan for the project is also displayed in this section.

Trang 25

Chapter 2: KNOWLEDGE BASE

Ruby follows the path of OOP languages such as Perl and use programming syntax as easy as C and Java for new programmer to learn It is actually open-source and people can use it freely on the web Moreover, Ruby is an interpreted programming

language.

In the old days when people were using JSP to embed Java into HTML page, now they can embed Ruby into HTML page too It is said that many people use Ruby because it supports most of the platform such as Windows, Linux and Mac, but that is not all, because of it clean and easy syntax, many new developers can get used to it very quickly.

Ruby has many features, including:

- Object Oriented: Every value in ruby is an object.

- Dynamic: All things in a program are built by the code when it runs.

- Metaprogramming: Everything in Ruby are objects, people can use them to

learn about them or even modify them while the program is running.

- Flexibility: Most operators of Ruby can be overloaded.

Advantages made Ruby language so popular:

- Ruby is a server-side scripting language just like Python and Perl.

- Ruby is now used for developing internet and intranet applications.

10

Trang 26

- Because Ruby support many GUI tools such as OpenGL, it is endorsed by

many developers.

- Multiplatform is not an exception, Ruby can be installed on both Linux and

Windows operating system.

- It has an awesome testing infrastructure making it so popular among

programming languages market.

Ruby is also known for its wide range of libraries and its huge support communities.

2.1.1.2 Javascript

Javascript is a website programming language, because of its lightweight, it is the most popular part of a web page Javascript’s first name was LiveScript, but then Netscape changed its name to Javascript Because of its highly convenient, Javascript can be used in many different web browsers, popular example of this is Chrome, Firefox and Safari Besides, the language is developed and designed to be fully functional on web browsers of smartphones and tablets.

A Standardized Javascript version has certain main characteristics such as:

- Javascript is an interpreted programming language.

- Javascript is an open-source and a cross-platform programming language.

- Javascript can be integrated with HTML.

Javascript is also known for its usage at the client-side (Client-side Javascript) It was created in ten days by Brendan Eich, a staff of Netscape Its first name was Mocha, then Mona, Livescript and Javascript is the final name as we mentioned above Developers tend to use Javascript to trap user events such as button clicks, link

navigation, items hovers and so on.

11

Trang 27

Javascript has a lot of benefits, but the following is widely known for making its bestquality:

Javascript is process at client-side, which means less servers interaction.Developers can validate user input before sending the page to servers As a

result, this saves traffics and reduce heavy workload of the servers

With Javascript, developers can generate feedback to visitors Guests do nothave to wait for pages to be reloaded to see if they forgot to input anything.Javascript’s syntax is similar to English making its easy to learn

Javascript is quite fast for the end users When the code is executed on end

users’ computer, it processes inputs and generate results so quickly that itdoes not need servers

Richer interfaces are also an important feature of Javascript Developers

create drag and drop as well as slider elements easier

Although it is widely use, Javascript also has some drawbacks Developers shouldknow that Javascript is sometimes limited in certain ways, such as:

2.1.1.3

Client-side Javascript does not allow the reading or writing of files due tosecurity reason

Javascript cannot be used for networking applications

Javascript does not have any multi-threading or multiprocessor capabilities

HTMLS

HTML stands for HyperText Markup Language which mainly known for its

capability to create a web page A normal website may contain many pages, and eachpage is a HTML document HTML was created by Tim Berners-Lee and published in1993

HTMLS5 was developed to serve the purpose of improving user experience ofuncompleted functions of the previous version HTMLS is now including audio,

12

Trang 28

video, charts tag making it easiser to integrate multimedia and graphical content toweb pages without the needs of plugins like adobe which cause a lot of resources in

the previous version In 2020, HTML supports almost any web browser: Chrome,

Firefox, Opera, CocCoc, Edge

HTMLS has many improvements compared to its last version:

- More form-control such as day, time, mails

- Better performance

- Div tag can be replace with semantic elements

- HTML5 makes use of application cache and web SQL to store temporarydata

- HTMLS page can be fully loaded when offline - also known as offlinecache

HTMLS brings joy to developers by:

- Increasing the compatibility of mobile devices Developers will have an

easy time designing mobile web interface

- Eliminating the needs of creating cookies because it now has local storage

- Enabling developers to create sliders in an easy way

- Developers can modify Data Attributes With HTMLS custom data can be

added which increase the opportunities to create a better webpage

- HTML5S can minimized the needs of Javascript by making form validationnative to HTML

HTMLS can help end users:

- Having a better web surfing experience

- Eliminating Flash helps provide better experience for users

- Supporting audio and others multimedia elements, user will not need toload for heavy flash plugin like the old days anymore

13

Trang 29

- Users can now use mobile device to surf the web with better experience.

2.1.2 Software frameworks

2.1.2.1 Rails

Rails is known as a web application development framework written in Ruby

programming languages The purpose of Rails is to make web development easier.Rails also enables developers to write less code but accomplish more than many other

frameworks

Rails was created by David Heinemeier Hansson in 2003 While David was working

for Basecamp Company, he extracted Ruby on Rails and released it as open-sourcecode in July 2004 Rails sticks to the following essential principles:

- Ruby programming language

- Model — View — Controller architecture

- Programmer happiness

Rails is said to be an opinionated software When developers are preparing to write an

application using Rails framework, developers have to perform three primary tasks:

- Describing and model the application’s domain

o The domain is the main universe of the application

- Specifing what can happen within this domain

o The domain is static, we have to make it dynamic by identifying all

possible scenarios or actions that elements of the chosen domain can

participate in

- Choosing and designing the publicly available views of the domain

o Views basically is a display page to user

14

Trang 30

Based on three tasks above, Rails deals with a MVC framework:

Figure 2-1 Rails MVC architecture

- Model (ActiveRecord): Responsible for maintaining relationship between

objects and database as well as handling validation and transaction Model

is implemented in ActiveRecord library providing interface and bindingbetween Ruby code and database The names of Ruby method are generated

automatically from field names in database

15

Trang 31

- View (ActionView): A presentation of formatted data, triggered bycontroller’s decision to present data View is implemented in ActionView

library which is also known as embedded Ruby (ERb) base system for

defining presentation templates for data presentation Any attempt toconnect to a Rails application results in the display of View

- Controller (ActionController): Controller is implemented in Actioncontroller Responsible for directing traffic and querying model for specificdata It sits between ActiveRecord and ActionView

So why developer endorsed Ruby on Rails so much? Simply because they can

develop a web application at least 10 times faster with Rails than developers could do

with a Java framework Also, because of its open-source characteristic and itsflexibility of configuring code with database schema, many new developers jump inand learn it Last but not least, it is also famous for its ability to skip compilation

phase

Rails is actually an “Full Stack Framework” because it includes everything needed tocreate a database-driven web application by using MVC model mentioned above.Because of its “Full Stack” characteristic, all layers are built to work seamlesslytogether with less code compared to other frameworks Rails also has a characteristiccalled “scaffolding”, when developing a website, people usually create temporarycode to get the website up and running to see how major components work together.Rails automatically create all those “scaffolding” for developers

There is nothing more to discuss about the strength of Rails, it is packed with featuresmaking people more productive, with many features building on one other Railsgives people three default environment:

- Development

- Testing

- Production

16

Trang 32

Each of the environment above behaves slightly different making your softwaredevelopment life cycle easier and more flexible For instance, Rails generates a newcopy of the Test database for each Test run.

When talk about testing, we can mention Rails’s built-in testing function Rails notonly generates simple automated tests that people can extend but also providessupporting code called harnesses and fixtures making test cases easier to write and

run Rails prefer convention to configuration, most web development frameworks

such as NET or Java force you to writes pages of configuration code

RubyGems is a package manager for the Ruby programming languages that provides

a standard format for distributing Ruby programs and libraries

Inside gems are the following components:

Trang 33

= freewill.gemspec

- Lib folder contains code for the gem

- Test or spec folder contain tests

- Rakefile is a file use to automate test, generate codes

Gemspec includes specifics information about a gem, for instance, name, version,description The following lines is a gemspec abstract:

s.description = ''I will choose Free

s.authors = [Nick Quaranto"]

s.homepage = 'http://example.com/freewill'

s.files = ["lib/freewill.rb"

end

To sum up, Rails has a lot of benefits making both developers and customers happy

The following is the main reason why Rails developed and endorsed by many people

so much:

18

Trang 34

- Time - efficient: Because of many characteristics mentioned above, Railsframework tends to reduce amount of time needed to build an application

- Scalable: Just like other web development frameworks, Rails is scalable

- It is supported: Similar to many other web frameworks, Ruby also has its

own supported community forum where people can discuss and help others

2.1.2.2 Bootstrap 4

Bootstrap is a framework used to design a website user interface It allows developer

to create a responsive user interface quickly Bootstrap includes HTML documents,templates, CSS templates and Javascript templates to create basic elements like

typography, forms, buttons, tables, navigations, modals and so on Inside bootstrap,

there are many Javascript plugin helping developer to design a user interface moreresponsive and more quickly

Bootstrap was created at Twitter in mid-2010 by @mdo and @fat Bootstrap used to

be known as Twitter Blueprint It was originally released in 2011 and up to now, it

has over 20 releases The newest version of bootstrap now is 5 but in this thesis wewill use bootstrap 4

Characteristic of bootstrap:

- Easy to use: Many examples, guidelines were carried out on the officialwebsite

19

Trang 35

- Responsive: With built in responsive CSS, developers can just call thename of the class making it easier and faster to develop a user interface.Moreover, developer can overwrite bootstrap’s CSS to fit their purpose.

- Compatible: Bootstrap is widely known for its compatibility It can run onany browser, ranging from the newest Edge to Chrome, but sadly, Internet

Explorer 9 or 8 and earlier version do not support it

2.1.2.3, MySQL relational database management system

MySQL is the most popular open-source relational management database system inthe world MySQL AB - a Swedish company created and developed MySQL.MySQL speed is fast, its stability is amazing Like many other play database systems,

it is easy to use, because of that, many firms endorsed MySQL a lot MySQL can run

smoothly on Windows, Linux and Mac operating system, providing many powerfulfunctions for users MySQL syntax and the way MySQL queries for data is the same

as SQL Server

Written in C and C++, MySQL main purpose is to handle large database, because ofthat it supports in-memory heap table and its module is designed to be independent of

others MySQL server works in client — server architecture or embedded systems

MySQL have so many advantages, but some important ones are:

- Cross — language: PHP, Java, Ruby

- The speed of processing data request is amazing

- Flexible just like other management systems

- Open — source

- Easy to manage

- Highly secure

20

Trang 36

2.2 Theoretical background and our proposes

After researching for solution for the problems, we have come to and idea that is tomatch students’ profile with companies’ campaigns by using students’ attributes andcampaigns’ attributes A student and a job campaign have similar attributes such as

salary, work_hour, gpa, certifications, languages, skill, skill level By using these

attributes, we can create a point based matching system for students’ profile andcompanies’ campaign

The system goal is to match students with companies’ campaigns as mentioned

above The matching system will run once per day at mid night As a result,

companies will get a list of randomized students based on matched student percampaign Similarly, each student will get a list of matched campaign

After being matched, companies and students can view each other profile; As a result,

they will be given a chance to contact each other By using randomized list of

students middle and bottom level students will have a chance to find suitable jobs

certifications_languages language_id

tech_skills_campaigns tech_skill_id

21

Trang 37

Table 2-1 Campaigns’ required attributes table

for each day for each campaign As a result, middle level and bottom level students

will have a chance to find their suitable jobs

22

Trang 38

2.2.2.1 Matching algorithm flow

Figure 2-2 Algorithm flow

2.2.2.2 Checking conditions insight

The model of campaigns and students will be store in temporary memory asmentioned, the data format for each entry will be displayed as following:

Campaigns model entry:

[1, 10000000, 40, 7.0, "Ho Chi Minh", [7, 8], [1, 2], [2, 1, 3, 9, 12, 6, 4], [2, 3, 1, 3, 2, 3, 1], [1, 1, 1, 1, 1, 1, 1], "1"]

Figure 2-3 An entry in campaigns model

An entry in campaigns model is made of eleven elements, index starting from zero, asthe following:

23

Trang 39

Index number | Meaning

5 Array of required certification

6 Array of required language

7 Array of required technical skills

8 Array of priority corresponding to element number 7

9 Array of level corresponding to element number 7

10 A flag indicates whether the job is open or not

Table 2-3 Campaigns model description table

Students model entry:

[1, 8000000, 40, 8.15, "Ho Chi Minh", [7, 8], [1, 2], [9, 12, 3, 2, 8, 11], [2, 2, 3, 3, 3, 3]]

Figure 2-4 An entry in students model

An entry in company model is made of nine elements, index starting from zero, as the

following:

Index number | Meaning

0 ID of a student

1 Expected Salary of a Student

2 Workable hour per week

3 Student’s GPA

4 Location of a student

5 Array of certifications student have

6 Array of languages student have

24

Trang 40

Array of technical skills student haveArray of level corresponding to element number 7

Table 2-4 Students model description table

Point per attributes:

Attributes Condition Point

Student salary in [Campaign alary — 1 million; +1Salary ¬

Campaign salary + Imilllion]

Work_Hours | Student Work_Hours > Campaign Work Hour +1

Student GPA > Campaigns GPA + 0.75

GPA :

Student GPA > Campaigns GPA - 1 +05

Certification | Matched +1 per each

Language Matched + 0.75 per each

Skill Matched + 1 per each

Highly important + 1 per each

Ngày đăng: 02/10/2024, 02:51

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN