You are on page 1of 47

Online Job Portal Site

Jeebika

MD. Habibul Hasan Fahim Hasan

ID: 171071016 ID: 171071016

CSE 14th Batch CSE 14th Batch

Dept. of CSE & CSIT Dept. of CSE & CSIT

Shanto-Mariam University of Creative Technology

Uttara, Dhaka 1230, Bangladesh

15 April 2021
Letter of Transmittal
15 April 2021
Head of the Department,
Shanto-Mariam University of Creative Technology
House#1, Road#14, Sector#13

Uttara Model Town, Dhaka -1230, Bangladesh.

Subject: Letter of Transmittal.

Dear Sir,

With due respect and humble, we would like to approach you that it is a great
opportunity as well as immense pleasure for Us to submit this report titled “Online Job
Portal Site” for the fulfillment of my practicum course.

It was undoubtedly a splendid opportunity for us to work on this project to actualize


our theoretical knowledge. Now I am looking forward for your kind appraisal regarding
this practicum report.

I hope that you would find the report comprehensive and competent augmented.

Sincerely yours,

MD. Habibul Hasan [171071016]

Fahim Hasan [171071016]

CSE 14th Batch

Department of CSE & CSIT


CERTIFICATE OF APPROVAL

The project report entitled “Online Job Portal Site” which is submitted by
MD. Habibul Hasan and Fahim Hasan in partial fulfillment of the
requirement for to the award of degree Bachelor of Computer Science and
Engineering in Shanto-Mariam University of Creative Technology
(SMUCT) is record of the candidates won work carried out by them under
my supervision. The matter embodied in this project is original and has not
been submitted for the award any other degree.

Date: April 15, 2021

Supervisor Head of The Department

_______________ _____________________________

Syed Jamaluddin Ahmad Syed Jamaluddin Ahmad

Head of the Department, Head of the Department,

CSE & CSIT CSE & CSIT

SMUCT SMUCT
Supervisors Statement

Hereby I confirm that the final project report is submitted to the


Department of Computer Science and Engineering & Computer Science and
Information Technology, Shanto-Mariam University of Creative Technology
for partially accomplishing the requirements for the degree of Bachelor of
Computer Science and Engineering.

Supervisor
Syed Jamaluddin Ahmad
Head of the Departments & Project Supervisor

Dept. of CSE & CSIT

SMUCT
Authors Statement

Hereby We Declare that the present project was prepared by us and none
of its contents was obtained by means that are against the law. The project
has never before been a subject of any procedure of obtaining an academic
degree.

MD. Habibul Hasan Fahim Hasan

ID: 171071016 ID: 171071026

CSE 14th Batch CSE 14th Batch

Dept. of CSE & CSIT Dept. of CSE & CSIT


ACKNOWLEDGEMENT
First, we are thankful and expressing our gratefulness to Almighty who offers us divine
blessings, patience, mental and psychical strength to complete this project. We are
deeply indebted to our project supervisor Syed Jamaluddin Ahmad. The progression
of this project could not possibly be carried out without the guideline of our respective
supervisor for the completion of this work. She gave us the freedom to pursue aspects of
neurodegenerative disorders and its management process that we found interesting
and compelling. This helped our project to achieve its desired goals.

We wish to thank the great people of Department CSE at Shanto-Mariam University of


Creative Technology. A special thanks goes to our Head of the Department, Coordinator
and all other faculties for their well-disposed instructions and encouragements.

Finally, we are eternally grateful to our parents for their constant support for the
completion of our academic work.

ABSTRACT
“Jeebika” is an online Job Search Portal, a website through which job seekers can
register and apply for jobs. Through this portal employers can also post their jobs and
review applications. The traditional recruitment systems are time taking and costly. A
job seeker must find jobs through advertisements, college fairs, job fairs etc., and the
employers must put in much effort to find the right candidate for a vacant position. This
application addresses such shortcomings and is a convenient platform for both job
seekers to find and apply for jobs and for employers to post jobs and review
applications with much ease. Candidates can search for jobs in any field through
advanced search capabilities. They can upload their resumes to this application which is
stored for future use also. Employers can download these resumes and post/delete job
positions. The admin controls this portal and makes the decision about companies and
jobs that can access/appear in this portal. Candidates and Employers can use this portal
without any geographical barrier, from any part of the world. This application is also
developed by using some cutting-edge technologies that are in great demand in the IT
industry today. Some of them are NodeJS, AngularJS, Sequelize ORM, etc.

Keywords:

Data management system, Technical approach, Data Sorting, Collaborative filtering,


item based collaborative filtering, Data normalization, Co-relation.

______________________________________________________________________
Chapter 01
1.1 Introduction:
1.1.1 Project Description
Whether entering the job market for the first time or re-entering after a break
or switching career, job search is a challenging task. But how about
tools/applications, making this tedious process look friendly, systematic and
easy to reach out, to employers or candidates. Searching and landing up with a
dream job is a tedious process for a job seeker and on the opposite hand,
connecting with desirable candidates best fit for a job position is a challenging
and important work for the employers. This project is aimed at making such
challenges much easier despite the geographic location of either the job seeker
or the Company. Although a job search portal doesn’t guarantee a job offer, it is
the best place for potential candidates and employers to get connected and
know more about each other. “Dreams Job” is an online web application which
is a job search portal. It is a simple, efficient, convenient and systematic portal
through which job seekers and employers connect with each other. This portal
enables candidates looking for jobs to register themselves with the website,
look up for different jobs according to their qualifications and apply for those
jobs conveniently. Job seekers can also update their details entered during
registration as well as their skill sets. On the other hand, employers can
register to this portal and publish their jobs which would enable them to find
the suitable candidates for their vacant positions. The Company can view the
job applications and take necessary steps. Both companies’ registration and
company job posting requires Admin approval to be a part of the job search
portal. Some of the existing and old-fashioned methods of recruitment
involve advertisements in newspapers, posters, televisions, different job fairs,
college career fairs etc. However, such processes are costly and time taking.
Handing over paper printed resumes, keeping a track of them, handling and
processing them and then getting hold of the desirable candidate to be called
for the interview it sounds like a lot of effort and hard work. With the evolution
of the world of the Internet and rapid technological advancement, such efforts
can be minimized. A job search portal web application comes to rescue at this
point where a lot of meaningful time can be saved as well as the cost of
advertisements. The entire process of a job search or a candidate search is
speeded up. Manual processes get replaced by automated processes. With job
search portals the trend of paper resumes gets replaced by online resumes.
These resumes are stored in company databases for future references also.
Candidates and employers are just a few clicks away to get connected. Another
advantage is once the candidate is registered and applies for a position,
his/her information stays with the company database for both the present and
future use for available positions. The traditional format of recruitments has
been overshadowed with the modern simplistic approaches of e-recruitments.

1.2 Motivation

Visiting company web sites and applying for individual jobs are less motivated
and a lot of hard work. I have failed to visit tons of job fairs happening around
the country because of time constraints, school semesters etc. Knowing about a
company, knowing what kind of qualifications and requirements they want
for a position is always so much time taking. I have always felt the need of
friendly applications that gives me all these details in one place and saves a lot
of my time. During my undergraduate and some graduate years, the only way I
have looked up for jobs is through company websites or employee referrals or
through a lot of networking with company personnel. But with the fast rate of
technical advancement, I have come across many online applications that
makes finding a suitable job according to my qualifications much easier,
knowing about different positions opened in my desired companies, the
qualifications or requirements that the job position needs and search features
to retrieve my desired information all bonded in one place. This motivated me
to develop an online job search portal as I realized their value as a student and
their importance too, as they save a lot of time and effort. Apart from this I was
motivated to build this application to learn the usage of some cutting-edge
technologies and gain some hands-on experience. I have used NodeJS,
Sequelize ORM, AngularJS, Html, CSS, jQuery and MySQL as database and have
gained enough experience and exposure working on them.

1.2.1 End users

Job Seekers - First time candidates can sign up or existing candidates can sign
in. After signing in, they can search for jobs according to their qualifications,
apply to these positions and upload their resumes. They can also update their
details at any point of time.

Companies - Company can register itself with the portal and once approved by
admin, can sign in to the portal. They can see if candidates have applied for
their job positions posted. They can also post new jobs.

Admin - The main person maintaining the website is the admin. He takes the
decision to allow a company to register with his website or not and
approves/disapproves jobs posted.

______________________________________________________________________
Chapter 02
2.1 Purpose of Project
The purpose of designing the online job portal is to give the job seekers a platform for
finding a light and a satisfactory job according to their qualification. It also connects the
job seekers with the major agencies. Employer can select best Employees from Available
employees based on their payment option selection. This is basically a Job portal where
job Seeker applies for jobs and employer post jobs and select perspective applicant on
basis of salary and qualifications. So, it enables applicants to search for jobs in a
convenient manner and to enable employers to find suitable candidates.

2.1.2 Existing System:


The existing system is not totally automated. Though the system is computerized and

inline based to a particular extent, it has to do a lot of manual work.

The different processes involved are:


 To develop a user-friendly job portal application interface
 To develop an online search portal for job seekers.
 To facilitate the company to search for the best candidate available.
 To develop an online search portal for job seekers.
 To build a system that will act as a link connecting job portal application and
other websites.

2.1.3 Problem Definition

The online job portal application allows job seekers and recruiters to connect. The
application provides the ability for job seekers to create their accounts, upload their
profile and resume, search for jobs, apply for jobs, view different job openings. The
application provides the ability for employers to create their accounts, select a package
for payment, search candidates, create job postings, and track contacted candidates.

2.1.4 Scope of the Project


The online job portal that is developed provide jobseekers with different jobs

information like:

 online applying for jobs.

 search for jobs.

 Supported by well-designed database and web-based design.

 A friendly user interface is provided to facilitate different services.

The basic scope contains:

• Jobseeker's Area.

• Employee’s Area.

• Administrator's Area.
2.1.5 Project Objectives
 Web based system of the department service provides fast access.
 If our documents and any consignment is missed then we can know it
easily using the databases in the web-based system of department
service.
 Using this web-based system, any kinds of procedure become fast.
 In web-based system, all the person in our user must fill the resume forms
& number of companies of the resume forms can be easily generated at a
time.
 Accuracy in work.
 Easy & fast retrieval of information.
 Well-designed reports.
 Access of any information individually.
 Works become very speedy.
 Easy to update information.
______________________________________________________________________
Chapter 03
3.1 Modules:
 Administration Module
 Job Seeker Module
 Employer Module

3.1.1 Module Description:


 Admin

All site will be managed by Administrator. It tracks all the information of the site. We
have developed all type of CRUD (Create, Read, Update and Delete) operations of the
site. Selected admin will be able to see their site details and also track their
consignment.

3.1.2 Features of this module:


Administrator can manage whole website:

 Manage complete jobseeker section. Like: activate/deactivate/delete/ edit


jobseeker’s information.
 Admin user can view the jobseeker’s applications for each job.
 Manage complete employer section. Admin user can activate/deactivate/delete/
edit company information.
 Manage posted jobs. Like: activate/deactivate/delete/edit posted job.
 Manage whole website content. Dynamic CMS is included to manage the content
of the website.
 Admin user can send message to any jobseeker or job provider.
 Admin user can send bulk emails as well.
 Admin user can manage the skills section. Like: Add or remove skills from the
website.
 Manage newsletters section
 Manage success stories
 Admin user can manage and handle the prohibited words for whole website.
 Admin user can add/edit countries, cities, salaries range, qualification, institutes,
job industries, website ads.

3.1.3 Job Seeker Module:

All site will be visited by general user. It tracks all the information of the site. They
have developed create, read, and update their operations of the site. User will be
able to see their site details and also track their consignment.

3.1.4 Features of this module:

After registration job seeker can perform following actions:

 Search for jobs


 Apply Online for desire job
 Add/Edit profile information including qualification, experience, and skills.
 Build his resume by using CV builder functionality of the website.
 Upload latest resume.

3.1.5 Employer Module:

This module provides functionalities related to employers.


 Employers can post vacancy details.
 Employers can browse through the Job Portals to look who all had been
employed and opted for which Job.
 Employer need to get registered for the first time to post a job, and after can
post as many jobs as can be posted by them.
 Employer can login and view Jobs posted and manage by deleting any of
them.
______________________________________________________________________
Chapter 04
4.1 Requirement Analysis
4.1.1 Requirement Gathering:
In the software development life cycle (SDLC), Requirement analysis is the first step of
major importance. The entire concentration is on gathering the functional and the
nonfunctional requirements for the product to be developed and estimating the
feasibility of those attributes. Through requirement gathering we ensure that we are
setting project goals and objectives much earlier. Complete understanding of the
requirements leads to the successful development of the software. If we don’t do this
step, then however hard we work we will never arrive at the desired final product. This
is most crucial as without knowing the exact requirements the final output can never be
achieved as desired. For this project, I did a major research on the existing system and
discussed the functionality that I wanted to develop with my major professor and finally
concluded on a concrete set of requirements that I wanted to see as an outcome of my
project.

4.2 Functional Requirements:


 Admin: With Full access
 Job Seeker: With limited access
 Employer: With limited access

These are the functionality performed by the job seeker users:


 Job Seeker Sign In

 Job Seeker Sign Up

 Job Seeker can view all available jobs

 Job seeker can search based on advanced search

 Advanced search can be done on role, salary, technology, etc.

 Job seeker can upload resume

 Job seeker can apply to more than one jobs.

 Job seeker can view all applied jobs.

 Job seeker can update their profile information.

 Job seeker can retrieve their password if forgot.

These are the functionality performed by the Employer user:

 Companies can Register to the portal.

 Companies can post jobs.

 Companies can see applications.

 Companies can see all approved jobs.

 Companies can download resumes uploaded.

These are the functionality performed by the admin user:

 Admin Log In.


 Admin Manage Profile.
 Admin can view all jobs.
 Admin approves the jobs posted by the company.
 Admin approves the company registration.
4.3 Non-Functional Requirements:
The major difference between Functional and Non-functional difference lies in two
keywords. “What” and “How”. While what the system does is described by its functional
requirements, how the system achieves those quality attributes are discussed by the
non- functional requirements. The non-functional requirements focus on the scalability
of the system, security of the system, reliability and maintenance of the system which
are ensured by verifying and validating the system. The proposed system meets the
non-functional requirements like security by several form validations and password
encryptions, reliability by maintaining integrity with error messages, controlling access
of the users. The application is made more scalable with an advanced search feature
that filters and delivers requested data from a huge amount of data. Since the
application code is modular in nature maintainability and reusability is also ensured.

4.4 Requirements Specifications:


Requirement Specification is an important step in the software development life cycle.
Although various software and hardware specifications can be used to develop this
application, the software and hardware specifications that I have used to develop this
job search portal are mentioned below:

4.4.1 Software requirements:


 Operating System: Windows 10 Home
 IDE/Text Editor: Visual Studio Code, Git Bash CLI
 Application Server: Node 3.10.10
 Frameworks/APIs: AngularJS, MongoDB (Future Work)
 Database: MongoDB (Future Work)
 Front End: HTML5, CSS3, Bootstrap5, JavaScript
 Browser: Preferable Google Chrome

4.4.2 Hardware Requirements


 Processor: Intel core i5
 Processor Speed: 2.50-2.70 GHz
 RAM: 6 GB
______________________________________________________________________
Chapter 05
5.1 Task Sheet

Sr. Task Sub – Task Date Person(s)


No. Start End Allotted
MD.
Visual Studio 08, Habibul
Expression Blend Hasan
Research on
25-06- 27-8-
001 Project related
2020 2019 Fahim
technologies
Hasan

MD.
Review of software Habibul
versions, Hasan
Acquisition of Downloads from 27-06- 26-9-
002
software internet, Distribution 2020 2019 Fahim
of software among Hasan
project members.

003 Detail Design of 1-08- 14-10- MD.


project Study of Web editor 2020 2019 Habibul
software, Hasan
Object oriented analysis,
Study of modules Fahim
Hasan

Main Editor GUI, MD.


Dashboard, Habibul
WYSIWYG editor Hasan
Design of Menus 28-08- 4-12-
004
interface 2020 2019 Fahim
Hasan

Coding for user interface MD.


events, Toolbars, Habibul
Code conversion module, Hasan
Study of CRUD operations in 01-09- 17-01-
005 Coding
Silverlight, 2020 2020 Fahim
Implementation of database Hasan
and login and sign-up page

5.1.1 Project Roles and Responsibilities

Role Responsibilities Participant


Project Guides
• Ultimate decision-maker
and tiebreaker. Internal Guide

• Provide project oversight Syed Jamaluddin Ahmad


and guidance.
• Review/approve project External Guide
elements. Syed Jamaluddin Ahmad
• Getting the Team Off on the
Right Foot

• Draft initial charter and MD. Habibul Hasan


project plan.
Project Members
• Update plan regularly. Fahim Hasan
• Identify and resolve issues.
• Identify and mitigate risks.

• Approve scope changes Syed Jamaluddin Ahmad


• Provides direction to the
Project MD. Habibul Hasan
Steering • Help resolve issues and
Committee policy decisions Fahim Hasan

• Update plan regularly.

External Guide The first point of contact for the team


Fahim Hasan
coordinator members with external guide

Table: Project Roles and Responsibilities

______________________________________________________________________
Chapter 06
6.1 Project Analysis:
6.1.1 Description of the Existing System
All processes in existing system are handled manually. All the work that is done in the
existing system is done by the human intervention. As all the work is done manually,
there were a lot of workload on placement officer and it also increases the maximum
chances of errors. This is so slow and time consuming. Due to increase in number of
user’s the process become more difficult. In the system. This big problem is the
searching; sorting and updating of the student data and no any notification method
available for giving information to student except the notice board.

6.1.2 Bottlenecks of the existing system


The existing system has lot of problems such as

 The entire database is maintained manually which is rather tedious and error
prone.
 Time delay is more because of verification of many records for generating
reports etc.
 Site are not answered properly due to lack of communication.
 More space is required to keep all the records.
 Improper interface.

______________________________________________________________________
Chapter 07
7.1 System Development Environment
7.1.1 HTML
7.1.2 WHAT IS HTML?
To publish information for global distribution, one needs a university-understood
language, a kind of publishing mother tongue that all computers may potentially
understand. The publishing language used by the World Wide Web is HTML (Hyper Text
Markup Language).
7.1.3 HTML Gives Authors the Means To

 Publish online documents with headings, text, tables, list, photos etc.
 Retrieve online information via hypertext links, at the click of a button
 Design forms for conducting transactions with remote services, for use in
searching information, making reservation, ordering products etc.;
 Includes spreadsheets, video clips, sound clips, and other applications directly in
the documents.

7.1.4 Some HTML Tags

<HTML> : Starting an HTML tag

<HEAD> : Creating a web page’s head

<TITLE> : Giving a web page ‘s body

</HEAD> : Ending a web pages head

</BODY> : Ending a web pages body

</HTML> :Ending a web page

<FORM> : Creating a HTML forms

<INPUT TYPE=BUTTON> : Creating a buttons


<INPUT TYPE=CHECKBOX> : Creating a checkboxes

<INPUT TYPE=SUBMIT> : Creating a submit button

<INPUT TYPE=TEXT> : Creating a text fields

7.2 CSS
7.2.1 WHAT IS CSS?
CSS (Cascading Style Sheets) allows you to create great-looking web pages, but how
does it work under the hood? This article explains what CSS is, with a simple syntax
example, and also covers some key terms about the language.

7.2.2 WHY CSS?


 CSS saves time: You can write CSS once and reuse same sheet in multiple HTML
pages.

 Easy Maintenance: To make a global change simply change the style, and all
elements in all the webpages will be updated automatically.

 Search Engines: CSS is considered as clean coding technique, which means


search engines won’t have to struggle to “read” its content.

 Superior styles to HTML: CSS have a much wider array of attributes than HTML,
so you can give a far better look to your HTML page in comparison to HTML
attributes.
 Offline Browsing: CSS can store web applications locally with the help of offline
cache. Using of this we can view offline websites.

7.2.3 CSS Syntax


A CSS comprises of style rules that are interpreted by the browser and then applied to
the corresponding elements in your document.
A style rule set consists of a selector and declaration block.

Selector => h1

Declaration => {color: blue; font size:12px;}

 The selector points to the HTML element you want to style.

 The declaration block contains one or more declarations separated by


semicolons.

 Each declaration includes a CSS property name and a value, separated by


a colon.

Example:
-> color is property and blue is value.
-> font size is property and 12px is value.

 A CSS declaration always ends with a semicolon, and declaration blocks


are surrounded by curly braces.

Example:

In the following example all p elements will be center-aligned, with a blue text color:

filter none

brightness_4

p{

    color: blue;

    text-align: center;}
7.3 Bootstrap
7.3.1 WHAT IS Bootstrap?

Bootstrap is a free and open-source CSS framework directed at responsive, mobile-


first front-end web development. It contains CSS- and (optionally) JavaScript-based
design templates for typography, forms, buttons, navigation, and other interface
components. Bootstrap is the seventh-most-starred project on GitHub, with more than
142,000 stars, behind freeCodeCamp (almost 312,000 stars) and marginally
behind Vue.js framework.[2] According to Alexa Rank, Bootstrap is in the top-2000 in the
USA while vuejs.org is in the top-7000 in the USA.

The styling and presentation of your website is imperative, as it plays an important role
in creating a sublime user experience. Therefore, you need to acquire design skills,
which help you to create attractive websites. Add deadlines to the project where time is
imperative and you realize you have quite a task at hand.

Several toolkits and frameworks have come to the fore to ease and streamline the task
of web designing but none comes close to the open-source framework, Bootstrap.

Bootstrap has become one of the most popular projects on the code-sharing platform
GitHub.

It has good community support and a vast ecosystem including templates and
extensions built around it. With a modular approach, Bootstrap saves you a
considerable amount of time and effort allowing you to focus on the core parts of your
web development projects.

Originally released initially by Twitter to maintain consistency in their internal web


designing and development projects, Bootstrap has evolved and since the release of
Version 3 and now has a mobile-first approach which helps you to create websites that
function efficiently on mobile platforms despite the platform constraints.

▪ Bootstrap is the most popular HTML, CSS and JavaScript framework for developing a
responsive and mobile friendly website.
▪ It is absolutely free to download and use.
▪ It is a front-end framework used for easier and faster web development.
▪ It includes HTML and CSS based design templates for typography, forms, buttons,
tables, navigation, modals, image carousels and many others.
▪ It can also use JavaScript plug-ins.
▪ It facilitates you to create responsive designs.
7.3.2 Objectives for this class:

 Understand the advantages of using a component CSS framework.


 Know the benefits of reusability in design and development
 How grid work and how to use them in mobile and responsive design
 Obtain an introduction to compiled CSS with LESS
 How to work with 3rd party components
 Integrate in existing web projects for fast development
 Learn what other web tools use Bootstrap.

7.4 PHP
7.4.1 WHAT IS PHP?
PHP stands for Hypertext Pre-Processor. PHP is a scripting language used to develop
static and dynamic webpages and web applications. Here are a few important things
you must know about PHP:

 PHP is an Interpreted language; hence it doesn't need a compiler.

 To run and execute PHP code, we need a Web server on which PHP must be
installed.

 PHP is a server-side scripting language, which means that PHP is executed on the
server and the result is sent to the browser in plain HTML.

 PHP is open source and free.

7.4.2 Features of PHP language

 PHP is open source and free, hence you can freely download, install and start
developing using it.
 PHP has a very simple and easy to understand syntax, hence the learning curve is
smaller as compared to other scripting languages like JSP, ASP etc.

 PHP is cross platform; hence you can easily develop and move/deploy your PHP
code/project to almost all the major operating systems like Windows, Linux, Mac
OSX etc.

 All the popular web hosting services support PHP. Also the web hosting plans for
PHP are generally the amongst the cheapest plans because of its popularity.

 Popular Content Management Systems like Joomla, Drupal etc are developed in


PHP and if you want to start your own website like Studytonight, you can easily
do that with PHP.

 With PHP, you can create static and dynamic webpages, perform file handling
operations, send emails, access and modify browser cookies, and almost
everything else that you might want to implement in your web project.

 PHP is fast as compared to other scripting languages like JSP and ASP.

 PHP has in-built support for MySQL, which is one of the most widely used
Database management system.

7.4.3 Uses of PHP


To further fortify your trust in PHP, here are a few applications of this amazing scripting
language:

 It can be used to create Web applications like Social Networks (Facebook, Digg),


Blogs (WordPress, Joomla), eCommerce websites (OpenCart, Magento etc.) etc.

 Command Line Scripting. You can write PHP scripts to perform different
operations on any machine, all you need is a PHP parser for this.

 Create Facebook applications and easily integrate Facebook plugins in your


website, using Facebook's PHP SDK.

 Sending Emails or building email applications because PHP provides with a


robust email sending function.
______________________________________________________________________
Chapter 08
8.1 MYSQL/RDMS CONCEPTS
8.1.1 DATA ABSTRACTION
A major purpose of a database system is to provide users with an abstract view
of the data. This system hides certain details of how the data is stored and
maintained. However, in order for the system to be usable, data must be
retrieved efficiently. The efficiency led to the design of complex data structure
for the representation of data in the database. Certain complexity must be hidden
from the database system users. This accomplished by defining several levels of
abstraction at which the database may be viewed.

9.1.2 CLASSIFICATION OF DATABASE


There are 3 types of database approaches given below,

1. Hierarchical Database:
In this type of model data is represented in simple tree structured. The record at
the top of three is known as root, the root may have any number of dependents.
Each of these may have any number of low-level dependents and so on up to any
number of levels. The disadvantages of the approach are that no independent
record occurrence can exist without it’s superior.
2. Network Database:
In a Network database, data is represented by Network structure. In this
approach record occurrence can have any number of superiors as well as any
number of immediate dependents thus allow many to many correspondences
directly than a hierarchical approach. The main disadvantage of the Network
model is data representation is very complex resulting in complexity of the DML
(Data Manipulation Language).

3. Relational Database:
The Relational model represents data and relationships among data by a
collection of tables each of which has a number of columns with unique names.

9.2 THE SQL LANGUAGE


SQL is a language for relational database. SQL is a non-procedural i.e., when we use SQL,
we specify what we want to be done not how to do it.

8.2.1 Features Of SQL


 SQL is an interactive query language.

 SQL is a database administration language.

 SQL is a database programming language.

 SQL is a client/server language.

 SQL is a distributed database language.

 SQL is a database gateway language.


8.2.2 Basic SQL Commands
I. Data Definition Language commands (DDL)
II. Data Manipulation Language commands (DML)
III. Transaction Control Language commands (TCL)
IV. Data control Language commands (DC)
______________________________________________________________________
Chapter 09
9.1 Project Designing
9.1.1 Design Document
 The entire system is projected with a physical diagram which specifics the
actual storage parameters that are physically necessary for any database
to be stored on to the disk. The overall systems existential idea is derived
from this diagram.

 The relation upon the system is structure through a conceptual ER-


Diagram, which not only specifics the existential entities but also the
standard relations through which the system exists and the cardinalities
that are necessary for the system state to continue.

 The content level DFD is provided to have an idea of the functional inputs
and outputs that are achieved through the system. The system depicts the
input and output standards at the high level of the systems existence.

9.1.2 DFD:
A DFD does not show a sequence of steps. A DFD only shows what the different process
in a system is and what data flows between them.

The following are some DFD symbols used in the project

External entities
Process: A transaction of information that resides within
the bounds of the system to be module.

DATAFLOWS

DATASTORE: A repository of data that is to be


stored for use by one or more processes, may
be as simple as buffer of queue or as a
relational database.

9.1.3 RULES FOR DFD:


 Fix the scope of the system by means of context diagrams.

 Organize the DFD so that the main sequence of the actions


reads left to right and top to bottom.

 Identify all inputs and outputs.

 Identify and label each process internal to the system with


rounded circles.

 A process is required for all the data transformation and


transfers. Therefore, never connect a data store to a data
source or the destinations or another data store with just a
data flow arrow.

 Do not indicate hardware and ignore control information.

 Make sure the names of the processes accurately convey


everything the process is done.

 There must not be unnamed process.

 Indicate external sources and destinations of the data, with


squares.

 Number each occurrence of repeated external entities.


 Identify all data flows for each process step, except simple
Record retrievals.

 Label data flow on each arrow.

 Use details flow on each arrow.

 Use the details flow arrow to indicate data movements.

 There can’t be unnamed data flow.

 A data flow can’t connect two external entities.

9.1.4 LEVELS OF DFD:


The complexity of the education system means that it is a responsible to represent the
operations of any system of single data flow diagram. At the top level, an Overview of
the different systems in an organization is shown by the way of context analysis
diagram. When exploded into DFD

They are represented by:

 LEVEL- 0: SYSTEM INPUT/OUTPUT

 LEVEL-1: SUBSYSTEM LEVEL DATAFLOW FUNCTIONAL

 LEVEL-2: FILE LEVEL DETAIL DATA FLOW.

The input and output data shown should be consistent from one level to the next.

LEVEL-0: SYSTEM INPUT/OUTPUT LEVEL

A level-0 DFD describes the system-wide boundaries, dealing inputs to and outputs
from the system and major processes. This diagram is similar to the combined user-
level context diagram.
LEVEL-1: SUBSYSTEM LEVEL DATA FLOW

A level-1 DFD describes the next level of details within the system, detailing the data
flows between subsystems, which make up the whole.

LEVEL-2: FILE LEVEL DETAIL DATA FLOW

All the projects are feasible given unlimited resources and infinite time. It is both
necessary and prudent to evaluate the feasibility of the project at the earliest possible
time. Feasibility and the risk analysis are pertained in many ways. If project risk is great.
9.1.5 DFD Diagram:
9.2 Use Case Diagram:
While understanding only the static nature of a system is insufficient, Use-Case
diagrams helps to give the dynamic view of the system. Use Case diagrams models the
system and the subsystems of an application. There are some external and internal
factors that marks the dynamic nature of the Use Case diagram. We call them actors.
While Use case diagrams can be considered as a high-level requirement analysis of the
system, they give a clear notion of the actors and their roles (use cases) and hence is an
important pictorial representation to understand system specifications early in the
project. Use case diagrams are a clear visualization of actors (the internal or external
factors), their roles (use cases) and relationship amongst these actors and their roles.
9.2.1 Use Case diagram:

9.2.1 Description of Use Case Diagram

In this system there are 5 actors namely admin, new user, registered

user, new employer, registered employer. The different use cases are:

Approve Company – Once a company registers itself to the job portal,

it must wait for the admin to approve or in other words give it

permission to be a part of the portal.

Approve Job – Once the company posts a job, it should wait for the

admin to approve the job before it is reflected on the portal.


View Jobs-The admin can view all the jobs on the portal.
Register – If there is a new User or a Company, they first must sign up to the
job portal.
Login- Once the new company or the new user signs up they can sign in

to the portal.

Retrieve Forgot Password – If the registered user or the registered

company forgets their password, they can retrieve their passwords

through e- mails.

View all jobs -Once the user logs in to his/her account, they can view all the
available jobs.

View applied jobs -Once the user logs in, he can view all his applications.

Search Jobs - User can do advanced search to search for specific jobs with his

specific requirements.

Upload CV- User can upload their resume in specified file format to this job
portal.

Apply -Users can apply to desired jobs.

Update profile - Users or Companies can edit their profile

information.

View approved jobs – Company can view the jobs

approved by the admin.

View applied jobs -Company can view the applications.

Download CV- Company can also download resumes and check applications.

9.3 Activity Diagram

Activity Diagram is also one important UML diagram that gives the flow of

execution of the system. While not being exact flowcharts activity diagrams
have some capabilities like branching or swim lanes or indicating parallel

flows. It is a pictorial representation of the different activities of a system,

giving the wholistic view. A concept of forking and joining is used inside the

activity diagrams to show the activity of the different components of the

system. A function performed by the system can be called an activity of the

system. Once we make out a mental layout of the entire flow, we proceed in

drawing the activity Diagram.

9.3.1 Description of Activity Diagram

In the above Diagram it is clearly seen that there are three flows, one of the

admins, one of the jobseekers and one of the Company. Once the admin logs in

and views his homepage he can approve/disapprove company’s registration,

he can approve/disapprove certain jobs from being posted, he can view the

job listing and overall, he can dwell in his own account. Once the student

wants to login, he first should register himself/herself to the portal, then


reach his homepage. There the user can view all jobs, make an advanced

search for the desired jobs, upload his resume to the portal and apply for

more than one jobs. User can also edit his profile information once he is in his

account. Overall, user can dwell in his own profile. Again, if the company

wants to be on the portal, he first registers himself with the portal and waits

for admin approval. Once approved the employer can login to his

homepage, post jobs, view all applications, download resumes and update its

profile information. Overall, the employer can dwell in his own account.

Activity Diagrams describe how activities are coordinated to provide a service

which can be at different levels of abstraction. Typically, an event needs to be

achieved by some operations, particularly where the operation is intended to

achieve a number of different things that require coordination, or how the

events in a single use case relate to one another, in particular, use cases

where activities may overlap and require coordination. It is also suitable for

modeling how a collection of use cases coordinates to represent business

workflows

1. Identify candidate use cases, through the examination of business

workflows

2. Identify pre- and post-conditions (the context) for use cases

3. Model workflows between/within use cases

4. Model complex workflows in operations on objects

5. Model in detail complex activities in a high-level activity Diagram


9.4 ENTITY-RELATIONSHIP DIAGRAMS:

Figure: Entity Relationship Diagram

The entity relationship diagram gives a pictorial representation of all the database
tables and the relation between the entities. It also shows the cardinality i.e., the many
to one or one to one or one to many relationships amongst the tables. This is the first
step in designing a database. All the idea of requirements and specification details about
the different entities in the database are conceived in the beginning and then
transformed into a diagram. This step takes time but once finalized, a good, strong and
robust database is a cake walk. This diagram represents the relationship amongst all the
entities in the job portal. The User applies to jobs and the company posts jobs and the
user has applied to certain jobs. The tables are represented in the form of rectangular
boxes as shown in the diagram. The primary keys are underlined. The relationships are
shown through diamond boxes. The cardinalities are mentioned through the numbers.

E-R (Entity-Relationship) Diagram is used to represents the relationship between


entities in the table.

The symbols used in E-R diagrams are:

 Structured analysis is a set of tools and techniques that the analyst.


 To develop a new kind of a system:
 The traditional approach focuses on the cost benefit and feasibility analysis,
Project management, and hardware and software selection a personal
consideration.

______________________________________________________________________
10 DATABASE DESIGN
10.1 Database Tables

You might also like