SD LAB Final
SD LAB Final
SD LAB Final
1. PROBLEM STATEMENT
Many job seekers face challenges in finding suitable employment opportunities that match their skills,
qualifications, and preferences. The traditional job search process is often time-consuming, inefficient, and
lacks personalization, leading to frustration and difficulty in securing the right job. To address these issues,
we aim to develop a Job Seeker App that revolutionizes the job search experience by providing a user-friendly
platform that offers personalized job recommendations, simplifies the application process, and connects job
seekers with employers seamlessly. Additionally, our app will empower employers by allowing them to see
the number of applicants for each job posting, helping them manage and streamline their hiring process
effectively. Our goal is to provide job seekers and employers with a convenient, efficient, and tailored solution
to navigate the competitive job market successfully.
2. SOFTWARE REQUIREMENTS SPECIFICATION
1. Introduction
Job seekers often face challenges when trying to find suitable employment opportunities that align with their skills,
qualifications, and preferences. The traditional job search process is time-consuming, inefficient, and often lacks
personalization, causing frustration and difficulty in securing the right job. To address these issues, we aim to develop a
Job Seeker App that revolutionizes the job search experience.
1.1 Purpose
The purpose of this Software Requirements Specification (SRS) document is to provide a comprehensive overview of
the Job Seeker App, outlining its features, functionalities, and requirements. This document serves as a guide for the
development team, stakeholders, and anyone involved in the project.
1.2 Scope
The Job Seeker App is designed to provide a user-friendly platform for job seekers to find personalized job
recommendations, simplify the application process, and seamlessly connect with employers. It also empowers
employers by allowing them to manage and streamline their hiring process effectively.
2. Overall Description
2.1 Product Perspective
The Job Seeker App will be a standalone application, accessible on various platforms, including web, iOS, and Android.
It will be designed to interact with users, employers, and external job databases and APIs.
2.2 Product Features
The following are the core features of the Job Seeker App:
• User Registration and Profile Creation: Users can create profiles by providing their skills, qualifications, and
job preferences.
• Job Recommendations: The app will provide personalized job recommendations based on user profiles and
preferences.
• Job Search: Users can search for jobs using various filters such as location, industry, and job type.
• Application Management: Users can easily apply for jobs through the app and keep track of their applications.
• Employer Dashboard: Employers can post job openings, view the number of applicants, and manage their job
listings.
• Messaging: Users can communicate with employers and receive notifications about application status.
• User Feedback: Users can provide feedback and rate employers.
2.3 User Classes and Characteristics
The system will have the following user classes:
• Job Seekers: Individuals seeking employment.
• Employers: Organizations looking to hire talent.
• System Administrators: Responsible for system maintenance and support.
2.4 Operating Environment
The app will be designed to run on web browsers, iOS devices, and Android devices. It will rely on web servers and
external job databases.
2.5 Design and Implementation Constraints
The app's design and implementation should consider usability, scalability, and cross-platform compatibility. Security
measures will be implemented to protect user data.
3. System Features
3.1 User Registration and Profile Creation
Description
Users can create profiles by providing personal information, skills, qualifications, and job preferences.
3.2 Job Recommendations
Description
The app will provide personalized job recommendations based on user profiles and preferences.
3.3 Job Search
Description
Users can search for jobs using various filters such as location, industry, and job type.
3.4 Application Management
Description
Users can apply for jobs through the app, track application statuses, and manage their applications.
3.5 Employer Dashboard
Description
Employers can post job openings, view the number of applicants, and manage their job listings.
3.6 Messaging
Description
Users can communicate with employers and receive notifications about application status.
3.7 User Feedback
Description
Users can provide feedback and rate employers.
5. Functional Requirements
5.1 User Registration and Profile Creation
• The app shall allow users to register with a valid email address.
• Users shall provide personal information, skills, qualifications, and job preferences during registration.
5.2 Job Recommendations
• The app shall provide job recommendations based on user profiles.
• Recommendations shall consider skills, qualifications, and job preferences.
5.3 Job Search
• Users shall be able to search for jobs using filters.
• Filters shall include location, industry, and job type.
5.4 Application Management
• Users shall be able to apply for jobs.
• Users shall track the status of their applications.
5.5 Employer Dashboard
• Employers shall be able to post job openings.
• Employers shall view the number of applicants and manage job listings.
5.6 Messaging
• Users shall be able to communicate with employers.
• Users shall receive notifications about application status.
5.7 User Feedback
• Users shall provide feedback and rate employers.
6. Nonfunctional Requirements
6.1 Performance
The app shall respond to user interactions within 2 seconds and handle a minimum of 1,000 concurrent users.
6.2 Security
User data shall be encrypted and protected from unauthorized access.
6.3 Cross-Platform Compatibility
The app shall function consistently across web, iOS, and Android platforms.
6.4 Usability
The app shall be intuitive, requiring minimal training for users.
6.5 Scalability
The system shall be scalable to accommodate a growing user base and job listings.
3.UNIFIED MODELING LANGUAGE(UML) DIAGRAMS
These use cases collectively describe the various functionalities and interactions within the system
from different user perspectives.
These use cases collectively describe the various functionalities and interactions within the system
from different user perspectives.
2. Maintain Website: Indicates the use case where administrators perform maintenance tasks on
the website to ensure its proper functioning.
3. Admin: Represents the general administrative functions that an administrator can perform,
often including tasks like managing users, companies, and vacancies.
4. Approve New Vacancies: Denotes the process of an administrator approving new job
vacancies posted by companies.
5. Delete Companies: Represents the action of an administrator deleting company records from
the system.
6. Track Job Seekers: Indicates the use case where administrators monitor and track the
activities of job seekers within the system.
7. Search For Vacancies: Represents the functionality of searching for job vacancies within the
system.
8. Get Registered: Describes the use case where new users, possibly job seekers or companies,
register themselves in the system.
9. Visitors: Represents the users who visit the system without being registered.
10. Update CV: Describes the process where job seekers can update their curriculum vitae (CV)
information.
11. View Vacancies (include): Represents the inclusion of the "View Vacancies" use case within
other use cases, indicating that viewing vacancies is a part of those broader activities.
12. Apply For Job: Denotes the use case where job seekers apply for specific job vacancies.
13. Upload CV: Represents the action of job seekers uploading their CVs to the system.
14. Login: Describes the use case where users, both job seekers and employers, log into the system.
15. Modify Settings (<<extend>>): Represents an extended use case that occurs under specific
conditions, allowing users to modify their account settings.
16. OK: Represents a system response indicating the successful completion of a use case.
17. Registered Job Seekers (<<extend>>): An extended use case indicating additional
functionalities available to registered job seekers.
18. Change Password (<<extend>>): An extended use case allowing users to change their login
passwords.
19. Delete Vacancies (<<extend>>): An extended use case where administrators can delete job
vacancies from the system.
20. Employers: Represents the users who are employers, typically responsible for posting job
vacancies.
21. Log-In (<<include>>): Indicates the inclusion of the "Log-In" use case within other use cases,
emphasizing that logging in is a prerequisite for those broader activities.
22. Download CV (<<extend>>): An extended use case allowing employers to download CVs of
job seekers.
23. Update Details (<<extend>>): An extended use case where employers can update their
company details.
24. Send Notifications To Job Seekers According To Their Interest (<<extend>>): An extended
use case allowing the system to send notifications to job seekers based on their specified
interests.
25. Register Yourself: Represents the use case where new users, possibly employers, register
themselves in the system.
3.2 CLASS DIAGRAM
These classes and their associations depict the relationships and attributes within the system. The
multiplicity indicators (e.g., 1, 1..n) indicate the cardinality of relationships between classes, specifying
how many instances of one class are related to another. The methods encapsulate the behavior
associated with each class, providing a comprehensive overview of the system's structure.
1. Person: An abstract class representing a generic person, which may be further extended by
specific roles like Admin and Jobseeker.
2. User: Represents the class containing attributes for a user, including User Name and Password,
and methods for Login and Logout.
3. Admin: A subclass of User, indicating an administrator with methods to View Jobs, Approve
Job, and Remove Users.
4. Jobseeker: A subclass of User, representing a user looking for a job. It includes attributes like
Jobseeker Id, Name, Address, Email ID, Contact No, and Gender. Methods include Create
Resume, Update Profile, Delete Profile, and Download Resume.
5. Company: Represents a class for companies, including attributes like Company Id, Company
Name, Username, Address, and Company Detail. It has methods for Add, Update, and Delete.
7. Resume: Represents a class for resumes, including details such as Resume Selection, Job Id,
Company Name, Job Title, Job Category, Location, Test Marks, and methods for Get Result
and Set Result.
8. FeedBack: A class representing feedback, with a Description attribute and methods for Send
and Request.
9. Jobs: Represents a class for job-related information, including methods like Add Jobs, Search
Jobs, Apply Jobs, and View Jobs.
10. AcademicDetails: A class representing academic details, including the attribute Name.
11. PersonalDetails: A class representing personal details, including attributes for Name.
12. ResumeUpload: Represents the process of uploading resumes, including methods for Upload
and Update.
3.3 INTERACTION DIAGRAM
These terms collectively describe the interactions and processes within the system, and a sequence
diagram visually represents the order and flow of these interactions over time.
1. Admin: Represents the actor who interacts with the system, initiating various actions.
2. Login Success: Indicates the successful login process, where the system verifies credentials
and grants access.
7. Search Job Management: Describes the process of managing job search functionality, which
may involve setting criteria, saving searches, and updating search preferences.
9. Job: Represents the job-related activities within the system, encompassing the creation,
updating, and deletion of job information.
10. Login to Page: Describes the sequence of actions when a user logs in to a particular page or
section of the system.
12. List/Delete Job: Describes the sequence of actions when listing or deleting job-related
information within the system.
14. Manage Employee: Describes the overarching process for managing employee-related
information, including adding, updating, listing, and deleting employees.
15. List/Delete Registration: Describes the sequence of actions for listing or deleting user
registration details.
16. List/Delete Search Job: Represents the process of listing or deleting saved job search criteria.
17. Manage Job Details: Encompasses the process of managing specific details related to jobs,
likely involving updates and deletions.
18. Manage Interview Details: Represents the process of managing specific details related to
interviews, including updates and deletions.
19. Manage Search Job Details: Encompasses the process of managing specific details related to
job searches, including updates and deletions.
20. List/Delete Employee: Describes the sequence of actions for listing or deleting employee-
related information.
3.4 STATE CHART DIAGRAM AND ACTIVITY DIAGRAM
In a state chart diagram, states represent the various conditions a system can be in, and transitions
depict how the system moves from one state to another based on events or actions. The diagram
visually shows the dynamic behavior of the system over time.
1. Sign Up:
• Transitions: Represents the process of transitioning from being a Guest User to either
a Failed state (if the signup fails) or a successfully signed-up state.
2. Guest User:
• State: Represents the initial state when a user is not signed up.
• Transitions: Users can transition to the Sign Up state when they initiate the sign-up
process.
3. Failed:
• State: Represents the state when the sign-up process is unsuccessful.
• Transitions: Users might return to the Guest User state or take corrective actions to
attempt sign-up again.
4. Upload Resume:
• Transitions: Users transition from the Guest User state to the state where they are
actively uploading their resume.
• Transitions: Users transition from the Resume Upload state to the state where they are
actively taking the test.
• State: Represents the state where users select the job categories they are interested in.
• Transitions: Users transition from the Job Readiness Test state to the Job Categories
selection state.
• State: Represents the state where users check for job alerts.
• Transitions: Users can transition to this state from various other states, representing
the ongoing process of job alert checks.
8. Passed:
• State: Represents the state when the user successfully completes the entire process,
including sign-up, resume upload, test, and category selection.
• Transitions: Users may transition to various states from here, such as reviewing and
applying for jobs.
9. Unsuccessful Application:
• States: Represents the process of reviewing job listings, selecting a job, and applying.
• Transitions: Users transition through these states during the job application process.
11. Feedback:
• State: Represents the state where users can provide feedback after an unsuccessful
application.
• Transitions: Users might transition to other states or choose to exit the feedback
process.
• Transitions: Users may transition to states like checking job alerts or reviewing their
profile.
ACTIVITY DIAGRAM
These terms collectively describe a series of actions and interactions within a system, and an activity
diagram visually represents the flow and sequencing of these activities.
1. Start: Represents the beginning of a process or flow within the activity diagram.
3. Login: Represents the process where a user provides credentials to access the system.
4. Authentication: Denotes the system's verification process to ensure that the user's provided
credentials are valid.
5. Check: A generic term that could refer to various checks or validations within the system,
depending on the context.
6. Search: Represents the action of searching for information or data within the system.
7. Job: Could signify the process or activity related to job-related functionalities, depending on
the system's purpose.
8. Profile Match: Indicates the system comparing user profiles for potential matches, often
relevant in job or dating platforms.
9. Post Job: The action of creating and publishing a job opportunity within the system.
10. Applied Job Report: Involves generating a report or record of jobs that users have applied for.
11. Apply Job: The activity of a user applying for a job within the system.
12. Manage Job: Active/Inactive: Refers to the process of managing the status of posted jobs,
either activating or deactivating them.
14. Message: Represents the action of sending or receiving messages within the system.
15. Manage Account: Involves activities related to the management of user accounts, such as
updating information.
16. Delete: Represents the action of deleting a record, account, or other data within the system.
17. Update Profile: Denotes the process of modifying or enhancing user profile information.
18. Change Password: Involves the activity of a user updating or modifying their login
credentials.
19. Logout: Represents the action of ending a user's session within the system.
20. End: Marks the conclusion of the activity diagram, indicating the end of the process or flow.
3.5 PACKAGE DIAGRAM
In a package diagram, packages are used to organize and structure the system into meaningful and
manageable units. The dependencies and associations between packages are depicted through arrows
and stereotypes. In this context, the <<use>> stereotype indicates that one package utilizes or depends
on the functionalities provided by another package. Similarly, <<merge>> indicates a point where
different flows converge, often associated with user actions like login and registration. The <<access>>
stereotype is used to show that a package interacts with the database.
7. POST JOB: Represents a package containing functionalities related to the process of posting
job vacancies. This could include forms, validation logic, and communication with the
database.
4. USER INTERFACE DESIGN
5. IMPLEMENTATION AND DATABASE CONNECTIVITY
IMPLEMENTATION :
<?php
session_start();
if(isset($_SESSION['id_user']) || isset($_SESSION['id_company'])) {
header("Location: index.php");
exit();
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Job Portal</title>
<link rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/iCheck/1.0.2/skins/square/blue.css">
<link rel="stylesheet"
href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700,300italic,400itali
c,600italic">
</head>
<div class="login-box">
<div class="login-logo">
</div>
<div class="login-box-body">
</div>
<div class="row">
<div class="col-xs-8">
</div>
<div class="col-xs-4">
</div>
</div>
</form>
<br>
<?php
//If User have successfully registered then show them this success message
if(isset($_SESSION['registerCompleted'])) {
?>
<div>
<?php
unset($_SESSION['registerCompleted']); }
?>
<?php
if(isset($_SESSION['loginError'])) {
?>
<div>
</div>
<?php
unset($_SESSION['loginError']); }
?>
<?php
if(isset($_SESSION['userActivated'])) {
?>
<div>
</div>
<?php
unset($_SESSION['userActivated']); }
?>
<?php
if(isset($_SESSION['loginActiveError'])) {
?>
<div>
</div>
<?php
unset($_SESSION['loginActiveError']); }
?>
</div>
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-
bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script src="js/adminlte.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/iCheck/1.0.2/icheck.min.js"></script>
<script>
$(function () {
$('input').iCheck({
checkboxClass: 'icheckbox_square-blue',
radioClass: 'iradio_square-blue',
});
});
</script>
<script type="text/javascript">
$(function() {
$("#successMessage:visible").fadeOut(8000);
});
</script>
</body>
</html>
DATABASE CONNECTIVITY :
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "jobportal";
//Check Connection
if($conn->connect_error) {
}
6.CONCLUSION
In conclusion, the Job Seeker Portal is a comprehensive platform designed to bridge the gap between
job seekers and employers, fostering a seamless and efficient recruitment process. With a user-friendly
interface, the portal offers a range of features to cater to the diverse needs of job seekers, employers,
and system administrators.
The user registration and profile creation feature empower job seekers to showcase their skills,
qualifications, and preferences, enabling personalized job recommendations through an intelligent
algorithm. The job search functionality, enriched with filters such as location and industry, facilitates
a targeted and efficient job hunting experience. Application management tools empower users to
effortlessly apply for jobs, monitor application statuses, and organize their job-seeking journey.
On the employer side, the dedicated dashboard streamlines the hiring process, allowing organizations
to post job openings, monitor applicant numbers, and manage listings efficiently. The messaging
system facilitates direct communication between job seekers and employers, fostering transparent
interactions. Additionally, the user feedback feature promotes accountability and transparency, as job
seekers can provide insights and rate employers based on their experiences.
Operating across web browsers, iOS, and Android devices, the Job Seeker Portal adheres to design and
implementation constraints, prioritizing usability, scalability, and cross-platform compatibility. With
robust security measures in place, user data is safeguarded, ensuring a trustworthy environment.
Overall, the Job Seeker Portal stands as a dynamic and inclusive solution, revolutionizing the job-
seeking landscape for both individuals and organizations.