Online Job Searching
CHAPTER 1
                               INTRODUCTION
1.1    Tools and Technologies Used
1.1.1 JAVA
       When we come to technology we are using java JDK 1.6 version , Java is a
programming language originally developed by James Gosling at Sun Microsystems
(which is now a subsidiary of Oracle Corporation) and released in 1995 as a core
component of Sun Microsystems' Java platform. The language derives much of its syntax
from C and C++ but has a simpler object model and fewer low-level facilities. Java
applications are typically compiled to byte code (class file) that can run on any Java Virtual
Machine (JVM) regardless of computer architecture. Java is a general-purpose, concurrent,
class-based, object-oriented language that is specifically designed to have as few
implementation dependencies as possible. It is intended to let application developers "write
once, run anywhere". Java is currently one of the most popular programming languages in
use, and is widely used from application software to web applications. Java is a platform
independent language. JDK is the Java Development Kit which includes the Java Runtime
Environment (JRE). JDK is for programmers to write Java programs and applets. Java is
used a lot on the web and also in mobile phones and consumer devices because java is
versatile and platform independent.
1.1.2 JAVA IMPLEMENTATION
       Sun Microsystems officially licenses the Java Standard Edition platform for Linux,
Mac OS X, and Solaris. Although in the past Sun has licensed Java to Microsoft, the license
has expired and has not been renewed. Through a network of third-party vendors and
licensees, alternative Java environments are available for these and other platforms.
       Sun's trademark license for usage of the Java brand insists that all implementations
be "compatible". This resulted in a legal dispute with Microsoft after Sun claimed that the
Microsoft implementation did not support RMI or JNI and had added platform-specific
features of their own. Sun sued in 1997 and in 2001 won a settlement of US$20 million, as
well as a court order enforcing the terms of the license from Sun. As a result, Microsoft no
longer ships Java with Windows, and in recent versions of Windows, Internet Explorer
Dept of CSE                                 Page 1                               GSSSIETW
Online Job Searching
cannot support Java applets without a third-party plug-in. Sun, and others, have made
available free Java run-time systems for those and other versions of Windows.
       Platform-independent Java is essential to the Java EE strategy, and an even more
rigorous validation is required to certify an implementation. This environment enables
portable server-side applications, such as Web services, Java Servlets, and Enterprise
JavaBeans, as well as with embedded systems based on OSGi, using Embedded Java
environments. Through the new GlassFish project, Sun is working to create a fully
functional, unified open source implementation of the Java EE technologies. Sun also
distributes a superset of the JRE called the Java Development Kit (commonly known as the
JDK), which includes development tools such as the Java compiler, Javadoc, Jar, and
debugger.
1.1.3 JAVA PERFORMANCE
       Programs written in Java have a reputation for being slower and requiring more
memory than those written in C. However, Java programs' execution speed improved
significantly with the introduction of Just-in-time compilation in 1997/1998 for Java 1.1
the addition of language features supporting better code analysis (such as inner classes,
String Buffer class, optional assertions, etc.), and optimizations in the Java Virtual Machine
itself, such as Hotspot becoming the default for Sun's JVM in 2000. Currently, Java code
has approximately half the performance of C code.
       Platforms offer direct hardware support for Java; there are microcontrollers that can
run java in hardware instead of a software JVM, and ARM based processors can have
hardware support for executing Java byte code through its Jazelle option.
1.1.3 AUTOMATIC MEMORY MANAGEMENT
       Java uses an automatic garbage collector to manage memory in the object lifecycle.
The programmer determines when objects are created, and the Java runtime is responsible
for recovering the memory once objects are no longer in use. Once no references to an
object remain, the unreachable memory becomes eligible to be freed automatically by the
garbage collector. Something similar to a memory leak may still occur if a programmer's
code holds a reference to an object that is no longer needed, typically when objects that are
no longer needed are stored in containers that are still in use. If methods for a nonexistent
object are called, a "null pointer exception" is thrown.
Dept of CSE                                 Page 2                               GSSSIETW
Online Job Searching
       One of the ideas behind Java's automatic memory management model is that
programmers can be spared the burden of having to perform manual memory management.
In some languages, memory for the creation of objects is implicitly allocated on the stack,
or explicitly allocated and reallocated from the heap. In the latter case the responsibility of
managing memory resides with the programmer. If the program does not reallocate an
object, a memory leak occurs. If the program attempts to access or reallocate memory that
has already been reallocated, the result is undefined and difficult to predict, and the program
is likely to become unstable and/or crash. Garbage collection may happen at any time.
Ideally, it will occur when a program is idle. It is guaranteed to be triggered if there is
insufficient free memory on the heap to allocate a new object; this can cause a program to
stall momentarily. Explicit memory management is not possible in Java.
       Java does not support C/C++ style pointer arithmetic, where object addresses and
unsigned integers (usually long integers) can be used interchangeably. This allows the
garbage collector to relocate referenced objects and ensures type safety and security.
1.1.4 MYSQL
       MySQL is a database system used on the web. Basically, a MySQL database allows
us to create a relational database structure on a web-server in order to store data or automate
procedures. MySQL is one of the most popular relational databases Management System
on the web. The MySQL Database has become the world's most popular open
source Database, because it is free and available on almost all the platforms. The MySQL
can run on Unix, window, and Mac OS. It is used for the internet applications as it provides
good speed and is very secure. It was developed to manage large volumes of data at very
high speed to overcome the problems of existing solutions. MySQL can be used for verity
of applications but it is mostly used for the web applications on the internet.
Usage of MYSQL
      Scalability and Flexibility: Can handle embedded applications and massive data
       warehouses.
Dept of CSE                                 Page 3                                GSSSIETW
Online Job Searching
      High Performance: Unique storage engine architecture.
      High Availability: High speed master/slave replication configurations.
          ACID (atomic, consistent, isolated, durable) transaction support.
          Distributed transaction capability.
          Multi-version transaction support.
          High performance query engine.
          Good storage architecture for data warehousing.
          Automatic space expansion, auto-restart, and dynamic configuration
          Suite of graphical management and migration tools
1.2 OBJECTIVES
      The objective of the web as well as web application is to provide flexibility to the
       jobseekers by providing the functionalities of both job search and job application in
       a single application.
      In addition, this application provides an effective means for the employers to post
       job vacancies and view the job applications by the interested applicants in a single
       applications.
CHAPTER 2
               REQUIREMENT SPECIFICATION
Dept of CSE                                Page 4                               GSSSIETW
Online Job Searching
       Requirement specification is a document or set of documents that specifically says
the requirements of the project. It is of two type i.e. Software requirements and Hardware
requirements. Software requirements deals with the software that we need to execute the
project. Hardware on other hand deals with the OS we use or Processor we have, its speed,
model, manufacturer etc.
2.1 HARDWARE REQUIREMENTS
      Processor             :       i3+
      RAM                   :       8GB
      Hard Disk             :       100GB
      Speed                 :       2.4 GHz+
2.2 SOFTWARE SPECIFICATION
      Operating System      :        Windows XP or higher
      Language              :        Java, JSP, Servlets
      Java Software         :        JDK 1.6 or above
      Database              :        MySQL
      Server                :       Apache TomCat
CHAPTER 3
                                     DESIGN
Dept of CSE                                Page 5                             GSSSIETW
Online Job Searching
3.1 OVERVIEW
         The Online Job Search Portal is a web-based and android application, which
revolutionizes the way companies hire the candidates and jobseekers search for job
vacancies. The employers can view reviews given by the jobseekers and make
improvements in their system accordingly. The application provides a flexible and easy to
use environment on desktops as well as portable devices like smart phones/tablets for the
users to achieve their respective objective.
The modules that I have implemented in the Job Search Portal are as listed.
 Admin
 User
         Admin Spring Security provides the Admin login. The Admin module provides
various functionalities. The Admin users are responsible for activating and deactivating the
employer accounts. In addition, Admin users can view the list of employers registered with
the application.
         User will be able to perform functions such as registering with the application and
creating an account by providing the details of Employer Name, Employer Code, Address,
Company E-mail, Mobile Number, Login Name, and Password that are stored in the User
table of MySQL database. Once the account is activated, this module allows User to post
jobs summarizing responsibilities and expected skills that will be saved in the Posted Jobs
table of MySQL database. The user will also be given privilege to activate or deactivate
jobs. He/she can view the list of job postings that are active. He/she can also view the
applicant details that have applied for a particular job posting. The user will be able to view
reviews provided by the jobseeker.
3.2 WORKING PRINCIPLE
The website contains the following pages
        Home
Dept of CSE                                    Page 6                             GSSSIETW
Online Job Searching
       This is the login Page where User and Admin both can login.
      Sign Up
       This is the page where new user is going to get registered.
      Company
       The Admin is going to manage the companies and User is going to view the
company.
      Company Registration
       This page helps for registering user registering for a particular Company.
CHAPTER 4
                           IMPLEMENTATION
4.1 PSEUDO CODE
Dept of CSE                               Page 7                              GSSSIETW
Online Job Searching
<%@page import="DAO.DAO"%>
<%@page import="java.sql.Statement"%>
<%@page import="java.sql.Connection"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.ResultSet"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
  pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<!DOCTYPE html>
<html>
<head>
 <meta charset="UTF-8">
 <title>Title goes here</title>
 <meta name="description" content="Description of your site goes here">
 <meta name="keywords" content="keyword1, keyword2, keyword3">
 <link href="css/style.css" rel="stylesheet" type="text/css">
 <style>
 form {width:400px;}
 label { float:left;width:150px;}
 input{type=text} {float:left;width:250px;}
 .clear {clear:both;height:0;line-height:0;}
 .floatright {float:right;}
 </style>
</head>
<body>
<div class="page-in">
Dept of CSE                                Page 8                          GSSSIETW
Online Job Searching
<div class="page">
<div class="main">
<div class="header">
<div class="header-top">
<h1>YSK <span></span></h1>
</div>
<div class="header-bottom">
<h2>INNOVATION AND YOU</h2>
</div>
<div class="topmenu">
<ul>
 <li style="background: transparent none repeat scroll 0% 50%; -moz-background-clip:
initial; -moz-background-origin: initial; -moz-background-inline-policy: initial; padding-
left: 0px;"><a href="admin.jsp"><span>Home</span></a></li>
 <li><a href="admin.jsp"><span>LogOut</span></a></li>
</ul>
</div>
</div>
<!--Designed by--><a href="http://www.usaonlinecasinos.org">
<img src="images/copyright.gif" class="copyright"
alt="http://www.usaonlinecasinos.org"></a>
<div class="content">
<div class="content-left">
<div class="row2">
<h2 class="subtitle">SignUp<span>Page</span></h2>
<p><strong>Welcome</strong></p>
<p> </p>
<div align="center">
<form>
  <div>
       <label>Your Name</label> <input type="text" name="input_name"
                                     id="input_name">
  </div>
Dept of CSE                                Page 9                              GSSSIETW
Online Job Searching
  <br>
 <div>
    <label>Email</label> <input type="text" name="input_email" id="input_email">
 </div>
  <br>
 <div>
    <label>Password</label> <input type="password" name="input_password"
id="input_password">
 </div>
 <br>
 <div>
    <label>Phone</label> <input type="text" name="input_phone" id="input_phone">
 </div>
  <br>
  <div>
    <label>Address</label> <input type="text" name="input_address"
id="input_address">
   </div>
   <br>
    <button type="submit" name="btn_signup" id="btn_signup" onclick="return
signupVal()" style="margin-left:35%">SignUp</button>
   </div>
  </form>
   </div>
    <%
     DAO dao=new DAO();
         ResultSet resultSet;
if(request.getParameter("btn_signup")!=null) {
         String name=request.getParameter("input_name");
         String email=request.getParameter("input_email");
         String pwd=request.getParameter("input_password");
         String phone=request.getParameter("input_phone");
         String address=request.getParameter("input_address");
Dept of CSE                               Page 10                        GSSSIETW
Online Job Searching
String query="insert signup(User_Name,User_Email,User_Password,User_Phone,User
_Address)values('"+name+"','"+email+"','"+pwd+"','"+phone+"','"+address+"')";
int row=dao.putData(query);
    if(row>0)
    {
    %>
    <script type="text/javascript">
         alert("SignUp Successfull");
         window.location.href="admin.jsp";
         </script>
         <%
    }
}
%>
</body></html>
</body>
</html>
CHAPTER 5
                                        TESTING
5.1 Introduction to testing
         Verification and validation is a generic name given to checking processes, which
ensures that the software confirms to its specifications and meets the demands of user.
Dept of CSE                                Page 11                              GSSSIETW
Online Job Searching
    Validation
Are we building the right product?
         Validation involves checking that the program has implemented meets the
requirement of the users.
    Verification
       Are we building the product right?
Verification involves checking that the program confirms to its specification
5.2 Stages in the Implementation of specification
    Unit testing
       Each individual unit is tested for correctness.
These individual components will be tested to ensure that they operate correctly.
    Integration testing:
       This Phase involves testing collection of modules, which have been integrated into
sub system. Sub systems may be independently designed and implemented.
        System testing:
       The sub systems are integrated to make up the entire system. The errors that result
from unanticipated interaction between sub systems and system components are removed.
        User Acceptance testing:
         This is the final stage in the testing process before the system is tested for
operational use. Any requirement problem or requirement definition problem revealed from
acceptance testing are considered and made error free.
5.3 TEST CASES
 Testcase ID Testcase          Input           Actual output    Expected output Remarks
               description
        1      Admin Login Email And           Manage           Manage company Pass
                               Password        Companies        table is displayed
Dept of CSE                                  Page 12                            GSSSIETW
Online Job Searching
              Button
     2        User Login     Email And        View Company       View Company         Pass
                             Password                            with Registration
              Button
                                                                 Links
     3        Registration to Registration    After Registration Thank you for        Pass
              Company                         thanks is displayed Registration Page
                             Details
CHAPTER 6
                                  SNAPSHOTS
Dept of CSE                                  Page 13                             GSSSIETW
Online Job Searching
     Fig 6.1 : Home Page – The login of User and Admin takes place in thi page.
        Fig 6.2 : User Sign Up Page – New User need to Register in this page.
Dept of CSE                            Page 14                            GSSSIETW
Online Job Searching
 Fig 6.3 : Add Company Details – Company details are managed by Admin in this
                                       page.
Fig 6.4 : View Company Details – User view the list of companies and applies for it.
Dept of CSE                            Page 15                            GSSSIETW
Online Job Searching
     Fig 6.5 : User Registration Page – User updates his credentials in this page.
    Fig 6.6 : Thanks giving Page – It confirms the successful registration for the
                                      company.
Dept of CSE                              Page 16                            GSSSIETW
Online Job Searching
                                 CONCLUSION
       Job Search Portals stands as a revolutionizing element in the sphere of recruitment.
They act as a communication bridge between applicants and recruiters facilitating their
requirements. This application helps organizations to have a greater exposure to the
candidate pool and also job seekers facilitating wide search of jobs matching their interests.
The web application provides flexibility to the jobseekers to view the openings and applied
jobs without the need to carry a laptop.
       This application provides an enhanced user experience for both employer and
jobseeker. It provides user friendly interface which facilitates in reaching wide range of
audience. The application has achieved all the requirements that were initially set in the
requirements gathering phase. Starting from requirements elicitation to design,
construction, implementation and testing, I have gained a very good experience working
with various technologies at every phase. Development of this project boosted my
confidence in web development.
Dept of CSE                                 Page 17                               GSSSIETW
Online Job Searching
                       FUTURE ENHANCEMENT
       This project fulfills the primary requirements of the job seekers and employers. It
can be extended in several ways – We can provide recommendations and email updates for
new job postings based on the job seeker’s search history. Since, the job seekers might be
interested in building a strong Resume, we can provide tips and information for the same.
We can also provide templates for building the Resumes which might interest most
applicants. The mobile application is developed fulfilling the functionalities of job seeker,
it can be extended to support functionalities of Employer as well.
Dept of CSE                                Page 18                                GSSSIETW
Online Job Searching
                                 REFERENCE
          The Java Tutorials: http://download-llnw.oracle.com/javase/tutorial/index.html
          http://www.java.com/en/download/faq/what is-java.xml
          http://www.tutorialspoint.com/jdbc/jdbc-quick-guide.html
          http://www.jdbc-tutorial.com/jdbc-tutorials/jdbc-create-table
          http://www.w3schools.com/html/html-elements.jsp
          Software Engineering, Ian Summerville, Sixth Edition, Pearson Education Ltd,
           2001
          Wikipedia, the free encyclopaedia
Dept of CSE                               Page 19                             GSSSIETW