MajorProjectReport Removed
MajorProjectReport Removed
This is to certify that the project entitles “JOB VIBE: ONLINE JOB PORTAL APP”
submitted to Jorhat Institute of Science and Technology, Assam in partial fulfillment
of the requirement for the completion of the major project of B.SC in Information
Technology Degree. It is an original work carried out by Bijoy Dutta and Rajkumar
Rocktim Narayan Singha, B.SC IT 6th Semester, under the guidance of Mr. Rajiv
Kalita (Assistant Professor), Department of Computer Science and Information
Technology, JIST.
The matter embodied in this project is a genuine work done by the students. They
have also submitted the project with the report. I have been supervising them
throughout the activity and they completed the work to my ultimate satisfaction.
This work reported here in has not been presented for other academic purpose
elsewhere. This as per requirement for a live project under some organization and it
would probably meet the entire essential requisite according to the user needs. Their
effort is being appreciated by me and I wish them a bright future.
I also take this opportunity to express a deep sense of gratitude to Ms. Jameson
Mushahary (Head of Dept., CS & IT dept., JIST) for his cordial support, valuable
information and guidance which helped me in completing this task through various
stages.
Bijoy Dutta
Rajkumar Rocktim Narayan Singha
BSc-IT (6th Semester)
Index
1. Introduction ……………………………………………….. 1
Purpose
Objectives
Scope
Achievements
The era of mobile technology opens the windows to the android app. The websites
are vanishing and the mobile phones are emerging. It’s the time to change from
conventional websites to apps, which has become the part of our daily routine. In the
scenario of the assignment, we were required to develop an android application on
Online Job Portal. So, we introduce ‘Job Vibe’ the android application.
Job Vibe acts as a portal between Job Seekers and Recruiters. It is helpful for
fresher as well as young graduates, to get stated with their career. Using Job Vibe,
one can search job matching his or her qualification and appear for the selection
process once the application is being registered and accepted. It can be very helpful
as it allows users of different profile to upload their educational details and search
matching job according to their qualification. Also, every user can apply for multiple
job at a time.
graduates and fresher to find the right and satisfactory job according to their
qualification, to provide job opportunities to the job seekers, to meet manpower
requirements of Industries and Projects in corporate sectors and to provide live
vacancies.
Job Vibe is designed with a view to bring the right job for the talented and
bright candidates. It is developed with an eye to bridge the gap between talent and
opportunities and offers end-to-end recruitment solutions.
For individuals thinking about new job, new career, or new direction, Job Vibe
helps you explore the possibilities and find the opportunities that are right for you.
(b) Purpose:
The primary purpose of the online job portal is to works closely to bridge the
gap between talent and opportunities and offers end-to-end recruitment solutions and
to bring candidates and top employers under one roof.
This online job portal is prepared for providing all categories of job and help
to get various type of job. It enables applicants to search for jobs in a conventional
manner and easily apply for them. Job Vibe intends to bring the right job to the right
candidate.
(c)Scope:
• Jobseekers will have an easy access to the different job opportunities.
• Jobseekers can find job according to their qualification, location or as per their field
of interest.
• Job seekers can directly contact the organization regarding any query about the job.
(d) Achievements:
By successfully implementing the project: -
• Data validation
• Performance
• Reliability
• Scalability
• Security
• Portability
• Performance
• Time constraint
• Cost constraint
1.Android
2.JSON
3.SQLite
WHAT IS ANDROID: -
• It is an open source software platform and operating system for mobile devices
• Android has its own virtual machine i.e. DVM (Dalvik Virtual Machine), which is
used for executing the android application.
• Android is a free downloadable open source software stack for mobile devices that
include an Operating system.
ANDROID ARCHITECTURE: -
• The kernel
LINUX KERNEL: -
NATIVE LIBRARIES: -
• Android has its own libraries, which is written in C/C++. These libraries cannot
be accessed directly. With the help of application framework, we can access these
libraries. There are many libraries like web libraries to access web browsers,
Dalvik virtual machine- The Android Runtime was designed specifically for
Android to meet the needs of running in an embedded environment where you
have limited battery, limited memory, limited CPU.
Core libraries- This is in blue, meaning that it's written in the Java
programming language.
• The core library contains all of the collection classes, utilities, IO, all the utilities
and tools that you’ve come to expected to use.
Application Framework: -
• This is all written in a Java programming language and the application framework
is the toolkit that all applications use.
•These applications include the ones that come with a phone like the home
applications, or the phone application.
•It includes applications written by Google, and it includes apps that will be written
by you.
•So, all apps use the same framework and the same APIs.
These are as follows: -
• Package manager:-It is use to retrieve the data about installed packages on device.
• It includes the home application, the contacts application, the browser, and apps.
• All the applications like camera, Google maps, browser, sms, calendars, contacts
are native applications. These applications work with end user with the help of
application framework to operate.
SECURITY
• Android is a multi-process system, in which each application (and parts of the
system) runs in its own process. Most security between applications and the
system is enforced at the process level through standard Linux facilities, such as
user and group IDs that are assigned to applications.
• Android is designed having multi-layer security which provides flexibility for this
platform. When attackers attempt attack on device, android platform helps to
reduce the portability of the attack.
There are key components of android security which are described as follows: -
• Design review: -when a security model is designed then it will be reviewed by the
developers so that risk level will be very less while using the model.
• Code review and penetrating testing: -the goal of this code review is that in which
it will be checked that how the system will become strong?
• Open source and community review: -android uses open source technologies that
have significant external review such as Linux kernel.
• Incident response: -android team enables the rapid mitigation of vulnerabilities to
ensure that potential risks to all android users are minimized.
JSON (JavaScript Object Notation)
JavaScript Object Notation (JSON) is an open standard data exchange format based
on a JavaScript syntax subset. JSON is text-based, lightweight, and generally
considered easily readable/writeable.
• Portable data.
• Non-proprietary.
JSON is preferred by some over XML as a data exchange format because it is less
verbose, works quickly, reduces data size and simplifies document processing. It is
used extensively in web development, especially because it seamlessly transfers
information between potentially incompatible technologies. For example, it could
involve a Java application running on a UNIX box or a C# application running on
Windows.
SQLite
In the simplest terms, SQLite is a public-domain software package that provides
a relational database management system, or RDBMS. Relational database systems
are used to store user-defined records in large tables. In addition to data storage and
management, a database engine can process complex query commands that combine
data from multiple tables to generate reports and data summaries. Other popular
RDBMS products include Oracle Database, IBM’s DB2, and Microsoft’s SQL
Server on the commercial side, with MySQL and PostgreSQL being popular open
source products.
The “Lite” in SQLite does not refer to its capabilities. Rather, SQLite is lightweight
when it comes to setup complexity, administrative overhead, and resource usage.
SQLite is defined by the following features:
Server less
SQLite does not require a separate server process or system to operate. The
SQLite library accesses its storage files directly.
Zero Configuration
Cross-Platform
Self-Contained
A single library contains the entire database system, which integrates directly
into a host application.
Small Runtime Footprint
The default build is less than a megabyte of code and requires only a few
megabytes of memory. With some adjustments, both the library size and
memory use can be significantly reduced.
Transactional
Full-Featured
SQLite supports most of the query language features found in the SQL92
(SQL2) standard.
Highly Reliable
The SQLite development team takes code testing and verification very
seriously.
• Applicants need to apply for jobs using conventional methods and wait for further
details for a long period of time.
• Employers need to advertise the vacancies and sort all applicant details, conduct
selection procedures and complete the formalities.
Proposed System:
• Simple and professional GUI for all qualification groups.
• Filer and search facility for job seekers according to their requirement.
• Applicant gets instant response for any query through notification and other media.
• Applicants can update their personal and educational details which helps in better
filtering of matching jobs.
Constraints:
• The interface is only provided in English hence the user must know English in order
to use the application.
• Login and password is used for identification of the user and there is no facility for
guest users.
• Only registered users have the rights to access the facilities provided by the system.
Assumptions:
• The user has intermittent knowledge of android devices and its UI.
• As the system is an online system, the user must have an active internet connection
on the device.
Operational Feasibility:
In this test, the operational scope of the system is checked. The system
under consideration should have enough operational reach. It is observed that the
proposed s y s t e m i s v e r y u s e r f r i e n d l y a n d s i n c e t h e s y s t e m i s b u i l t
w i t h e n o u g h h e l p , e v e n persons with little knowledge of android can find the
system very easy.
Technical Feasibility:
This test includes a study of function, performance and constraints that may affect
the ability to achieve an acceptable system. This test begins with an assessment of
the technical viability of the proposed system. One of the main fusers to be accessed
is the need of various kinds of resources for the successful implementation for the
proposed system.
Economic Feasibility:
An evaluation of development cost weighed against the ultimate income or benefit
derived from the development of the proposed system is made. Care must be taken
that incurred in the development of the proposed of the system should not exceed
from the system. The income can be in terms of money or goodwill, since the
software brings in both, the system is highly viable.
System Requirements & Specifications(SRS)
System requirements are expressed in a software requirement document. The
Software requirement specification (SRS) is the official statement of what is
required of the system developers. This requirement document includes the
requirements definition and the requirement specification. The software requirement
document is not a design document. It should set out what the system should do
without specifying how it should be done. The requirement set out in this document
is complete and consistent.
Functional Requirements:
• The System must provide following functionalities—
• Keeping records of registration of candidates.
• Keeping the record of jobs.
• Keeping the employer details.
• Storing the record for applied job by the candidates.
• Storing the job saved by the candidates.
Non Functional Requirements:
Following Non-functional requirements will be there in the online shopping portal.
• Secure access of confidential data (candidate’s details).
• 24 X 7 availability.
• Better component design to get better performance at peak time.
Flexible service based architecture will be highly desirable for future extension.
Nonfunctional requirements define system properties and constraints. It arises
through user needs, because of budget constraints or organizational policies, or due
to the external factors such as safety regulations, privacy registration and so on.
1. Security
2. Reliability
3. Maintainability
4. Portability
5. Extensibility
6. Reusability
7. Application Affinity/Compatibility
8. Resource Utilization
External Interface Requirements:
User Interface:
User of the system will be provided with the Graphical user interface, there is no
command line interface for any functions of the product.
Hardware Interface:
The application will run on an Android emulator or an Android mobile device with
the following specifications: -
Software Interface: -
The software will run on the Android operating system, specifically version 5.0
(Lollipop) and above.
• Java
• XML
• SQL
Software Used: -
• Android Studio
• GitHub
• Balsamiq Mockups
• Adobe Photoshop
Project Module
Sign Up
The 'Sign up' activity allows the user to register himself in Job Vibe. It is to be noted that there is
no option for ‘Guest Login’ in the application. Hence, any user willing to access the facilities
provided by the application must register using proper information. During the signup process,
the user must first enter a valid email address followed by a password of his/her choice
(minimum 8 characters). After this process is completed, the user will be asked to fill some
additional information regarding his/her personal and education details. Once this process is
done, the user is directed to the ‘Home’ activity.
Login
The 'Login' facility is added for user authentication purpose. It helps to verify the credentials of
an authorized user. In this activity the user needs to enter the proper credentials, matching the
credentials entered during ‘Signup’ to access the rest of the functionalities.
Home
This is first layout the user interacts with after his/her registration is completed. Here he/she will
find two tabs headed as 'Matched' and 'Recommended'. In 'Matched' the user will see jobs
according to his qualification whereas in 'Recommended' he/she will see all the available jobs.
The user can also filter the jobs according to his/her Skill, Location and preferred Company.
He/she can also search job according to desired field of work, say for example Mobile App
Development, Web Developer, etc.
Activity
The ‘Activity’ layout keeps track of user's activity within the app. It is divided into three tabs
headed as ‘Viewed’, ’Saved’ and ’Applied’. In ‘Viewed’, the user can find all the jobs he/she has
been viewing recently. In ‘Saved’, the user can find the job he/she has saved for later. In
‘Applied’, the user can find the jobs he/she has applied for.
Notification
The ‘Notification’ layout notifies the user once a job is successfully applied.
Data Flow Diagram
Registration Registration
LogIn LogIn
Update Profile Post Job
Online
Search Job Job Portal System Search Applicant
Registration
Job Notification Confirmation
Job Seeker Employer
Context Level
Employee
Insert Details
Registration
Employer
1.0
Apply for Registration
Registration Confirmation
Search Applicant
Update
JobSeeker
3.0
Retrieve Applicant
Retrieve JobDetails
Job Posted
Interview
Interview
5.0
Confirmation
Level 1 DFD
Job Seeker
Insert Details
Registration
JobSeeker
1.0
Apply for Registration
Registration Confirmation
Profile Personal
Update Profile
3.0
Profile
Educational
LogIn Request LogIn
JobSeeker
2.0
Search Job
Search Job
Job
4.0
Apply Job
Retreive Job
Job Applied
Apply Job
Apply Job
5.0
Confirmation
Level 1 DFD
Entity Relationship Diagram
Relational Model
Screenshots
Codes
<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:openDrawer="start">
<include
layout="@layout/app_bar_home"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<android.support.design.widget.NavigationView
android:id="@+id/nav_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
android:fitsSystemWindows="true"
app:headerLayout="@layout/nav_header_home"
app:itemIconTint="@color/orange"
app:menu="@menu/activity_home_drawer">
</android.support.design.widget.NavigationView>
</android.support.v4.widget.DrawerLayout>
</android.support.design.widget.CoordinatorLayout>
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/AL_appbar">
<android.support.design.widget.TabLayout
android:id="@+id/TL_tab"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:tabTextColor="@color/white">
</android.support.design.widget.TabLayout>
</android.support.design.widget.AppBarLayout>
<android.support.v4.view.ViewPager
android:id="@+id/VP_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/AL_appbar"
>
</android.support.v4.view.ViewPager>
<LinearLayout
android:id="@+id/RL_buttons"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:background="@color/colorPrimary"
android:padding="2dp">
<LinearLayout
android:id="@+id/layoutHome"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical"
android:gravity="center"
android:layout_gravity="center">
<ImageView
android:id="@+id/IV_home"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_home"/>
<TextView
android:id="@+id/TV_home"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Home"
android:visibility="gone"
android:textColor="@color/white"/>
</LinearLayout>
<LinearLayout
android:id="@+id/layoutActivity"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical"
android:gravity="center"
android:layout_gravity="center">
<ImageView
android:id="@+id/IV_activity"
android:layout_toRightOf="@+id/IV_home"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_activity"/>
<TextView
android:id="@+id/TV_activity"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Activity"
android:visibility="gone"
android:textColor="@color/white"/>
</LinearLayout>
<LinearLayout
android:id="@+id/layoutNotification"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical"
android:gravity="center"
android:layout_gravity="center">
<ImageView
android:id="@+id/IV_notification"
android:layout_toRightOf="@+id/IV_Activity"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_notification"/>
<TextView
android:id="@+id/TV_notification"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Notification"
android:visibility="gone"
android:textColor="@color/white"/>
</LinearLayout>
</LinearLayout>
</RelativeLayout>
Some Java Codes
package brdevelopers.com.jobvibe;
import android.Manifest;
import android.annotation.SuppressLint;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.pm.PackageManager;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Color;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.support.annotation.NonNull;
import android.support.design.widget.AppBarLayout;
import android.support.design.widget.Snackbar;
import android.support.design.widget.TabLayout;
import android.support.v4.app.ActivityCompat;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentStatePagerAdapter;
import android.support.v4.view.ViewPager;
import android.text.Html;
import android.util.Log;
import android.view.View;
import android.support.design.widget.NavigationView;
import android.support.v4.view.GravityCompat;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.ActionBarDrawerToggle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;
import java.io.ByteArrayOutputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
iv_home=findViewById(R.id.IV_home);
iv_activity=findViewById(R.id.IV_activity);
iv_notification=findViewById(R.id.IV_notification);
tv_home=findViewById(R.id.TV_home);
tv_activity=findViewById(R.id.TV_activity);
tv_notification=findViewById(R.id.TV_notification);
tabLayout=findViewById(R.id.TL_tab);
viewPager=findViewById(R.id.VP_view);
layoutHome=findViewById(R.id.layoutHome);
layoutActivity=findViewById(R.id.layoutActivity);
layoutNotify=findViewById(R.id.layoutNotification);
layoutbottom=findViewById(R.id.RL_buttons);
tabLayout.setupWithViewPager(viewPager);
setterViewPager(viewPager);
iv_home.setOnClickListener(this);
iv_activity.setOnClickListener(this);
iv_notification.setOnClickListener(this);
tv_home.setOnClickListener(this);
tv_activity.setOnClickListener(this);
tv_notification.setOnClickListener(this);
layoutHome.setOnClickListener(this);
layoutActivity.setOnClickListener(this);
layoutNotify.setOnClickListener(this);
canemail=getIntent().getStringExtra("emailid");
name=getIntent().getStringExtra("name");
getdegree= getIntent().getStringExtra("getdegree");
getfos=getIntent().getStringExtra("getfos");
iv_profileImage.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ActivityCompat.requestPermissions(Home.this,new
String[]{Manifest.permission.READ_EXTERNAL_STORAGE},REQUEST_CODE_GALLERY);
}
});
tv_empname.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});
tv_empname.setText(name);
tv_empemail.setText(canemail);
navigationView.setNavigationItemSelectedListener(this);
iv_home.setImageResource(R.drawable.ic_onhome);
tv_home.setVisibility(View.VISIBLE);
iv_activity.setImageResource(R.drawable.ic_activity);
iv_notification.setImageResource(R.drawable.ic_notification);
loadProfilePic();
}
if(requestCode==REQUEST_CODE_GALLERY){
if(grantResults.length>0 && grantResults[0]==
PackageManager.PERMISSION_GRANTED){
Intent intent=new Intent(Intent.ACTION_PICK);
intent.setType("image/*");
startActivityForResult(intent,REQUEST_CODE_GALLERY);
}
else{
Toast.makeText(this, "You don't have permission to access file!.",
Toast.LENGTH_SHORT).show();
}
}
try {
Uri uri = data.getData();
InputStream inputStream = getContentResolver().openInputStream(uri);
Bitmap bitmap = BitmapFactory.decodeStream(inputStream);
iv_profileImage.setImageBitmap(bitmap);
addImgToDb(bitmap);
} catch (FileNotFoundException ex) {
ex.printStackTrace();
}
}
super.onActivityResult(requestCode, resultCode, data);
}
byte[] profieimg=imageViewtoByte(iv_profileImage);
DBManager db=new DBManager(this);
boolean bol=db.isImgExists(Home.canemail);
if(!bol){
db.insertImage(Home.canemail,profieimg);
}
else if(bol){
db.updateImage(Home.canemail,profieimg);
}
Bitmap bitmap=((BitmapDrawable)iv_profileImage.getDrawable()).getBitmap();
ByteArrayOutputStream byteArrayOutputStream=new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG,80,byteArrayOutputStream);
byte[] bytearray=byteArrayOutputStream.toByteArray();
return bytearray;
}
@Override
public void onBackPressed() {
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
if (drawer.isDrawerOpen(GravityCompat.START)) {
Log.d("logcheck","drawer");
drawer.closeDrawer(GravityCompat.START);
}
else if(!onbackpressed){
View v=findViewById(android.R.id.content);
Snackbar.make(v,"Press back again to exit
"+Html.fromHtml("✋"),Snackbar.LENGTH_SHORT).show();
onbackpressed=true;
}
else{
super.onBackPressed();
}
new CountDownTimer(3000,1000){
@Override
public void onTick(long millisUntilFinished) {
@Override
public void onFinish() {
onbackpressed=false;
}
}.start();
}
@SuppressWarnings("StatementWithEmptyBody")
@Override
public boolean onNavigationItemSelected(MenuItem item) {
// Handle navigation view item clicks here.
int id = item.getItemId();
if (id == R.id.nav_editProfile) {
Intent editProfile = new Intent(Home.this, EditActivity.class);
startActivity(editProfile);
overridePendingTransition(R.anim.topttobottom,R.anim.bottomtotop);
finish();
} else if (id == R.id.nav_faq) {
Intent intent=new Intent(Home.this,FAQ.class);
startActivity(intent);
overridePendingTransition(R.anim.topttobottom,R.anim.bottomtotop);
finish();
}
});
report.setNegativeButton("Abort", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
dialogInterface.cancel();
}
});
report.setView(reportView);
report.show();
share.putExtra(Intent.EXTRA_TEXT,"https://drive.google.com/file/d/1bpu0_9l52LilIhlLOE4
8_xTYQEdHBYvC/view?usp=sharing");
startActivity(Intent.createChooser(share,"Share Using"));
}
else if (id == R.id.nav_about) {
Intent intent=new Intent(Home.this,AboutUs.class);
startActivity(intent);
overridePendingTransition(R.anim.topttobottom,R.anim.bottomtotop);
finish();
}
else if(id==R.id.nav_logout){
SharedPreferences
sharedPreferences=getSharedPreferences("Data",MODE_PRIVATE);
SharedPreferences.Editor editor=sharedPreferences.edit();
editor.putString("email","");
editor.putString("password","");
editor.commit();
@SuppressLint("ResourceAsColor")
@Override
public void onClick(View v) {
if (v.getId()==R.id.IV_home || v.getId()==R.id.TV_home ||
v.getId()==R.id.layoutHome) {
iv_home.setImageResource(R.drawable.ic_onhome);
tv_home.setVisibility(View.VISIBLE);
tv_activity.setVisibility(View.GONE);
tv_notification.setVisibility(View.GONE);
iv_activity.setImageResource(R.drawable.ic_activity);
iv_notification.setImageResource(R.drawable.ic_notification);
toolbar.setTitle(R.string.title_activity_home);
tabLayout.setVisibility(View.VISIBLE);
tabLayout.setupWithViewPager(viewPager);
setterViewPager(viewPager);
toolbar.setTitle(R.string.title_activity_activity);
tabLayout.setVisibility(View.VISIBLE);
tabLayout.setupWithViewPager(viewPager);
setterViewPagerActivity(viewPager);
toolbar.setTitle(R.string.title_activity_notification);
tabLayout.setVisibility(View.GONE);
setterViewPagerNotification(viewPager);
@Override
public android.support.v4.app.Fragment getItem(int position) {
return toplist.get(position);
}
@Override
public int getCount() {
return toplist.size();
}
@Override
public CharSequence getPageTitle(int position) {
return titlelist.get(position);
}
toplist.add(fragment);
titlelist.add(string);
}
}
Testing Approaches
TESTING PROCEDURES
• Unit Testing: A Unit corresponds to a form/class in the package. Unit testing focuses on
verification of the corresponding form or class. In this level we have tested all our forms/classes
individually. This testing includes testing of control paths, interfaces, local data structures, logical
decisions, boundary conditions, and error handling. From this testing we were able to save,
We hope that after the acceptance testing the system will perform the best result for the
organization. When modification will be made, we will use regression testing during the
maintenance of the system. The Application delivered to the customer may undergo changes.
Changes may be due to addition of new functional modules or performance enhancement. For
this purpose, proper maintenance of the system is must.
Expected outcome : The user should only login with valid credentials
failing which some error message follows
Step No. Data Used Actual Outcome
1. Click on the log in button An alert message came to enter
without entering username or Username
password
2. Click on the log in button An alert message came to enter
after entering some username Password
leaving password field blank
3. Click on the log in button An alert message came to enter
after entering some password Username
but leaving username field
blank
4. Click on the log in button A message displayed on Log in
after entering some wrong page about this
username but correct
password
Expected outcome : The user will not be allowed to register with an email that
already exists. Also the password entered by the user must
match the confirm password. An alert message will be
given to the user if the above cases are not fulfilled.
2. Click on the signup button with An alert message appeared saying that
unmatching passwords the entered passwords does not
match.
Test case Ref No TCT-003
Expected outcome : The user will be alerted if the job he/she wants to apply for
has already been applied.
Android is a truly open, free development platform based on Linux and open source. Handset
makers can use and customize the platform without paying a royalty. A component-based
architecture inspired by Internet mash-ups. Parts of one application can be used in another in
ways not originally envisioned by the developer and can even replace built-in components with
own improved versions. This will unleash a new round of creativity in the mobile space.
This Job Portal App acts as a portal between Job Seekers and Recruiters. It is helpful for
fresher as well as young graduates, to get stated with their career. Using Job Vibe, one can search
job matching his or her qualification and appear for the selection process once the application is
being registered and accepted.
Bibliography
1. YouTube
https://www.youtube.com/playlist?list=PLonJJ3BVjZW6hYgvtkaWvwAVv
OFB7fkLa&pbjreload=10
2. Developer Guides
https://developer.android.com/guide/
3. Javatpoint
https://www.javatpoint.com/android-tutorial
4. Stack Overflow
https://stackoverflow.com/
CERTIFICATE
This is to certify that the project entitles “JOB VIBE: ONLINE JOB PORTAL APP”
submitted to Jorhat Institute of Science and Technology, Assam in partial fulfillment
of the requirement for the completion of the major project of B.SC in Information
Technology Degree. It is an original work carried out by Bijoy Dutta and Rajkumar
Rocktim Narayan Singha, B.SC IT 6th Semester, under the guidance of Mr. Rajiv
Kalita (Assistant Professor), Department of Computer Science and Information
Technology, JIST.
The matter embodied in this project is a genuine work done by the students. They
have also submitted the project with the report. I have been supervising them
throughout the activity and they completed the work to my ultimate satisfaction.
This work reported here in has not been presented for other academic purpose
elsewhere. This as per requirement for a live project under some organization and it
would probably meet the entire essential requisite according to the user needs. Their
effort is being appreciated by me and I wish them a bright future.
The matter embodied in this project is a genuine work done by the students. They
have also submitted the project with the report. I have been supervising them
throughout the activity and they completed the work to my ultimate satisfaction.
This work reported here in has not been presented for other academic purpose
elsewhere. This as per requirement for a live project under some organization and it
would probably meet the entire essential requisite according to the user needs. Their
effort is being appreciated by me and I wish them a bright future.