VIETNAM NATIONAL UNIVERSITY, HANOI UNIVERSITY OF ENGINEERING AND TECHNOLOGYA SOCIAL NETWORK FOR STUDENT JOB Major: Computer Science VIETNAM NATIONAL UNIVERSITY, HANOI UNIVERSITY OF ENGI
Trang 1VIETNAM NATIONAL UNIVERSITY, HANOI UNIVERSITY OF ENGINEERING AND TECHNOLOGY
A SOCIAL NETWORK FOR STUDENT JOB
Major: Computer Science
VIETNAM NATIONAL UNIVERSITY, HANOI UNIVERSITY OF ENGINEERING AND TECHNOLOGY
Nguyen Trong Viet
SOCIAL NETWORK FOR STUDENT JOB
MARKET
Computer Science
HA NOI - 2013
UNIVERSITY OF ENGINEERING AND TECHNOLOGY
SOCIAL NETWORK FOR STUDENT JOB
Trang 2
VIETNAM NATIONAL UNIVERSITY, HANOI UNIVERSITY OF ENGINEERING AND TECHNOLOGY
Nguyen Trong Viet
SOCIAL NETWORK FOR STUDENT JOB MARKET
Major: Computer Science
Supervisor: Dr Le Sy Vinh
HA NOI - 2013
Trang 3AUTHORSHIP
“I hereby declare that the work contained in this thesis is of my own and has not been previously submitted for a degree or diploma at this or any other higher education institution To the best of my knowledge and belief, the thesis contains no materials previously published or written by another person except where due reference or acknowledgement is made.”
Signature:………
Trang 4SUPERVISOR’S APPROVAL
“I hereby approve that the thesis in its current form is ready for committee examination
as a requirement for the Bachelor of Computer Science degree at the University of Engineering and Technology, Vietnam National University, Hanoi.”
Signature:………
Trang 5ACKNOWLEDGEMENT
Firstly, I would like to express my respect and my special thank to my supervisor
Dr Le Sy Vinh, University of Engineering and Technology, Vietnam National University, Hanoi for the enthusiastic guidance, warm encouragement and useful research experiences
Secondly, I am grateful to all the teachers of University of Engineering and Technology, Vietnam National University, Hanoi for their invaluable knowledge which they taught to me during four academic years
I greatly appreciate, University of Engineering and Technology, VNU, Hanoi for their encouragements and insightful comments Moreover, I thank to my classmates in K54CA Computer Science: Vu Trung Kien, Do Thi Bac, Tran Van Binh, Pham Van Hoa, Nguyen Van Thang for supporting me during four years and especially helping
me to complete testing this system
Last but not least, my family is really the biggest motivation behind me My parents and my brother always encourage me when I have stress and difficulties I would like to send them my gratefulness and love
Trang 6v
ABSTRACT
The purpose of this study was to investigate to build a website that acts as a social network for students and manager of companies The website provides environment for students to test knowledge and skills It also helps managers as a channel for contacting students in easy way Another aim was to build a big and plentiful data source of multiple choice questions by contributing from manager users of system Finally, the process of building a website was pointed out
To accomplish, software development process was applied to build a website The first step, system requirements specification was done There were many requirements they consisted of functional and non-functional requirements listed The second, database was analyzed and designed The website used MySQL – an open source relation database management system – to manage database The works of collecting data have been started when database was created The third, website was designed layout and implemented The CakePHP framework was used as platform for
developing The fourth, from the first version to existing version were tested and tried
by my classmates they helped me point out system logic errors and graphical user interface errors The works of upgrading and errors correcting were consecutively done The website could be applied in fact from existing version but it still has been upgrading and developing with more function
The results of this study were a powerful website with many functions and friendly user interface The database was also contributed more than 200 multiple choice questions Besides, finishing this project gave me more experiences and skills for website development as well as system development I also enriched my knowledge and tried solve problems in fact
Trang 7Tables of Contents
List of Figure v
List of Table vii
ABRREVATIONS viii
Chapter 1 INTRODUCTION 1
1.1 Motivation 1
1.2 Contribution and Thesis Overview 1
Chapter 2 RELATED WORK 3
2.1 Basic Knowledge 3
2.2 Related Work 4
Chapter 3 SYSTEM ANALYSIS AND DESIGN 8
3.1 System Analysis 8
3.2 Database Design 12
3.3 System Module 21
Chapter 4 IMPLEMENTATION AND RESULTS 24
4.1 Platform and technology 24
4.2 User Interface 27
Chapter 5 CONCLUSIONS 38
References……… 39
Trang 8vii
List of Figures
Figure 2-1 - Client-server illustration………7
Figure 2-2-1 - Website www.freelancer.com 8
Figure 2-2-2 - Website www.vietnamworks.com 9
Figure 2-2-3- Website kenhsinhvien.net………6
Figure 2-2-4: OpenViki Social Network………7
Figure 2-2-5: Zing me Social Network……… 7
Figure 3-1-1-1 - Student User Use-Case……… 10
Figure 3-1-1-2 - Manager User Use-Case………10
Figure 3-1-1-3 Admin Users Use-Case………11
Figure 3-2-1-1 - User Entity Diagram……… 12
Figure 3-2-1-2 - Question Entity Diagram……… 13
Figure 3-2-1-3 - Wall Entity Diagram……… 13
Figure 3-2-1-4 - Post Entity Diagram……… 14
Figure 3-2-1-5 – Category Entity Diagram……… 14
Figure 3-2-1-5 – Point Entity Diagram………15
Figure 3-2-2 – Relationship Between Entities Diagram……… 16
Figure 4-2-1 – Home Page……… 27
Figure 4-2-2 – Login Page……… 28
Figure 4-2-3 – Register Page………28
Figure 4-2-4-1 – List Post Page………29
Figure 4-2-4-2 – Detail Post Page………29
Trang 9Figure 4-2-5 User Profile Page……….30
Figure 4-2-6 User’s Wall Page……….30
Figure 4-2-7 List Student Page……….31
Figure 4-2-8 List Company Page……… 31
Figure 4-2-9-1 Setting Page……… 32
Figure 4-2-9-2 Answer Sheet Page……… 32
Figure 4-2-10 Question Management Page……… 33
Figure 4-2-11 User Management Page……….33
Figure 4-2-12 Creating Post Page……….34
Figure 4-2-13-1 Adding New Question Page……… 34
Figure 4-2-13-2 Upload File Page………35
Figure 4-2-14 Filter Page……….35
Trang 10ix
List of Tables
Table 3.2.3.1 - User Table……… 18
Table 3.2.3.2 - User category table……….19
Table 3.2.3.3 - Question table……….20
Table 3.2.3.4 - Question category table……… 20
Table 3.2.3.5 - Wall table………21
Table 3.2.3.6 - Post table……….21
Table 3.2.3.7 - Comment table………21
Table 3.2.3.8 - Point table………22
Table 3.2.3.9 - Answered Question Table………23
Trang 11management system
system
Trang 12Chapter 1
INTRODUCTION 1.1 Motivation
Nowadays, information technology is applied in large range of real life from
economics, education, healthcare, agriculture to geotechnical, military, Astronomers
It helps people not only in communication but also solve complicated problems
Power of information technology is uncompromising Trying to use benefit of
information technology is always making more benefits
In higher education, on the last year at university, most of students must find
internship address to practice as a required subject In my school, University of
Engineering and Technology, students face many difficulties in work finding
appropriate address as well as how easy to contact with manager of companies or supervisors Besides, many companies also face with difficulties about how to find excellent candidates and how to contact them in convenient way
From this fact, we have developed a system call “Internship Social Network” for students and manager of companies to solve these problems System enables managers
to public their company notices and reports Besides, managers could also add
questions to system Student users could take part in exam that generated by system and get points from this work These point values could be useful information for managers to choose appropriate students for their work
1.2 Contribution and Thesis Overview
This thesis describes about process building a website call “Internship Social
Network” using framework CakePHP Website provides environment for student who want to find companies to intern and for manager of companies to find student who is suitable for job Website acts as a social network and a contest tool Students after signing up and update profile could take part in examination to test their knowledge Managers after sign up and update profile could post notice about recruitment and report about results of last recruitment as well as contributing question to system Website is designed for a moderate volume of users I have integrated FCK Editor in
Trang 13website for easy to create a post and add question on manager session and admin session
The rest of this thesis is organized as follows:
Chapter 2, related works are presented First of all, I present about some basic
concepts that relate to my system The next, I mention about website freelancer.com –
a website in which users could post a project to hire or apply a project And the last, I refer to vietnamworks.com – a website for people to create curriculum vitae and find jobs
Chapter 3 shows the process of doing analysis and design of system On analysis phase, the first thing I present is the work of collecting system’s requirements they consist of functional requirements and non-functional requirements The second, I show use-case models that are suggested for system On design phase, I mention about entities on system, the relationships between them and structure of database that used
On the last of chapter, I discuss about system modules consisting of structure and function of these modules
Chapter 4 is devoted to mention about technology that I choose for my project I will discuss a little bit about CakePHP framework I show structure of CakePHP, how installing and using CakePHP framework At the end of chapter, I cover about MVC Model on web development
Chapter 5 is spent to present about implementation of website As well as showing user interface of system It will show what users really see and work with on system The last thing I cover about sample data that I have used
Trang 142.1 Basic Knowledge
Client-server system : Client
to server, for example retrieve homepage of website After that, server accepts query and analysis If needed, server will use database and retrieve
database or update database, it depends on what kind of client’s query After
retrieving data from database server will response to client Among connection, client and server use “3-way hands shake” to connect with each other
FigurSocial networks: A social network is a social structure of people in a electronic
environment There are many dyadic ties between users of social network, it makes social space Do not like a regular website, social network is system that enables users
to make social values between users [
Content management system:
program that allows publishing,
by a central interface Such systems of
manage workflow in a collaborative environment
steps or an automated cascade
RELATED WORK Basic Knowledge
server system : Client-server system act like this client’s browser sends query
to server, for example retrieve homepage of website After that, server accepts query and analysis If needed, server will use database and retrieve information from
database or update database, it depends on what kind of client’s query After
retrieving data from database server will response to client Among connection, client
way hands shake” to connect with each other [1]
Figure 2-1 - Client-server illustration: A social network is a social structure of people in a electronic environment There are many dyadic ties between users of social network, it makes
regular website, social network is system that enables users
ke social values between users [2]
Content management system: A Content Management System (CMS)
publishing, editing and modifying content as well as mainte
a central interface Such systems of content management provide procedures to
collaborative environment These procedures can be manualsteps or an automated cascade [3]
Chapter 2
RELATED WORK
server system act like this client’s browser sends query
to server, for example retrieve homepage of website After that, server accepts query
information from database or update database, it depends on what kind of client’s query After
retrieving data from database server will response to client Among connection, client
: A social network is a social structure of people in a electronic environment There are many dyadic ties between users of social network, it makes
regular website, social network is system that enables users
Content Management System (CMS) is a computer
as well as maintenance provide procedures to These procedures can be manual
Trang 152.2 Related Work
On this section, I will cover about
similar attributes with my system
2.2.1 Website www.freelancer.com
The website www.freelancer
someone complete it Besides, other users could apply it, and with permission of owner of applied project, users could be hired to do this project
Figure 2Freelancer is a channel to help connect between people who want to hire someone and others who want to find a work People could also receive certificate from freelancer
if they pass examination that suggested by freelancer.com,
this system Employee and Employer can made payment in trust way through
freelancer.com and it make payment more safely
On this section, I will cover about some website systems These websites have some similar attributes with my system
www.freelancer.com
reelancer.com is the site where users could post project to hire
someone complete it Besides, other users could apply it, and with permission of owner of applied project, users could be hired to do this project
Figure 2-2-1 - Website www.freelancer.comFreelancer is a channel to help connect between people who want to hire someone and others who want to find a work People could also receive certificate from freelancer
if they pass examination that suggested by freelancer.com, there are many contest in this system Employee and Employer can made payment in trust way through
freelancer.com and it make payment more safely
These websites have some
is the site where users could post project to hire someone complete it Besides, other users could apply it, and with permission of
Freelancer is a channel to help connect between people who want to hire someone and others who want to find a work People could also receive certificate from freelancer
there are many contest in this system Employee and Employer can made payment in trust way through
Trang 162.2.2 Website www.vietnamworks.com
Vietnamworks.com is a famous site for finding job and finding candidates for
Vietnam Anyone that visit site could find job they want by type a phrase of name of job and submit to find But to apply for this job, guests must register and update profile after that apply for this job
Figure 2
Vietnamworks.com gets more queries from users because it only shows job from companies that it has relationships Besides, it only shows 30 day old notice from company It is also famous because having more than 200 new job posted per
One feature Vietnamworks.com provides users is suggesting some career tip Most of them are useful with Vietnamese and many people just visit this site to read tip only.Vietnamworks.com is also the most successful site for finding job in Vietnam
employers always pose announcement in this site whenever they want to find some candidates for jobs
www.vietnamworks.com
is a famous site for finding job and finding candidates forVietnam Anyone that visit site could find job they want by type a phrase of name of job and submit to find But to apply for this job, guests must register and update profile after that apply for this job
Figure 2-2-2 - Website www.vietnamworks.com
Vietnamworks.com gets more queries from users because it only shows job from companies that it has relationships Besides, it only shows 30 day old notice from company It is also famous because having more than 200 new job posted per
One feature Vietnamworks.com provides users is suggesting some career tip Most of them are useful with Vietnamese and many people just visit this site to read tip only.Vietnamworks.com is also the most successful site for finding job in Vietnam
employers always pose announcement in this site whenever they want to find some
is a famous site for finding job and finding candidates for job in Vietnam Anyone that visit site could find job they want by type a phrase of name of job and submit to find But to apply for this job, guests must register and update
Vietnamworks.com gets more queries from users because it only shows job from companies that it has relationships Besides, it only shows 30 day old notice from company It is also famous because having more than 200 new job posted per day One feature Vietnamworks.com provides users is suggesting some career tip Most of them are useful with Vietnamese and many people just visit this site to read tip only Vietnamworks.com is also the most successful site for finding job in Vietnam Many employers always pose announcement in this site whenever they want to find some
Trang 172.2.3 Website Kenhsinhvien.net
The website kenhsinhvien.net
student can register as member and see posts from moderators and administrator of website
Figure 2
This site classifies content to man
category may have many articles In site, usually the most considered topic is shown
in home page Besides, the site also provides a forum for member to contact with each other and discuss This site is one of sites do “Grade Fame Sy
get higher grade if they visit site more and post more
many incentives from website like bandwidth or gift and so on
2.2.4 OpenViki – Social Network for student
OpenViki is a social network that developed
Science and Technology It firstly helps students who are learning in this university could contact, share and learn with others It is a successful product that made by
student OpenViki uses Wordpress platform
OpenViki enables student register as member, after signing up student could update profile and share information in site’s wall Members could contact with each other through inbox system of site Users could also sign in using their
someone uses Facebook account whenever he updates his Facebook’s status it will automatically posed in OpenViki’s wall
Website Kenhsinhvien.net
kenhsinhvien.net is one of the most famous sites for students In this site,
student can register as member and see posts from moderators and administrator of
Figure 2-2-3: Website Kenhsinhvien.net
This site classifies content to many categories depends on aspect of knowledge Each category may have many articles In site, usually the most considered topic is shown
in home page Besides, the site also provides a forum for member to contact with each other and discuss This site is one of sites do “Grade Fame System” well Member will get higher grade if they visit site more and post more With high grade, you could get many incentives from website like bandwidth or gift and so on
Social Network for student
OpenViki is a social network that developed by a student from Hanoi University of Science and Technology It firstly helps students who are learning in this university could contact, share and learn with others It is a successful product that made by
student OpenViki uses Wordpress platform
iki enables student register as member, after signing up student could update profile and share information in site’s wall Members could contact with each other
through inbox system of site Users could also sign in using their Facebook
someone uses Facebook account whenever he updates his Facebook’s status it will automatically posed in OpenViki’s wall
is one of the most famous sites for students In this site, student can register as member and see posts from moderators and administrator of
ect of knowledge Each category may have many articles In site, usually the most considered topic is shown
in home page Besides, the site also provides a forum for member to contact with each
stem” well Member will With high grade, you could get
by a student from Hanoi University of Science and Technology It firstly helps students who are learning in this university could contact, share and learn with others It is a successful product that made by
iki enables student register as member, after signing up student could update profile and share information in site’s wall Members could contact with each other
Facebook account If
someone uses Facebook account whenever he updates his Facebook’s status it will
Trang 18Figure 2
2.2.5 Zing Me – The biggest Vietnamese social network
Zing me is the biggest social network in Vietnam
Corporation Like other famous social network, it has many application
integrated in
Figure 2Members of Zing me could share something in their wall They could use many
applications from Zing, some of them must charge to use Zing me is attractive
because of electronic content of
Figure 2-2-4: OpenViki social network
The biggest Vietnamese social network
is the biggest social network in Vietnam It is developed by VNG
Corporation Like other famous social network, it has many application
Figure 2-2-5: “Zing me” social network Members of Zing me could share something in their wall They could use many
applications from Zing, some of them must charge to use Zing me is attractive
because of electronic content of it
The biggest Vietnamese social network
It is developed by VNG Corporation Like other famous social network, it has many applications that
Members of Zing me could share something in their wall They could use many
applications from Zing, some of them must charge to use Zing me is attractive
Trang 19function The last is mention about use-case models
3.1.1 Functional Requirements Specification
To build system, I have put myself on the position of users and administrator to
proposal useful requirements These functional requirements are suggested
System developed for student, manager of companies and admin
System enables guests to register new account, log in to system to use system function, logout when finish session works
System enables manager users post to system their notice about their
recruitment reports and requirements and also manage these notice like editing
or deleting Student can see post of managers as a list Admin could delete any post that created by manager users
System enables student users to take part in contest in multiple-choice format Students do not need to do repeat question and students get point from a right answer After students complete the test, not display answer of separate
question Just give him score
Companies’ manager users could add questions to system Questions must be
in multiple-choice format with four options of answer On work creating
question, manager could add separately questions or upload a given format file Managers could delete questions that they contributing
Managers could filter student according to a given criteria
Each user has a profile, it is public with everyone User could update his own profile after logging in
Each manager user and student user has his wall User could put a message on his wall, post a message in other’s wall User could put comments on each post
Trang 20 Admin could see list user on system and delete any user
Admin could add new question to system and upload a given format file to add questions as well as deleting questions
3.1.2 Non-functional Requirements Specification
In this website, beside these above functional requirements, there are some
non-functional requirements that are necessary for system These below have been
integrated in processing of develop system:
In the work of register, people must type username longer than three characters and password not shorter than six characters Username that registered must be unique When user type account for log inning, password must be hidden characters After user log out of system, cookie must be deleted after user log out
Not using directly SQL statement in source code to prevent SQL attacks.[4]
System must be easy to upgrade
System must manage failure request like page not found or request deny
After log in, student could update his status like the way people do with other social
network like Facebook or Zing me And comment something on his own status or
status of whom he follows He also could delete comment and status post by him or anything in his wall Student could take examination In system, only student may take part in testing session Student could update his profile Student could follow someone, after that he could see their posts on wall or anything in their walls
Trang 21Figure 3
3.1.1.2 Manager Users
Like student, to use advance
must register an account After sign up successfully, he could login and use more function Manager could also follow students to get involved with them and see their updating status Manager could
status and delete anything he put on wall and anything on his wall Other advance function is manager could see a list of student, and it requires logging in system first
anager could also manage his wall by update status, comment on status and delete anything he put on wall and anything on his wall Other advance function is manager could see a list of student, and it requires logging in system first
Figure 3-1-1-2 - Manager User Use-Case
function of system, manager of any company, first of all, must register an account After sign up successfully, he could login and use more function Manager could also follow students to get involved with them and see their
also manage his wall by update status, comment on status and delete anything he put on wall and anything on his wall Other advance function is manager could see a list of student, and it requires logging in system first
Trang 22Manager could update his profile like the way student do This work is encouraged because completed information makes students easy to contact with his company.Manager could add question to system in two ways The first way, manager type each question in interface of end-
uploads a CSV file in given format to system The format of file is provided by
website Manager could also manage question that he contributes by editing or
deleting them
3.1.1.3 Admin Users
Admin is advance user of system He coordinates activities of system Admin is default user of system, and other user could not become admin without permission from default admin Admin firstly must log in system to do any task Admin could delete any post of managers
Figure 3
Admin could also view a list of users include students and managers and delete any user Like manager, admin could also add question to system by type each question or upload a CSV file Admin also manage questions that he contributes like the way manager do: edit questions, delete questions
Manager could update his profile like the way student do This work is encouraged because completed information makes students easy to contact with his company.Manager could add question to system in two ways The first way, manager type each
-user of website and submit question The second way, he uploads a CSV file in given format to system The format of file is provided by
website Manager could also manage question that he contributes by editing or
Admin is advance user of system He coordinates activities of system Admin is default user of system, and other user could not become admin without permission from default admin Admin firstly must log in system to do any task Admin could delete any post of managers
Figure 3-1-1-3 - Admin User Use-Case
Admin could also view a list of users include students and managers and delete any user Like manager, admin could also add question to system by type each question or
Admin also manage questions that he contributes like the way manager do: edit questions, delete questions
Manager could update his profile like the way student do This work is encouraged because completed information makes students easy to contact with his company Manager could add question to system in two ways The first way, manager type each
user of website and submit question The second way, he uploads a CSV file in given format to system The format of file is provided by
website Manager could also manage question that he contributes by editing or
Admin is advance user of system He coordinates activities of system Admin is default user of system, and other user could not become admin without permission from default admin Admin firstly must log in system to do any task Admin could
Admin could also view a list of users include students and managers and delete any user Like manager, admin could also add question to system by type each question or
Admin also manage questions that he contributes like the way
Trang 233.2 Database Design
On this section, database design is presented
the relationships between them I also show the results of da
database tables The last thing is mention about system modules
3.2.1 System Entities
After using information from user requirements
Detail attributes of each entity
3.2.1.1 User Entity
User entity describes user that registers in system It holds information of any account
of system, including admin, students and managers user
Figure 3
Database Design
On this section, database design is presented I will discuss about entities of system, relationships between them I also show the results of database design as a list of database tables The last thing is mention about system modules
After using information from user requirements, there are six entities
ail attributes of each entity is shown below:
User entity describes user that registers in system It holds information of any account
of system, including admin, students and managers user
Figure 3-2-1-1 - User Entity Diagram
I will discuss about entities of system,
tabase design as a list of
, there are six entities are suggested
User entity describes user that registers in system It holds information of any account
Trang 243.2.1.2 Question Entity
Question entity describes questions in system It holds content of question, options for answer and answer of question Beside it also holds author of question
Figure 3-2-1-2 - Question Entity Diagram
messages on wall in system It holds content of post on wall as well as created and modified time Beside, each wall’s post has many comments on it
So it will holds foreign key that point to comments follow it
Figure 3-2-1-3 - Wall Entity Diagram
Question entity describes questions in system It holds content of question, options for answer and answer of question Beside it also holds author of
messages on wall in system It holds content of post on wall as well as created and modified time Beside, each wall’s post has many comments on it
Trang 253.2.1.4 Post Entity
Post entity describes notice that posted in system by managers A notice maybe a recruitment information or a report of company It holds content of post, created and modified time and author of its
Figure 3-2-1-4 - Post Entity Diagram
Entity
Category entity describes knowledge areas exists on system It holds name of it and
Figure 3-2-1-5 - Category Entity Diagram
Post entity describes notice that posted in system by managers A notice maybe a recruitment information or a report of company It holds content of post, created and
Category entity describes knowledge areas exists on system It holds name of it and