18BIT010 Final Project Documentation
18BIT010 Final Project Documentation
WEB ENVIRONMENT
Submitted by
BHAVADHARANI C
18BIT010
Under the Guidance of
Mrs.K.KAVITHA MCA., MBA., M. Phil., (Ph.D).
In partial fulfillment of the requirements for the Award of the Degree of
Bachelor of Science in Information Science
MAY– 2021
1
Department of Computer Science
Dr. G R Damodaran College of Science
(Autonomous, affiliated to the Bharathiyar University and recognized by UGC)
Re-accredited at the ‘A’ Grade level by the NAAC
An ISO 9001:2000 Certified Institution
Coimbatore 641 014
Certificate
______________ ________________
2
ACKNOWLEDGMENT
3
SYNOPSIS
The project is entitled “Intelligent Agent Based Job Search System In
Web Environment”. The aim of this project is to develop an online search Portal
for the Fresher and Job Seekers who are looking for a matching job based on their
CGPA and Experience.
The system is developed as an online application that can be accessed
throughout the organization and outside as well with proper login provided. User
logging has to upload their information in the CV format. Visitors/Company
representatives will also access/search any information put up by user
In this system the job seeker must enter their CGPA, Category of Job they
are looking for and their experience either fresher or experience based on that the
job will displayed on their dashboard so that they can easily identify their degree
and experience related jobs immediately. User can receive the applied job
interview mail to their corresponding mail id.
4
TABLE OF CONTENTS
CONTENTS PAGE NO
ACKNOWLEDGEMENT
SYNOPSIS
1. INTRODUCTION
1.1 Overview of the Project 7
1.2 About the Company 8
2. SYSTEM ANALYSIS
2.1 Existing System 9
2.2 Proposed System 10
3. SYSTEM REQUIREMENTS
3.1 Hardware Requirements 11
3.2 Software Requirements 11
3.3 System Features 12
4. MODULE DESIGN 17
5. SYSTEM DESIGN
5.1 Data Flow Diagram 19
5.2 Database Table Design 24
5.3 File Design 26
5.4 Code Design 27
5.5 Input and Output Design 28
5
6. SYSTEM TESTING
6.1 System Testing and Methodologies 29
6.2 Types of Testing 30
7. SYSTEM IMPLEMENTATION
7.1 Implementation Procedure 32
8. SYSTEM MAINTENANCE
8.1Analysis Activities 33
8.2Architectural Design Activities 34
8.3 Detailed Design Activities 34
8.4 Implementation Activities 34
8.5 Other Activities 34
9. CONCLUSION 36
10. FUTURE ENHANCEMENT 37
BIBLIOGRAPHY 38
APPENDIX 39
* Screen shots
6
1.INTRODUCTION
1.1 OVERVIEW OF THE PROJECT
Job search is not a new area as several significant works have been done in
several key areas to modernize, improve security and increase the success and
usage of these systems.
Some of the works that have inspired the conception of this research include
Improving Job Search by network of professionals and companies research in
which job clusters were created to provide relationship between categories of
professionals and company needs and is based on a network of job offers,
discovering interesting relationships between them and clustering these to
represent companies or professional.
The output is a visualization of the network of professions and companies.
OBJECTIVES OF THE PROJECT
Over the years there has been much controversy about the definition of an
artificial intelligent agent. There exists a weaker notion of agents and a stronger
more controversial notion. Define an agent as “anything that can be viewed as
perceiving its environment through sensors and acting upon that environment
through effectors”.
Agrees with this definition but adds additional clarity by stating that “intelligent
agents continuously perform three functions: perception of dynamic conditions in
the environment; action to affect conditions in the environment and reasoning to
interpret perceptions, solve problems, draw inferences and determine actions”.
Agents should autonomously carry out activities by being independent or self-
directed and should not depend on external input only from human operator or
other agents to act manifesting social abilities when interacting with other agents
(and possibly humans) via some kind of agent-communication language.
7
1.2 ABOUT THE COMPANY
IdSoftSource is registered web design and development company in
Coimbatore established in year in 2015. IdSoftSource emerged with an intention of
making even small business to boom with website facility. Young and experienced
talent pool of people are being the backbone of IdSoftSource from the inception, to
get, carry and succeed with every project.
Vision of the Company
We offer world-class, timely, dedicative and cost-effective solution to help
our clients to achieve desired goals and objectives. We offer artistic, professional
and skilled web page designs. Our skilled professionals focus on delivering our
clients with customized and user-friendly designs.
Service offered
Website Design & Development
Android/iOS Application Development
Internet Marketing
Search Engine Optimization
8
2.SYSTEM ANALYSIS
2.1 Existing System
The existing system is a manual system where the professionals trace the
information about the job offers through newspapers or advertisements given by
the corresponding people or else the system consists of employment for various
fields.
Disadvantages
Drawbacks of the existing system are as follows
Job search is not a new area as several significant works have been done in
several key areas to modernize, improve security and increase the success
and usage of these systems.
Some of the works that have inspired the conception of this research.
9
2.2 Proposed System
Today artificial intelligent agents are integrated into many computer-based
systems including expert systems, job search engines, web searches and info-bots
and so on. These autonomous agents can perform time consuming, mundane and
sometimes even life endangering tasks reliably, instead of the human agent.
Advantages
Describes a stronger notion of agency in which agents process
characteristics such as knowledge, belief, intention and obligation.
Other attributes apply to stronger agent notion.
These include mobility where agents move around an electronic network,
veracity where agents will not knowingly communicate false information
and benevolence where the assumption is that an agent will try to do what it
is asked and will not have conflicting goals.
10
3. SYSTEM REQUIREMENTS
11
3.3 SYSTEM FEATURES
12
Windows 7 adds support for systems using multiple heterogeneous graphics
cards from different vendors (Heterogeneous Multi-adapter), a new version of
Windows Media Center, a Gadget for Windows Media Center, improved media
features, XPS Essentials Pack and Windows PowerShell being included, and a
redesigned Calculator with multiline capabilities including Programmer and
Statistics modes along with unit conversion for length, weight, temperature, and
several others.
Many new items have been added to the Control Panel, including ClearType
Text Tuner Display Color Calibration Wizard, Gadgets, Recovery,
Troubleshooting, Workspaces Center, Location and Other Sensors, Credential
Manager, Biometric Devices, System Icons, and Display. Windows Security
Center has been renamed to Windows Action Center (Windows Health Center and
Windows Solution Center in earlier builds), which encompasses both security and
maintenance of the computer. ReadyBoost on 32-bit editions now supports up to
256 gigabytes of extra allocation.
Windows 7 also supports images in RAW image format through the addition
of Windows Imaging Component-enabled image decoders, which enables raw
image thumbnails, previewing and metadata display in Windows Explorer, plus
full-size viewing and slideshows in Windows Photo Viewer and Windows Media
Center. Windows 7 also has a native TFTP client with the ability to transfer files to
or from a TFTP server.
13
Expressions
Some Python expressions are similar to languages such as C and Java, while some
are not:
Addition, subtraction, and multiplication are the same, but the behavior of
division differs. There are two types of divisions in Python. They are floor
division (or integer division) // and floating point/division. Python also
added the ** operator for exponentiation.
From Python the new @infix operator was introduced. It is intended to be
used by libraries such as NumPy for matrix multiplication.
From Python the syntax: =, called the 'walrus operator' was introduced. It
assigns values to variables as part of a larger expression.
In Python, == compares by value, versus Java, which compares numerics by
value and objects by reference. (Value comparisons in Java on objects can
be performed with the equals () method.) Python's is operator may be used to
compare object identities (comparison by reference).
Python uses the words and, or, not for its Boolean operators rather than the
symbolic &&, ||! used in Java and C.
Python has a type of expression termed a list comprehension. Python
extended list comprehensions into a more general expression termed a
generator expression.
Indentation:
Python uses whitespace indentation, rather than curly brackets or keywords,
to delimit blocks. An increase in indentation comes after certain statements; a
decrease in indentation signifies the end of the current block. Thus, the program's
visual structure accurately represents the program's semantic structure. This feature
is sometimes termed the off-side rule, which some other languages share, but in
most languages, indentation doesn't have any semantic meaning.
14
the Django Software Foundation (DSF), an independent organization established
as a non-profit.
Django's primary goal is to ease the creation of complex, database-driven
websites. The framework emphasizes reusability and "pluggability" of
components, less code, low coupling, rapid development, and the principle of don't
repeat yourself. Python is used throughout, even for settings files and data models.
Django also provides an optional administrative create, read, update and delete
interface that is generated dynamically through introspection and configured via
admin models. In June 2008, it was announced that a newly formed Django
Software Foundation (DSF) would maintain Django in the future.
BACKEND: SQLite
SQLite
SQLite is a relational database management system (RDBMS) contained in
a C library. In contrast to many other database management systems, SQLite is not
a client–server database engine. Rather, it is embedded into the end program.
SQLite is ACID-compliant and implements most of the SQL standard,
generally following PostgreSQL syntax. However, SQLite uses a dynamically and
weakly typed SQL syntax that does not guarantee the domain integrity. This means
that one can, for example, insert a string into a column defined as an integer.
SQLite will attempt to convert data between formats where appropriate, the string
"123" into an integer in this case, but does not guarantee such conversions and will
store the data as-is if such a conversion is not possible.
SQLite is a popular choice as embedded database software for local/client
storage in application software such as web browsers. It is arguably the most
widely deployed database engine, as it is used today by several widespread
browsers, operating systems, and embedded systems (Such as mobile phones),
among others. SQLite has bindings to many programming languages.
15
Features of SQLite
Transactions are atomic, consistent, isolated, and durable (ACID) even after
system crashes and power failures.
Zero-configuration - no setup or administration needed.
Full-featured SQL implementation with advanced capabilities like partial
indexes, indexes on expressions, JSON, common table expressions, and
window functions. (Omitted features)
A complete database is stored in a single cross-platform disk file. Great for
use as an application file format.
Supports terabyte-sized databases and gigabyte-sized strings and blobs. (See
limits.html.)
Small code footprint: less than 600KiB fully configured or much less with
optional features omitted.
Simple, easy to use API.
Fast: In some cases, SQLite is faster than direct filesystem I/O
Written in ANSI-C. TCL bindings included. Bindings for dozens of other
languages available separately.
Well-commented source code with 100% branch test coverage.
Available as a single ANSI-C source-code file that is easy to compile and
hence is easy to add into a larger project.
Self-contained: no external dependencies.
Cross-platform: Android, *BSD, iOS, Linux, Mac, Solaris, VxWorks, and
Windows (Win32, WinCE, WinRT) are supported out of the box. Easy to
port to other systems.
Sources are in the public domain. Use for any purpose.
16
4.MODULE DESIGN
Authentication
This module contains all the information about the authenticated user. User
without his username and password can’t enter into the login if he is only the
authenticated user then he can enter to his login.
Admin login
In this module Admin will add all the qualifications, skill, experience, city,
state, country, CGPA and update and delete information about the job provider or
job seeker he can also search for the job seeker and he can send mail to offer the
job-to-job seeker and he can also see the jobs add by the job provider.
17
Job Seeker login
In this module Job Seeker register himself and upload his resume and fill the
profile given by admin and after login he will search for the job on various
conditions and he can change his profiles and resume and he can apply for the jobs
based on various conditions.
Notification
In this module the Job Seeker will get the information like interview date,
address etc to their registered mail id with this system once they applied to the
particular job.
18
5.SYSTEM DESIGN
5.1 Data Flow Diagram
19
20
LEVEL 0:
LEVEL 1.1:
21
LEVEL 1.2:
22
23
5.2 Database Table Design
The database design is a must for any application developed especially more
for the data store projects. Since the chatting method involves storing the message
in the table and produced to the sender and receiver, proper handling of the table is
a must.
Each table should include a column or set of columns that uniquely
identifies each row stored in the table. In database terminology, this information is
called the primary key of the table. Access uses primary key fields to quickly
associate data from multiple tables and bring the data together.
A foreign key is a key used to link two tables together. This is sometimes
also called as a referencing key. A Foreign Key is a column or a combination of
columns whose values match a Primary Key in a different table.
Table Design:
Table Name: Admin login
24
Table Name: User Registration
25
Table Name: Job detail
S. FIELD NAME DATA TYPE SIZE CONSTRAI
NO. NT
1 Company name Varchar 20 Primary key,
Not Null
2 Email id Email field 30 Foreign Key,
Not Null
3 Location Varchar 10 Not Null
4 Interview date Date field - Not Null
Home
It is used to set an index page.
Dashboard
It is used to set a template in the web page
Job File
26
It includes company name, mobile, email, job title, degree, specialization, desc,
location, CGPA, experience, interview date and job category.
User File
It includes email id, degree, specialization, phone number, country, state, city,
address, username, password, resume, CGPA, experience and job category.
Job Seeker File
It includes Username, email id, phone number, password, degree, specialization,
select CGPA, select experience, select job type, country, state, city and address.
27
Input Design
Input design is the process of converting user-originated inputs to a
computer-based format. Input design is one of the most expensive phases of the
operation of computerized system and is often the major problem of a system.
Input design is a part of overall design, which requires careful attribute. Inaccurate
input data are the most common cause of errors in data processing.
The goal of designing input data is to make data entry as easy, logical and
free from errors. In the system design phase input data are collected and organized
in two groups of similar data.
Output Design
Output design generally refers to the results and information that are
generated by the system for many end-users; output is the main reason for
developing the system and the basis on which they evaluate the usefulness of the
application. Computer output is the most important and direct source of
information to the user. Output design is very important phase because the output
will be in an interactive manner.
28
6. SYSTEM TESTING
Planning
Project and process control
Risk management
Inspections
Measurement tools
Test Plan
Before going for testing, first we have to decide upon the type of testing to be
carried out. The following factors are taken into consideration:
To ensure that information properly flows into and out of program
To find out whether the local data structures maintain its integrity during all
steps in an algorithm execution
To ensure that the module operate properly at boundaries established to limit
or restrict processing
To find out whether error - handling paths are working correctly or not
To find out whether the values are correctly updated or not
Check for validations
29
6.2 TYPES OF TESTING
Unit Testing
This is the first level of testing. The different modules are tested against the
specifications produced during the integration. This is done to test the internal
logic of each module. Those resulting from the interaction between modules are
initially avoided. The input received and output generated is also tested to see
whether it falls in the expected range of values. Unit testing is performed from the
bottom up, starting with the smallest and lowest modules and proceeding one at a
time.
The units in a system are the modules and routines that are assembled and
integrated to perform a specific function. The programs are tested for correctness
of logic applied and detection of errors in coding. Each of the modules was tested
and errors are rectified. They were then found to function properly.
Integration Testing
In integration testing, the tested modules are combined into sub-systems,
which are then tested. The goal of integration testing to check whether the modules
can be integrated properly emphasizing on the interfaces between modules. The
different modules were linked together and integration testing done on them.
Validation Testing
The objective of the validation test is to tell the user about the validity and
reliability of the system. It verifies whether the system operates as specified
and the integrity of important data is maintained. User motivation is very important
for the successful performance of the system.
All the modules were tested individually using both test data and live data.
After each module was ascertained that it was working correctly and it had been
"integrated" with the system. Again, the system was tested as a whole. We hold the
system tested with different types of users. The System Design, Data Flow
Diagrams, procedures etc. were well documented so that the system can be easily
maintained and upgraded by any computer professional at a later.
30
System Testing
The integration of each module in the system is checked during this level of
testing. The objective of system testing is to check if the software meets its
requirements. System testing is done to uncover errors that were not found in
earlier tests. This includes forced system failures and validation of total system as
the user in the operational environment implements it.
Under this testing, low volumes of transactions are generally based on live
data. This volume is increased until the maximum level for each transactions type
is reached. The total system is also tested for recovery after various major failures
to ensure that no data are lost during the breakdown.
31
7. SYSTEM IMPLEMENTATION
7.1 Implementation Procedure
System implementation is the important stage of project when the theoretical
design is tunes into practical system. The main stages in the implementation are as
follows:
Planning
Training
System testing and
Changeover planning
Planning is the first task in the system implementation. Planning is deciding
on the method and the time scale to be adapted. At the time of implementation of
any system people from different departments and system analysis involve. They
are confirmed to practical problem of controlling various activities of people
outside their own data processing departments. The line manager controlled
through an implementation co-ordinate committee. The committee consists of
ideas, Problems and complaints of user department. It must also consider,
The implementation of system environment.
Self-selection and allocation for implementation tasks.
Consultation with unions and resources available.
Standby facilities and channels of communication.
32
8. SYSTEM MAINTENANCE
33
8.2 Architectural Design Activities
Emphasize clarity and modularity as design criteria
Design to ease likely enhancement
Use standardized notations to document, data flows, functions, structure and
interconnections
Observe the principles of information hiding, data abstraction and top-down
hierarchical decomposition
34
9. CONCLUSION
Job Search is a very involved process that could require hours of interaction
with different search sites, applications, human agents, etc. The developed system
intelligently anticipates the needs of the user and makes intelligent decisions based
on fuzzy preference rules and dynamically make location, salary markup and
markdown, and allowances choices that are perceived beneficial to the user. This is
evident in the results presented in the form of scenarios and supporting
screenshots.
35
10. FUTURE ENHANCEMENT
The actual user of the system is very much pleased by its efficient
performance and the user of the package have extremely reduces duplication of
words. Since the requirements may increase in future, the system can be easily
modified accordingly, as the system has been modularized.
In addition, the job search process could enhance the calculation of utility by
including risk factors of success in choosing one job over another. This could
enhance the probability of applying for the job that would be most suitable for an
applicant on many levels.
36
BIBLIOGRAPHY
REFERENCE BOOKS
[1] Mochol, Malgorzata, Holger Wache, and Lyndon Nixon. "Improving the
accuracy of job search with semantic techniques." Berlin, Germany, 2007 2.
[2] Frivolt, Gyorgy, and Maria Bielikov. Improving Job Search by Network of
Professions and Companies. Bratislava, Slovakia: Institute of Informatics and
Software Engineering, 2006 3.
[3] Sugawara, Kenji. "Agent-Based Application for Supporting Job Matchmaking
for Teleworkers." Second IEEE International Conference on Cognitive Informatics
(ICCI'03). 2003. pp. 137 4.
[4] Rabin, Matthew. Risk Aversion and Expected-Utility Theory: A calibration
Theory. Berkeley California: Department of Economics, 1999 5.
[5] Agulla , Elisardo G, Enrique O Muras, Jose Castro, and Carmen G Mateo. An
Open-Source Java Framework for Biometric Web Authentication Based on
BioAPI. Vigo, Spain: Department of Signal Theory and Communications,
University of Vigo, 2007.
REFERENCE WEBSITES
www.codeproject.com
www.w3schools.com
www.learnprogramming.com
37
APPENDIX
SCREENSHOTS
Home page:
38
Admin Login:
39
User Registration:
User Page:
40
41
User profile:
42
43
Job Detail:
44