Portfolio Management System MCA Project using PHP and MySQL - 1000 Projects
Portfolio Management System MCA Project using PHP and MySQL - 1000 Projects
ABSTRACT:
The main objective of the portfolio management system is to design and
develop a web service that is useful for job seekers and job providers to meet.
Create a portfolio website to show off your projects and achievements to
prospective employers.
Here, the database is used to collect all the personal information of the
candidate for generating their resume profile on the portal. The system admin
will generate a report according to the company’s needs and requirements.
INTRODUCTION:
Project Description:
The portfolio management system refers to building a strong resume for the
candidate who is seeking for jobs online. This system introduced a way of
hiring employees for the organization that contains all the information of the
employees and according to their skill and job requirements, they get selected
for the particular post. The purpose of Portfolio management is the selection,
prioritization, and control of an organization’s programs and projects, in line
with its strategic objectives and capacity to deliver.
The world is growing digitally, and for job seekers, there are more
opportunities to seek employment. This system introduced a way of hiring
employees for the organization that contains all the information of the
employees and according to their skill and job requirements, they get selected
for the particular post.
[1]
Scope:
A Portfolio system is a dynamic and continuous process. The following are the
Purpose:
The purpose of Portfolio management is the selection, prioritization, and control of
an organization’s programs and projects, in line with its strategic objectives and
capacity to deliver. It is a collection of projects and programs used to structure and
manage investments at an organizational or functional level to optimize strategic
benefits or operational efficiency.
Admin:
Admin has to login into the system. Admin can change their details.
Admin can view/block the latest registered details. Admin can filter the details.
Admin can search the candidate by their skills, name, achievements, and
degree. Admin can select appropriate candidates.
Admin can send emails to the selected candidates.
[]
Updating the details:
As we can clarify the profile photo of the user has been updated with the profile and
database as well. As follows the update procedure, all the details would be updated
with the same result as shown in the image.
Category:
Advantages:
[]
Design Phase Diagrams:
[]
Admin Side Activity Diagram:
[]
Database Design:
[]
Functional Requirement:
Administrator:
Responsible for managing clients of the system, taking system
backup, generating reports, and maintaining the organization’s
whole details.
Manage Users:
The administrator can manage the user information and the admin
can mail and send the details to the appropriate user.
Maintain Details:
The administrator maintains the entire details of the system
including details of the users.
Taking System Backup:
The administrator takes a backup of the database in order to
prevent loss of the data on system crashes. He takes backup of
the entire database in a particular section.
Generate Reports:
Responsible for checking the logs of different system users for
auditing and maintaining the whole system.
Use Registration & Login:
The first thing is to register yourself by giving a proper mail id and
password then move forward to login into the system.
Filtering as per need:
The administrator can filter the candidate & can view the
information related to the filtering.
[]
Non-Functional Requirement:
User Interactive:
The response of the website should be high and the website
should behave as per the user’s action. Users should be
acknowledged in the form of visual changes or feedback on the
site to enhance the interaction. The portal should be maintained
across all the web pages.
Security:
Secure login option to the users to avoid unauthorized access to
the system and the information.
Reliability:
Portal should provide the users with valid information at all times.
Business Rules:
This requirement contains all the rules and regulations on behalf of
the system.
Software tool:
Front End: HTML, CSS, Bootstrap, jQuery. Back End: MySQL, PHP.
Front End tool: VS code, Wamp server.
[]
Hardware Specification:
System Advantages:
Building a resume online may save you time which can be utilized in a better
way.
Candidates may instantly customize their details with one click or add some
new details with the same. The site-built confidence to boost since you can
make your resume professional and you may able to impress the recruiters
with your resume.
Since the admin can generate reports the process of selecting candidates will
be easy.
The system is used to make smart and effective decisions for the
organizations while selecting a candidate.
The system provides more accurate user performance data.
The system is helpful to achieve better productivity in the organization.
[]
Software Requirement Specification:
1. Introduction:
Briefly introduce the purpose and objectives of the SRS.
Specify the scope and limits of the project
Specify the scope and limits of the project
Identify the intended audience and any assumptions made.
.
2. Overall Description:
Provide a general overview of the portfolio website, including its main
features and the technology used to develop it.
Discuss the target audience, such as potential employers or clients, and
the unique selling points of the website.
3. Functional Requirements:
Define the specific tasks the website needs to perform.
List the website's primary functionalities, such as displaying personal
information, showcasing projects, and providing contact information.
Detail any secondary functionalities, such as animations, transitions, or
advanced search features.
[]
4. Performance Requirements:
Specify the performance objectives and goals of the website.
Discuss any constraints or limitations on system performance, such as load
times, data storage capacity, or available bandwidth.
5. Design Constraints:
Detail any specific design constraints or considerations, such as
accessibility, compatibility with different devices and browsers, or color and
typography preferences.
6. User Interface Design:
Describe the overall structure and layout of the website, including the use
of a consistent color scheme, typography, and iconography.
Specify the appearance and behavior of the website's interactive elements,
such as buttons, links, and form inputs.
7. Documentation Requirements:
Define the type and format of documentation needed for the project, such
as user manuals, developer documentation, or code comments.
By following the structure outlined above, you can create a comprehensive SRS
for your portfolio website. This will serve as a roadmap for development,
ensuring that the website meets all its intended requirements and serves as a
showcase of your skills and expertise. SRS is a well-established approach used
by many professionals, including web developers, to demonstrate their expertise
and provide potential clients with detailed information about their services.
Here are some SRS steps that you can consider incorporating into your portfolio:
Identify your target audience: Before creating your SRS, determine who your
target audience is. This could be potential clients, hiring managers, or potential
team members.
[]
Determine your SRS structure: Once you have identified your target audience,
you can begin planning the structure of your SRS. Consider using a traditional
outline or a different format to make your SRS engaging and informative.
Use bullet points to list your services: For each service or topic, create a
bullet point with a concise description. This will make your SRS easy to read and
understand.
Include details about each service: After listing the service or topic, provide
detailed information about it. This could include the specific tasks you perform,
the tools or technologies you use, and the results your clients achieve.
Use a visually appealing design: The visual design of your SRS should be
professional and appealing. Consider using a clean layout, high-quality images,
and an easy-to-read typeface.
[]
Provide clear and easy-to-understand instructions: If you are providing
instructions for using a particular service or tool, ensure they are clear and easy
to follow. This will make it easier for your audience to understand and utilize your
services.
Maintain regular updates: Your SRS should be regularly updated to reflect any
new skills or services you have acquired. This will ensure that your audience
always has access to the most current information about your expertise.
Remember, the goal of your SRS is to effectively communicate your skills and
expertise to your target audience. By following these steps and ensuring that
your SRS is visually appealing, easy to understand, and regularly updated, you
can create a powerful tool that showcases your abilities as a web developer.
Index:
<?php
include("connection.php");
session_start();
?>
<!DOCTYPE html>
<html>
<head>
<title>PortfolioBox - Welcome to the site.</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1,
shrink-to-fit=no">
<?php
if (isset($_SESSION['err_login'])) {
?>
<div class="alert alert-danger alert-dismissible fade
show" role="alert">
<?php echo $_SESSION['err_login']; ?>
<button type="button" class="close" data-
dismiss="alert" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<?php
unset($_SESSION['err_login']);
}
?>
<?php
if (isset($_SESSION['security'])) {
<span aria-hidden="true">×</span>
</button>
</div>
<?php
unset($_SESSION['security']);
?>
<?php
if (isset($_SESSION['block'])) {
?>
<div class="alert alert-danger alert-dismissible fade show"
role="alert">
<?php echo $_SESSION['block']; ?>
<button type="button" class="close" data-dismiss="alert"
aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<?php
unset($_SESSION['block']);
}
?>
<div class="form__field">
<label for="login__username"><svg class="icon">
<use xlink:href="#icon-user"></use>
</svg><span class="hidden">Username</span></label>
<div class="form__field">
<label for="login__password"><svg class="icon">
<use xlink:href="#icon-lock"></use>
</svg><span class="hidden">Password</span></label>
<input id="login__password" type="password"
name="password" class="form__input" placeholder="Password"
required="">
</div>
<div class="form__field">
<input type="checkbox" name="rememberme"
id="remember"<?php if(isset($_COOKIE["username"])) { echo "checked"; }
?> > Remember Me
</div>
<div class="form__field">
<input type="submit" value="Sign In" name="submit">
</div>
</form>
<br>
<p class="text--center" style="color:white">Not a member? <a
href="registration.php" class="text-info">Sign up</a>
<svg class="icon">
<use xlink:href="#icon-arrow-right"></use>
</svg>
</p>
</p>
</div>
</body>
</body>
<link href="https://cdn.jsdelivr.net/npm/[email protected]
beta3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-
eOJMYsd53ii+scO/bJGFsiCZc+5NDVN2yr8+0RDqr0Ql0h+rP48ckxlpbzKgwra6"
crossorigin="anonymous">
<script src="https://cdn.jsdelivr.net/npm/[email protected]
beta3/dist/js/bootstrap.bundle.min.js" integrity="sha384-
JEW9xMcG8R+pH31jmWH6WWP0WintQrMb4s7ZOdauHnUtxwoG2vI5DkLtS3qm9Ekf"
crossorigin="anonymous"></script>
<script src="https://code.jquery.com/jquery-3.4.1.slim.min.js"
integrity="sha384-
J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n"
crossorigin="anonymous"></script>
<script
src="https://cdn.jsdelivr.net/npm/[email protected]/dist/umd/popper.min
.js" integrity="sha384-
Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo"
crossorigin="anonymous"></script>
<script
src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.m
in.js" integrity="sha384-
wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6"
crossorigin="anonymous"></script>
<script src="https://kit.fontawesome.com/27f80803e6.js"
crossorigin="anonymous"></script>
</html>
Login page:
<?php
include("connection.php");
session_start();
if(isset($_POST['submit']))
{
$username = $_POST['username'];
$passwd = $_POST['password'];
if ($count==1)
{
if($row['block_status']==1)
{
$_SESSION['block'] = "Sorry! You are blocked by admin
due to some restrictions. You are not able to login for the same.";
header("location:index.php");
}
else
{
$_SESSION['user'] = $username;
$sql = "update reg_details set login_status=1 where
reg_email = '$username'";
$result = mysqli_query($con, $sql);
header("location:portfolio.php");
if(isset($_POST["rememberme"]))
{
setcookie("username",$_POST['username'],time()+(86
400 * 30)); //1 day expire
}
else{
setcookie("username","");
}
}
}
else
{
$_SESSION['err_login'] = "Invalid Login Attempt. Please
Verify your Email and Password for the same.";
header("location:index.php");
}
}
?>
Registration page:
<?php
session_start();
include("connection.php");
?>
<!DOCTYPE html>
<html>
<head>
<title>PortFolioBox - Welcome to the site</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-
scale=1, shrink-to-fit=no">
<link rel="icon" href="img/logo.png" type="image/icon type">
<link
href="//maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css"
rel="stylesheet" id="bootstrap-css">
<script
src="//maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"></
script>
<script
src="//cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></sc
ript>
<script
src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"
></script>
</head>
<body style="background-color: #343a40;color: white">
?>
<div class="alert alert-danger" role="alert">
<?php echo $_SESSION['email_err']; ?>
</div>
<?php
unset($_SESSION['email_err']);
}
?>
<h1 class="pb-4 text-warning">Basic Login
Details</h1>
<div class="form-row">
<div class="form-group col-md-6">
<input id="Full Name" name="name"
placeholder="Full Name" class="form-control" type="text" required="">
</div>
<div class="form-group col-md-6">
<input type="email" class="form-
control email" id="email"
<div class="form-row">
<input type="password" class="form-
control" id="inputpasswdl4" placeholder="Password" name="passwd"
required="">
</div> <br>
<div class="form-row">
<div class="form-group">
<div class="form-group">
<div class="form-check">
<input class="form-check-
input" type="checkbox" value="" id="invalidCheck2" required>
<label class="form-check-
label" for="invalidCheck2">
<div class="form-row">
<input type="submit" class="btn btn-
danger" name="submit" value="Next">
</div>
</div>
</div>
</form>
<ol>
<li>Who controls your information?</li>
<p>Information provided to or gathered by us is controlled
by: The system admin (you may contact them as:
[email protected]</p>
<div class="modal-footer">
<button type="button" class="btn btn-danger" data-bs-
dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
</div>
</section>
<link href="https://cdn.jsdelivr.net/npm/[email protected]
beta3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-
eOJMYsd53ii+scO/bJGFsiCZc+5NDVN2yr8+0RDqr0Ql0h+rP48ckxlpbzKgwra6"
crossorigin="anonymous">
<script src="https://cdn.jsdelivr.net/npm/[email protected]
beta3/dist/js/bootstrap.bundle.min.js" integrity="sha384-
JEW9xMcG8R+pH31jmWH6WWP0WintQrMb4s7ZOdauHnUtxwoG2vI5DkLtS3qm9Ekf"
crossorigin="anonymous"></script>
</body>
</html>
Logout page:
<?php
include("connection.php");
session_start();
$username = $_SESSION['user'];
if ($result)
{
unset($_SESSION['user']);
header("location:index.php");
}
?>
Dashboard:
<?php
include ("connection.php");
include("security.php");
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-
scale=1.0">
<meta name="keyword" content="">
<link rel="icon" href="img/logo.png" type="image/icon type">
<!--right slidebar-->
<link href="css/slidebars.css" rel="stylesheet">
</head>
<body>
<!--sidebar start-->
<aside>
<div id="sidebar" class="nav-collapse ">
<li class="sub-menu">
<a href="register_user.php" >
<span>Registered User</span>
</a>
</li>
<li class="sub-menu">
<a href="personal_details.php">
<span>Personal Details</span>
</a>
</li>
<li class="sub-menu">
<a href="educational_details.php">
<span>Educational Details</span>
</a>
</li>
<li class="sub-menu">
<a href="project_details.php">
<span>Project Details</span>
</a>
</li>
<li class="sub-menu">
<a href="experiance_details.php" >
<span>Experiance details</span>
</a>
</li>
<li class="sub-menu">
<a href="achievement_details.php" >
<span>Achievement Details</span>
</a>
</li>
<li class="sub-menu">
<a href="logout.php" >
<span>Logout</span>
</a>
</li>
</ul>
<!-- sidebar menu end-->
</div>
</aside>
<!--sidebar end-->
</section>
<!-- js placed at the end of the document so the pages load faster
-->
<script src="js/jquery.js"></script>
<script src="js/bootstrap.min.js"></script>
<script class="include" type="text/javascript"
src="js/jquery.dcjqaccordion.2.7.js"></script>
<script src="js/jquery.scrollTo.min.js"></script>
<script src="js/jquery.nicescroll.js"
type="text/javascript"></script>
<script src="js/jquery.sparkline.js"
type="text/javascript"></script>
<script src="assets/jquery-easy-pie-chart/jquery.easy-pie-
chart.js"></script>
<script src="js/owl.carousel.js" ></script>
<script src="js/jquery.customSelect.min.js" ></script>
<script src="js/respond.min.js" ></script>
<!--right slidebar-->
<script src="js/slidebars.min.js"></script>
<!--common script for all pages-->
<script src="js/common-scripts.js"></script>
<script>
//owl carousel
$(document).ready(function() {
$("#owl-demo").owlCarousel({
navigation : true,
slideSpeed : 300,
paginationSpeed : 400,
singleItem : true,
autoPlay:true
});
});
$(function(){
$('select.styled').customSelect();
});
</script>
</body>
</html>
Limitations of the system:
The major limitation of the system is that is they work purely online, and lacks
the functionality to enable the user to save a copy of their resume in other
word processing software like Microsoft Word.
Another limitation of the system is that they mostly offer a limited choice of
formats.
Conclusion:
The portal has been successfully completed. The goal of the system is
achieved and problems are solved. The package is developed in a manner
that is user-friendly and required help is provided at different levels.
Different types of reports can be generated which help the management to
take the correct decision and reduce the time delay which automatically
increases the company’s work standards as well as the
economical state of the company.
This system never decreases the manpower but helps the development of
available manpower and optimizes the manpower by which the company’s
standards and capabilities can be scaled too higher
dimensions