Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
13 views31 pages

Srs Jobportal

Uploaded by

uniquenavs47
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views31 pages

Srs Jobportal

Uploaded by

uniquenavs47
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 31

Online Job Portal

Mini Project report on


Object Oriented Software Engineering
Department of Computer Science and Engineering
Submitted by
P. Prasannalaxmi A22126510197
N. Navya Durga A22126510045
Sai Charishma A22126510048
M. Durga Prasad A22126510044
M. Tarun A22126510038

Anil Neerukonda Institute of Technology & Sciences (Autonomous)


(Affiliated to AU, Approved by AICTE & Accredited by NBA & NAAC with ‘A’ Grade)

Mrs.S.A. Bhavani Dr.G. Srinivas


Faculty Incharge Head of the Department
Computer Science and Engineering

Page 1 of 31
TABLE OF CONTENTS
LIST OF FIGURES
ABSTRACT
1. INTRODUCTION
1.1 Purpose
1.2 Scope
1.3 Definitions
1.4 References
1.5 Overview
2. OVERALL DESCRIPTION
2.1 Product Perspective
2.2 Product Functions
2.3 User Characteristics
2.4 Assumptions
2.5 Constraints
3. SPECIFIC REQUIREMENTS
3.1 External Interface Requirements
3.1.1 User Interfaces
3.1.2 Hardware Interfaces
3.1.3 Software Interfaces
3.1.4 Communication Interfaces
3.2 Functional Requirements
3.2.1 Job Seeker Registration
3.2.2 Employer Registration
3.2.3 Job Posting
3.2.4 Job Search and Application
3.2.5 Resume Upload and Management
3.2.6 Interview Scheduling
3.2.7 Notification System
3.3 Design Constraints
3.4 Attributes
4. SYSTEM DESIGN
4.1SystemArchitecte
4.2 UML Design
4.2.1 State Chart Diagram
4.2.2 Class Diagram
4.2.3 Use Case Diagram
4 IMPLEMENTATION CODE
5 SCREENSHOTS
6 TESTING
7 CONCLUSION
8 REFERENCES

Page 2 of 31
LIST OF FIGURES
1. State chart diagram for online job portal
2. Class diagram for online job portal
3. Use case diagram for online job portal
4. Output screenshots

LIST OF TABLES
1. Table for different test cases of testing

ABBREVATIONS
• HTML – Hyper Text Markup Language
• CSS – Cascading Style Sheets
• PHP - Hypertext Preprocessor
• SQL – Structured Query Language
• SRS - Software Requirements Specification

Page 3 of 31
ONLINE JOB PORTAL

ABSTRACT:

The Online Job Portal is a comprehensive web-based platform designed to


seamlessly connect employers and job seekers, facilitating efficient recruitment
and job search processes. Employers can register and create detailed company
profiles, post job vacancies specifying roles, responsibilities, and desired
qualifications, and manage applications through an intuitive dashboard. Job
seekers can create personalized profiles highlighting their skills, experiences, and
career objectives, search and filter job listings based on various criteria, and apply
directly through the portal. The system incorporates secure user authentication,
role-based access control, and data encryption to ensure privacy and data
integrity. Additionally, the portal offers real-time notifications, job
recommendation algorithms based on user profiles, and analytics tools for
employers to assess application trends. By streamlining the hiring process and
providing a centralized platform for job matching, the Online Job Portal aims to
enhance employment opportunities and operational efficiency for both job
seekers and employers.

Page 4 of 31
1. Introduction
1.1 Purpose
This document provides a detailed description of the Online Job Portal system. It outlines the
system's functionalities, interfaces, and constraints, serving as a guide for developers, testers,
and stakeholders to understand the system's requirements.
1.2 Scope
The Online Job Portal is a web-based application designed to connect employers and job
seekers. It enables employers to post job openings and manage applications, while job
seekers can search for jobs and apply online. The system includes features such as user
authentication, profile management, job posting, job searching, application tracking, and
notification services.
1.3 Definitions, Acronyms, and Abbreviations
• SRS: Software Requirements Specification
• HTTP: Hypertext Transfer Protocol
• HTTPS: Hypertext Transfer Protocol Secure
• SQL: Structured Query Language
1.4 References
• IEEE Std 830-1998: IEEE Recommended Practice for Software Requirements
Specifications
• Online Job Portal Project Documentation
1.5 Overview
This SRS document is organized into several sections. Section 2 provides an overall
description of the system, including its perspective, functions, user characteristics,
constraints, assumptions, and dependencies. Section 3 details the specific requirements,
encompassing external interface requirements, functional requirements, performance
requirements, design constraints, and other non-functional requirements.

2. Overall Description
2.1 Product Perspective
The Online Job Portal is an independent web-based application designed to facilitate
interactions between employers and job seekers. It operates within a standard web
environment and interfaces with external email services for notifications.
2.2 Product Functions
• User Registration and Authentication: Allows users to create accounts and securely
log in.

Page 5 of 31
• Profile Management: Enables users to create and update their profiles with relevant
information.
• Job Posting and Management: Allows employers to post job openings and manage
them.
• Job Search and Application: Enables job seekers to search for jobs and apply online.
• Notification System: Sends email notifications to users regarding application statuses
and other updates.
2.3 User Characteristics
Users are expected to have basic internet navigation skills. Employers may have additional
administrative privileges for managing job postings.
2.4 Constraints
• The system shall comply with data protection regulations.
• The application will be accessible via standard web browsers.
• The system shall ensure secure data transmission using HTTPS.
2.5 Assumptions and Dependencies
• Users have access to the internet and a compatible web browser.
• The system relies on external email services for communication.
• The underlying infrastructure will support the expected user load.

3. Specific Requirements
3.1 External Interface Requirements
3.1.1 User Interfaces
• Responsive web pages compatible with various devices.
• Intuitive navigation and user-friendly design.
• Accessible interfaces complying with accessibility standards.
3.1.2 Hardware Interfaces
The system is hosted on a web server and accessed via client devices such as desktops,
laptops, and mobile devices.
3.1.3 Software Interfaces
• Integration with databases for data storage.
• Interfaces with email servers for notifications.
• Compatibility with web browsers supporting HTML5 and CSS3.

Page 6 of 31
3.1.4 Communication Interfaces
The system uses HTTP/HTTPS protocols for communication between clients and the server.
3.2 Functional Requirements
3.2.1 User Registration and Login
• The system shall allow users to register using a unique email address and password.
• The system shall authenticate users during login.
3.2.2 Profile Management
• Users shall be able to create and update their profiles with personal and professional
information.
• Employers shall be able to view job seeker profiles.
3.2.3 Job Posting
• Employers shall be able to post new job listings with details such as job title,
description, requirements, location, and salary.
• Employers shall be able to edit or delete their job postings.
3.2.4 Job Search and Application
• Job seekers shall be able to search for jobs using various filters such as keyword,
location, and job type.
• Job seekers shall be able to apply for jobs online.
3.2.5 Notification System
• The system shall send email notifications to job seekers upon successful application
submission.
• The system shall notify employers about new applications.
3.3 Performance Requirements
• The system shall handle up to 10,000 concurrent users without performance
degradation.
• The system shall load pages within 2 seconds under normal conditions.
3.4 Design Constraints
• The system shall be developed using open-source technologies.
• The system shall adhere to MVC (Model-View-Controller) architecture.

Page 7 of 31
3.5 Other Nonfunctional Requirements
3.5.1 Security Requirements
• User data must be encrypted during transmission and storage.
• Implement role-based access control to restrict functionalities.
3.5.2 Portability
• Cross-Platform Compatibility: Ensure the application operates seamlessly across
various operating systems and devices, including desktops, tablets, and smartphones.
3.5.3 Interoperability
• Third-Party Integration: Facilitate smooth integration with external services such as
payment gateways, email systems, and calendar applications to enhance functionality.
3.5.4 Compliance
• Regulatory Adherence: Comply with relevant data protection regulations, such as
GDPR, ensuring user data is handled responsibly and legally.
3.5.5 Accessibility
• Inclusive Design: Design the system to be usable by individuals with disabilities,
adhering to accessibility standards like the Web Content Accessibility Guidelines
(WCAG).
3.5.6 Maintainability
• Code Modularity: Structure the codebase in a modular fashion to facilitate easy
updates and incorporation of new features.
• Comprehensive Documentation: Provide detailed documentation to assist developers
and maintainers in understanding and modifying the system efficiently.
3.5.7 Auditability
• Action Logging: Implement detailed logging of significant user and system actions to
support monitoring and auditing activities.
• Audit Trails: Maintain comprehensive records of data changes to ensure
accountability and facilitate issue resolution

Page 8 of 31
4. SYSTEM DESIGN
4.1 ARCHITECTURE

Page 9 of 31
4.2 USECASE DIAGRAMS

4.2.1 STATE CHART DIAGRAM

Page 10 of 31
4.2.2 CLASS DIAGRAM

Page 11 of 31
4.2.3USECASE DIAGRAM

Page 12 of 31
5 IMPLEMENTATION CODE:
Index Page
<?php
// index.php (Main Entry Point for Job Portal)
session_start();
include 'config/config.php';
if (isset($_SESSION['user_role'])) {
if ($_SESSION['user_role'] == 'employer') {
header("Location: employer_dashboard.php");
} elseif ($_SESSION['user_role'] == 'jobseeker') {
header("Location: jobseeker_dashboard.php");
}
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Job Portal</title>
<link rel="stylesheet" href="../styles/styles.css">
</head>
<body style="background-color:rgb(200, 200, 240)">
<div class="container">
<h1>Welcome to the Online Job Portal</h1>
<p><a href="auth/login.php">Login</a> | <a href="auth/register.php">Register</a></p>
</div>
<footer>
<p>&copy; 2025 Job Portal. All rights reserved. </p>
</footer>
</body>
</html>

Page 13 of 31
Login Page
<?php
// login.php - User Login
session_start();
include '../config/config.php';
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$email = $_POST['email'];
$password = $_POST['password'];
$sql = "SELECT id, name, password, role FROM users WHERE email = ?";
$stmt = $conn->prepare($sql);
$stmt->bind_param("s", $email);
$stmt->execute();
$stmt->store_result();
$stmt->bind_result($id, $name, $hashed_password, $role);
if ($stmt->num_rows > 0) {
$stmt->fetch();
if (password_verify($password, $hashed_password)) {
$_SESSION['user_id'] = $id;
$_SESSION['user_name'] = $name;
$_SESSION['user_role'] = $role;
if ($role == 'employer') {
header("Location: ../dashboard/employer_dashboard.php");
} else {
header("Location: ../dashboard/jobseeker_dashboard.php");
}
exit();
} else {
$error = "Invalid password";
}
} else {
$error = "No user found with this email";
}

Page 14 of 31
$stmt->close();
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Login</title>
<link rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css">
</head>
<body>
<div class="container mt-5">
<h2>Login</h2>
<?php if (isset($error)) echo "<div class='alert alert-danger'>$error</div>"; ?>
<form method="POST">
<div class="mb-3">
<label class="form-label">Email</label>
<input type="email" class="form-control" name="email" required>
</div>
<div class="mb-3">
<label class="form-label">Password</label>
<input type="password" class="form-control" name="password" required>
</div>
<button type="submit" class="btn btn-primary">Login</button>
</form>
<p class="mt-3">Don't have an account? <a href="register.php">Register here</a></p>
</div>
</body>
</html>

Page 15 of 31
Register Page
<?php
// register.php - User Registration
session_start();
include '../config/config.php';
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$name = $_POST['name'];
$email = $_POST['email'];
$password = password_hash($_POST['password'], PASSWORD_BCRYPT);
$role = $_POST['role'];
$sql = "INSERT INTO users (name, email, password, role) VALUES (?, ?, ?, ?)";
$stmt = $conn->prepare($sql);
$stmt->bind_param("ssss", $name, $email, $password, $role);
if ($stmt->execute()) {
$_SESSION['user_role'] = $role;
$_SESSION['user_name'] = $name;
if ($role == 'employer') {
header("Location: ../dashboard/employer_dashboard.php");
} else {
header("Location: ../dashboard/jobseeker_dashboard.php");
}
} else {
echo "Error: " . $stmt->error;
}
$stmt->close();
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">

Page 16 of 31
<title>Register</title>
<link rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css">
</head>
<body>
<div class="container mt-5">
<h2>Register</h2>
<form method="POST">
<div class="mb-3">
<label class="form-label">Full Name</label>
<input type="text" class="form-control" name="name" required>
</div>
<div class="mb-3">
<label class="form-label">Email</label>
<input type="email" class="form-control" name="email" required>
</div>
<div class="mb-3">
<label class="form-label">Password</label>
<input type="password" class="form-control" name="password" required>
</div>
<div class="mb-3">
<label class="form-label">Role</label>
<select name="role" class="form-control" required>
<option value="jobseeker">Job Seeker</option>
<option value="employer">Employer</option>
</select>
</div>
<button type="submit" class="btn btn-primary">Register</button>
</form>
<p class="mt-3">Already have an account? <a href="login.php">Login here</a></p>
</div>
</body>
</html>

Page 17 of 31
Logout Page
<?php
// logout.php - User Logout
session_start();
// Destroy all session data
session_unset();
session_destroy();
// Redirect to homepage or login page
header("Location: ../index.php");
exit();
?>
Config.php
<?php
// config.php - Database Configuration
$host = "localhost";
$user = "root";
$password = "";
$database = "job_portal";
$conn = new mysqli($host, $user, $password, $database);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
?>
Employeer_dashboard
<?php
// employer_dashboard.php - Employer Dashboard
session_start();
include '../config/config.php';
if (!isset($_SESSION['user_role']) || $_SESSION['user_role'] != 'employer') {
header("Location: ../index.php");
exit();
}

Page 18 of 31
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Employer Dashboard</title>
<link rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css">
</head>
<body>
<div class="container mt-5">
<h2>Welcome, <?php echo $_SESSION['user_name']; ?> (Employer)</h2>
<a href="../jobs/post_job.php" class="btn btn-success">Post a Job</a>
<a href="../auth/logout.php" class="btn btn-danger">Logout</a>
</div>
</body>
</html>
Job Seeker Page
<?php
// jobseeker_dashboard.php - Job Seeker Dashboard
session_start();
include '../config/config.php';
if (!isset($_SESSION['user_role']) || $_SESSION['user_role'] != 'jobseeker') {
header("Location: ../index.php");
exit();
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">

Page 19 of 31
<title>Job Seeker Dashboard</title>
<link rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css">
</head>
<body>
<div class="container mt-5">
<h2>Welcome, <?php echo $_SESSION['user_name']; ?> (Job Seeker)</h2>
<a href="../jobs/view_jobs.php" class="btn btn-primary">View Jobs</a>
<a href="../auth/logout.php" class="btn btn-danger">Logout</a>
</div>
</body>
</html>

Post job
<?php
// post_job.php - Employer Job Posting
session_start();
include '../config/config.php';
if (!isset($_SESSION['user_id'])) {
die("Error: User is not logged in.");
}
$user_id = $_SESSION['user_id'];
if (!isset($_SESSION['user_role']) || $_SESSION['user_role'] != 'employer') {
header("Location: ../index.php");
exit();
}
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$job_title = $_POST['job_title'];
$company = $_POST['company'];
$location = $_POST['location'];
$job_description = $_POST['job_description'];
$salary = $_POST['salary'];
$employer_id = $_SESSION['user_id'];

Page 20 of 31
$sql = "INSERT INTO jobs (job_title,job_description, location, salary,employer_id) VALUES (?, ?,
?, ?, ?)";
$stmt = $conn->prepare($sql);
$stmt->bind_param("sssdi", $job_title, $job_description, $location, $salary, $employer_id);
if ($stmt->execute()) {
echo "<div class='alert alert-success'>Job posted successfully!</div>";
} else {
echo "<div class='alert alert-danger'>Error: " . $stmt->error . "</div>";
}
$stmt->close();
}
?>

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Post a Job</title>
<link rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css">
</head>
<body>
<div class="container mt-5">
<h2>Post a New Job</h2>
<form method="POST">
<div class="mb-3">
<label class="form-label">Job Title</label>
<input type="text" class="form-control" name="job_title" required>
</div>
<div class="mb-3">
<label class="form-label">Company</label>
<input type="text" class="form-control" name="company" required>

Page 21 of 31
</div>
<div class="mb-3">
<label class="form-label">Location</label>
<input type="text" class="form-control" name="location" required>
</div>
<div class="mb-3">
<label class="form-label">Job Description</label>
<textarea class="form-control" name="job_description" rows="4" required></textarea>
</div>
<div class="mb-3">
<label class="form-label">Salary</label>
<input type="text" class="form-control" name="salary" required>
</div>
<button type="submit" class="btn btn-success">Post Job</button>
</form>
<a href="../dashboard/employer_dashboard.php" class="btn btn-secondary mt-3">Back to
Dashboard</a>
</div>
</body>
</html>

View jobs.php
<?php
// view_jobs.php - Job Listings for Job Seekers
session_start();
include '../config/config.php';
if (!isset($_SESSION['user_role']) || $_SESSION['user_role'] != 'jobseeker') {
header("Location: ../index.php");
exit();
}
//$sql = "SELECT id, job_title, job_description, location, salary FROM jobs";
//$sql = "SELECT job_title, job_description, location, salary, company FROM jobs";
$sql = "SELECT job_title, company, location, salary, job_description FROM jobs";

Page 22 of 31
$result = $conn->query($sql);
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Available Jobs</title>
<link rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css">
</head>
<body>
<div class="container mt-5">
<h2>Available Jobs</h2>
<table class="table table-bordered">
<thead>
<tr>
<th>Job Title</th>
<th>Company</th>
<th>Location</th>
<th>Description</th>
<th>Salary</th>
<th>Action</th>
</tr>
</thead>
<tbody>
<?php while ($row = $result->fetch_assoc()): ?>
<tr>
<td><?php echo htmlspecialchars($row['job_title']); ?></td>
<td><?php echo htmlspecialchars($row['company']); ?></td>
<td><?php echo htmlspecialchars($row['location']); ?></td>
<td><?php echo htmlspecialchars($row['job_description']); ?></td>
<td><?php echo htmlspecialchars($row['salary']); ?></td>

Page 23 of 31
<td><a href="../jobs/apply_job.php" class="btn btn-primary">Apply</a></td>
</tr>
<?php endwhile; ?>
</tbody>
</table>
<a href="../dashboard/jobseeker_dashboard.php" class="btn btn-secondary">Back to
Dashboard</a>
</div>
</body>
</html>

Database
use job portal;
-- Users Table
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
email VARCHAR(100) NOT NULL UNIQUE,
password VARCHAR(255) NOT NULL,
phone VARCHAR(20),
role ENUM('employer', 'jobseeker') NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- Jobs Table
CREATE TABLE jobs (
id INT AUTO_INCREMENT PRIMARY KEY,
employer_id INT NOT NULL,
job_title VARCHAR(255) NOT NULL,
company VARCHAR(200) NOT NULL,
job_description TEXT NOT NULL,
location VARCHAR(255),
salary VARCHAR(50),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,

Page 24 of 31
FOREIGN KEY (employer_id) REFERENCES users(id) ON DELETE CASCADE
);

-- Applications Table
CREATE TABLE applications (
id INT AUTO_INCREMENT PRIMARY KEY,
job_id INT NOT NULL,
jobseeker_id INT NOT NULL,
applied_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (job_id) REFERENCES jobs(id) ON DELETE CASCADE,
FOREIGN KEY (jobseeker_id) REFERENCES users(id) ON DELETE CASCADE
);

-- Messages Table
CREATE TABLE messages (
id INT AUTO_INCREMENT PRIMARY KEY,
sender_id INT NOT NULL,
receiver_id INT NOT NULL,
message TEXT NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (sender_id) REFERENCES users(id) ON DELETE CASCADE,
FOREIGN KEY (receiver_id) REFERENCES users(id) ON DELETE CASCADE
);
-- Notifications Table
CREATE TABLE notifications (
id INT AUTO_INCREMENT PRIMARY KEY,
user_id INT NOT NULL,
message TEXT NOT NULL,
is_read BOOLEAN DEFAULT 0,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE
);

Page 25 of 31
6 SCREENSHOTS

Page 26 of 31
Page 27 of 31
Page 28 of 31
7 TESTING
1. Introduction
Testing ensures that the job portal functions correctly and meets all the functional and non-
functional requirements. This document outlines the testing strategies, types of testing
performed, and example test cases.

2. Testing Objectives
• Verify all functionalities work as intended.
• Ensure data integrity and security.
• Detect and resolve bugs before deployment.
• Confirm usability and performance expectations are met.

3. Types of Testing
a. Unit Testing
• Testing individual PHP functions and components.
• Example: Validate form input sanitization function.
b. Integration Testing
• Testing interactions between modules (e.g., user registration and database update).
• Example: When a user registers, data should be saved in the correct table.
c. System Testing
• End-to-end testing of the whole application.
• Example: A job seeker can register, log in, search jobs, and apply.
d. User Acceptance Testing (UAT)
• Testing done with actual users (job seekers, employers) to validate real-world use.
e. Security Testing
• Check login security (SQL Injection, XSS)
• Password encryption
• Role-based access control
f. Performance Testing
• Check load handling with multiple users.
• Database response time under stress.
4. Test Environment
• Server: Apache / XAMPP / WAMP

Page 29 of 31
• Backend: PHP 7.x+
• Database: MySQL 5.x+
• Tools:
o Browser Dev Tools
o PHP Unit (for unit testing)
o Selenium (for UI automation testing, optional)

5. Sample Test Cases

Test Case
Description Input Expected Output Status
ID

Job Seeker
TC001 Valid data User account created Pass
Registration

TC002 Employer Login Valid credentials Redirect to dashboard Pass

Click apply on job ID


TC004 Apply for Job Application saved to DB Pass
102

TC005 SQL Injection in Login admin' -- Access Denied Pass

TC006 Resume Upload Upload .pdf file File saved and linked Pass

Admin Deletes Click delete on Employer and related jobs


TC007 Pass
Employer employer ID 5 deleted

Invalid Email in
TC008 test Show validation error Pass
Registration

6. Bug Tracking
• Use tools like Trello, GitHub Issues, or Jira to track bugs.
• Each bug should have:
o Bug ID
o Description
o Severity
o Assigned To
o Status

Page 30 of 31
7. Test Report Summary
After testing, generate a test report including:
• Total test cases
• Passed / Failed / Blocked
• Bugs found and fixed
• Final sign-off by QA team

8 CONCLUSION

The Job Portal Application using PHP provides a comprehensive and user-friendly platform
that effectively connects job seekers with potential employers. It allows job seekers to easily
register, create profiles, search and filter job listings, and apply for suitable positions.
Employers can post job vacancies, manage listings, and review applications from candidates
in an organized way. Additionally, the application offers an admin panel to manage users,
monitor job posts, and maintain the overall functionality of the system. With its intuitive
interface, secure access, and efficient database handling, the portal simplifies the recruitment
process and enhances the overall user experience for all stakeholders involved.

9 REFERENCES
1. PHP Official Documentation – https://www.php.net/docs.php
2. MySQL Documentation – https://dev.mysql.com/doc/
3. W3Schools – PHP, HTML, CSS Tutorials – https://www.w3schools.com/
4. Bootstrap Documentation – https://getbootstrap.com/docs/

Page 31 of 31

You might also like