Hrms Project Report
Hrms Project Report
VARANASI
Session: 2023-2024
A Minor Project on
Submitted By: -
Submitted To: -
1
Pallavi Pandey Mrs.
Ritima Tripathi
Saloni Singh
2
ACKNOWLEDGEMENT
I would like to express my deep and sincere gratitude to my supervisor Mrs. Ritima
Tripathi ma’am, who gave us her full support and encouraged me to work in an
innovative and challenging project for educational field. Her wide knowledge and
I am deeply grateful my project coordinator for her help and support provided at
every step of the project. Last but not the least, I thank to everyone for their support
and co-operation.
Pallavi Pandey
Saloni Singh
SOFTPRO INDIA
COMPUTER TECHNOLOGIES PVT.LTD.
(AN ISO 9001 : 2015 CERTIFIED COMPANY)
3
SPI/VT/2023/.339……....
COMPLETION CERTIFICATE
She has done an excellent job during her engagement with the Software
Development & Testing Division of the company. She has completed her project
during the training tenure. Her performance has been good and satisfactory.
Regards,
CEO
Lucknow (U.P.)
4
SOFTPRO INDIA
COMPUTER TECHNOLOGIES PVT.LTD.
(AN ISO 9001 : 2015 CERTIFIED COMPANY)
SPI/VT/2023/.166……....
COMPLETION CERTIFICATE
This is to certify that Ms. Saloni Singh of Diploma in IT from Government Girls
Polytechnic, Varanasi was working on the project entitled “HRMS” in Softpro India
Computer Technologies Pvt. Ltd. She was engaged for a period of 45 days.
She has done an excellent job during her engagement with the Software
Development & Testing Division of the company. She has completed her project
during the training tenure. Her performance has been good and satisfactory.
I would like to take this opportunity to express my appreciation to Ms. Saloni Singh
for her work and wish her all the very best for her future endeavors.
Regards,
CEO
Lucknow (U.P.)
DECLARATION
5
This is to certify that the project report entitled “HRMS” is done by me is an
authentic work carried out for the partial fulfillment of the requirements for the
Ritima Tripathi. The matter embodied in this project work has not been submitted
earlier for award of any degree or diploma to the best of my knowledge and belief.
Pallavi Pandey
Saloni Singh
INDEX
1. Introduction………………………………………………………………………
1.1. Overview of Organization
1.2. Literature survey
1.3. Objectives & Scope
2. Requirements Specification……………………………………………………
2.1. Data Flow Diagram
6
2.1.1. DFD level 0
2.1.2. DFD level 1
2.1.3. ER-Diagram
3. Feasibility Study…………………….………….………………………………
3.1. Software Technology Used
3.2. Hardware Technology Used
3.2.1. For Client Side
3.2.2. For Server Side
3.3. Technical Feasibility
3.4. Economical Feasibility
3.5. Operational Feasibility
4. System Design…….…………………………………………………………
4.1. Spiral Model
4.2. System Designing Approaches
4.2.1. Top-Down designing
4.2.2. Bottom-Up designing
4.3. Following Approach
5. Database Design…………………………………………………………………………
6. Component Level Design………………………………………………………
6.1. Name and Description of modules
6.2. Modules and their description
7. Snapshots…………………………………………………………………………
8. Coding………………….…………………………………………………………
9. Future Scope………………………………………………………………………
10. Conclusion……………………………………………………………………….
7
8
INTRODUCTION
This project is made for the ElectrotechEngg Solutions, Roorkee who want to make implement
‘PAPERLESS OFFICE’ in field of Human Resource Management. The purpose of the project in
organizational perspective is to generate a fully computerized human resource system. All Data of the
related share is needed to be present on the system so that whenever there is a need to view process or
extract any information it can be done. It saves time and avoids losses.
Literature survey:
For preparing of this literature survey, I have taken a lot of steps for collecting the articles about the HRMS.
First Sir/madam, told us about what is literature survey? and what are the steps involved for preparing it. He
had given me the topic – “HRMS” for the survey. We used a combination of surveys, focus groups, and one-
on-one interviews to gather information from faculty, and from key personnel at another institute.
9
Requirements specification
DFD LEVEL 0
DFD LEVEL 1
10
Entity Relationship Diagram
11
Feasibility Study
Software Specification
12
Hard Disk 200 GB Disk Space
Technical Feasibility
The assessment is based on an outline design of system requirements in terms of Input, Processes, Output,
Fields, Programs, and Procedures. This can be quantified in terms of volumes of data, trends, frequency of
updating, etc. in order to estimate whether the new system will perform adequately or not. Technological
feasibility is carried out to determine whether the company has the capability, in terms of software,
hardware, personnel and expertise, to handle the completion of the project when writing a feasibility report,
the following should be taken to consideration:
System is given more importance than the actual makes of hardware. The configuration should as we know
the technical feasibility is concerned with specifying equipment and software that will successfully satisfy
the user requirement. The technical needs of the system may vary considerably, but might include:
In examining the technical feasibility, configuration of the given the complete picture about the system’s
requirement, how these units are interconnected so that they could operate and communicate smoothly. -
For the design and development of the system, several software products have been accommodated.
· Database design – SQLite (Preferred) or any other DBMS.
· Coding – PyCharm
13
This technology (Python with Django framework) has enough efficiency in producing the system.
Therefore, the project is technically feasible.
Economical Feasibility
Economic analysis is the most frequently used technique for evaluating the effectiveness of the proposed
system. More commonly known as cost/benefit analysis, the procedure is to determine the benefit and
saving that are expected from the purposed system and compare with costs. If benefits outweigh cost, a
decision is taken to design and implement the system. Otherwise, further justification or alternative of the
proposed system will have to be made if it has a chance of being approved. This is a going effort that
improves in accuracy at each phase of the system life cycle. The analysis part also clears the doubt of
economic problem, which could be possible in developing the system. As already mentioned, that the
company has to just pay developed software cost and not other investment is needed at the time of
implementation of the new system as the preliminary requirements already exist in company. According to
the resources available and the project scheduling process it is estimated that the expenses allocated for the
web application to be developed, by the client is sufficient enough. Hence the economical factor has been
considered feasible.
Operational Feasibility
Proposed projects are beneficial only if they can be turned into information system that will meet the
operating requirements of the organization. These tests of feasibility ask if the system will work when it
developed and installed. Are there major barriers to implementation? Some of the important question that is
useful to test the operational feasibility of a project is given below:
Is there sufficient support for the project from the implementation? From user? If present system is
well liked and use to the extent that person will not be able to see reason for change, there may be
resistance.
Are current business methods acceptable to the user? They are not, user may welcome a change that
will bring about a more operational and useful system.
Have the user been involved at the earliest stage of project development; the chance of resistance can
be possibly reduced.
14
System Design
SPIRAL MODEL:
The Spiral Model is one that couples the iterative nature of prototyping with controlled and systematic
aspect of linear sequential or waterfall model. It provides the potential for rapid development of incremental
versions of the system. Here it is used for successful development of Sales and Product Management
System.
Spiral Model consists of four phases:
Planning
Risk Analysis
Engineering
Customer Evolution
Risk Analysis
Planning PLANNING RISK ANALYSIS Based on
based on initial
customer requirement
evaluation
Towards a
completed
system
Customer
Evaluation
Initial
software
CUSTOMER prototype
EVOLUTION
ENGINEERING
15
Software Development Process moves throughout these four phases until the Software is not implemented.
In the last phase (Customer Evaluation), End User evaluates the product, and gives the comments according
to requirement. On basis Software either goes forward in the phases or for implementation process.
In this software project the spiral modal is used for development. The spiral model, combines the iterative
nature of prototyping with the controlled and systematic aspects of the waterfall model, there in
providing the potential for rapid development of incremental versions of the software. In this model the
software is developed in a series of incremental releases with the early stages being either paper models
or prototypes. Later iterations become increasingly more complete versions of the product.
The model is divided into a number of task regions. These regions are:
1. The customer communication task – to establish effective communication between developer and
customer.
2. The planning task – to define resources, time lines and other project related information.
3. The risk analysis task – to assess both technical and management risks.
4. The engineering task – to build one or more representations of the application.
5. The construction and release task – to construct, test, install and provide user support (e.g.,
documentation and training).
16
6. The customer evaluation task – to obtain customer feedback based on the evaluation of the software
representation created during the engineering stage and implemented during the install stage.
The evolutionary process begins at the center position and moves in a clockwise direction. Each traversal of
the spiral typically results in a deliverable. For example, the first and second spiral traversals may result in
the production of a product specification and a prototype, respectively. Subsequent traversals may then
produce more sophisticated versions of the software.
An important distinction between the spiral model and other software models is the explicit consideration of
risk. There are no fixed phases such as specification or design phases in the model and it encompasses other
process models. For example, prototyping may be used in one spiral to resolve requirement uncertainties and
hence reduce risks. This may then be followed by a conventional waterfall development.
Each of the regions is populated by a set of work tasks called a task set that are adapted to characteristics of
the project to be undertaken. For small projects the number of tasks and their formality is low. Conversely,
for large projects the reverse is true.
Advantages of the Spiral Model
The spiral model is a realistic approach to the development of large-scale software products because
the software evolves as the process progresses. In addition, the developer and the client better
understand and react to risks at each evolutionary level.
The model uses prototyping as a risk reduction mechanism and allows for the development of
prototypes at any stage of the evolutionary development.
It maintains a systematic stepwise approach, like the classic life cycle model, but incorporates it into
an iterative framework that more reflect the real world.
If employed correctly, this model should reduce risks before they become problematic, as
consideration of technical risks are considered at all stages.
17
System Designing Approaches
The top - down designing approach started with major components of the system. It is a stepwise refinement
which starts from an abstract design, in each steps the design is refined two or more concrete levels until we
reach a level where no – more refinement is possible or not needed.
Bottom – Up designing:
In bottom – up designing the most basic and primitive components are designed first, and we proceed to
higher level components. We work with layers of abstractions and abstraction are implemented until the
stage is reached where the operations supported by the layer is complete.
18
In this project we are following Mixed Approach i.e. A combination of top – down and bottom – up. We
are developing some of the components using top – down designing approach (e.g. the Webpages) and some
components in bottom – up designing approach (e.g. the middle tier classes).
Database Design
Table Name:
Table Name- joinus
Primary key-id
Emailed Varchar(50)
Passwd Varchar(20)
Name Varchar(50)
Gender Varchar(20)
Address Varchar(MAX)
Contactno Varchar(20)
City Varchar(MAX)
Qualification Varchar(50)
Experience Varchar(10)
Keyskill Varchar(MAX)
20
Component Level Design
1.
Employee Authentication and Login Management
2.
Employee Registration
3.
Job Seekers Management
4.
Dynamic Updated Events Management
5.
Feedback Management
6.
Enquiry Management
7.
Recruitment Management
8.
Credential Management
Employee Registration:
In the Employee Registration Module New employees can register here for login id and password.
In the Employee Registration Module New Jobseeker can register here for login id and password
In the Job Seeker management Module Those users which are interested for a good and competitive
carrier finding the jobs in the different areas. For this, first user will register here and then after login
he can search the job and also apply the job.
It includes the various events of the company organized by HR and Admin. Employees can
participate in the events.
22
Snap Shots
Home Page:-
23
About Page:-
24
25
Services Page:-
Contact Us Page: -
26
Admin Page: -
27
28
Coding
parent.html code:-
<!DOCTYPE html>
<html lang="en">
{% load static %}
<head>
<meta charset="UTF-8">
<title>HRMS</title>
<style>
#outer
{
width:1000px;
height:1200px;
//border:1px solid white;
margin:auto;
}
#header
{
width:1000px;
height:150px;
}
#logo
{
width:150px;
height:150px;
29
background-color: pink;
float:left;
}
#banner
{
width:850px;
height:150px;
background-color:navy;
float:right;
font-size:50px;
color:white;
text-align:center;
line-height:150px;
}
#menu
{
width:1000px;
height:50px;
background-color:white;
margin-top:5px;
border:1px solid white;
}
#menu ul
{
list-style-type:none;
}
#menu ul li
{
display:inline;
}
#menu ul li a
{
padding:20px;
font-size:20px;
text-decoration:none;
color:black;
}
#menu ul li a:hover
{
color:red;
30
}
#slider
{
width:1000px;
height:200px;
background-color:grey;
margin-top:5px;
}
#parent
{
width:1000px;
height:700px;
margin-top:5px;
}
#left
{
width:300px;
height:700px;
background-color:aqua;
float:left;
}
#main
{
width:700px;
height:700px;
background-color:white;
float:right;
}
#footer
{
width:1000px;
height:80px;
margin-top:5px;
}
#lfooter
{
width:500px;
height:80px;
background-color:black;
float:left;
31
color:white;
font-size:30px;
text-align:center;
line-height:80px;
}
#rfooter
{
width:500px;
height:80px;
background-color:navy;
float:right;
color:white;
font-size:30px;
text-align:center;
line-height:80px;
}
</style>
<script>
var
imgnames=["slider_1.jpg","slider_2.gif","slider_3.jpg"
,"slider_4.jpg"];
var i=0;
baseurl="{% static 'images/' %}";
function moveslider()
{
if(i==imgnames.length)
{
i=0;
}
document.getElementById("slide").src=baseurl+imgnames[
i];
i++;
window.setTimeout("moveslider()",2000);
}
</script>
</head>
<body bgcolor="green" onload="moveslider()">
<div id="outer">
<div id="header">
32
<div id="logo">
<img src="{% static 'images/logo.png'
%}" width="150" height="150"/>
</div>
<div id="banner">
Human Resource Management System
</div>
</div>
<div id="menu">
<ul>
<li><a href="{% url 'index'
%}">Home</a></li>
<li><a href="{% url 'aboutus'
%}">About Us</a></li>
<li><a href="{% url 'registration'
%}">Registration</a></li>
<li><a href="{% url 'login'
%}">Login</a></li>
<li><a href="{% url 'contactus'
%}">Contact Us</a></li>
</ul>
</div>
<div id="slider">
<img id="slide" width="1000"
height="200"/>
</div>
<div id="parent">
<div id="left">
<marquee direction="up" height="500"
behavior="alternate" onmouseover="stop()"
onmouseout="start()">
{% for n in nf %}
<p style="text-
align:center;color:red;">{{n.notificationtext}}</p>
<p style="text-
align:center;">{{n.notificationdate}}</p>
{% endfor %}
</marquee>
</div>
<div id="main">
33
{% block body %}
{% endblock body %}
</div>
</div>
<div id="footer">
<div id="lfooter">
Copyright © to HRMS
</div>
<div id="rfooter">
Developed By:- Brijesh Mishra
</div>
</div>
</div>
</body>
</html>
registration.html code:-
{% extends "parent.html" %}
{% block body %}
<h1 style="color:blue;text-align:center;">
Job Seeker Registration
</h1>
{% if msg %}
<p style="text-align:center;">{{msg}}</p>
{% endif %}
<form action="{% url 'savejobseeker' %}"
method="post">
{% csrf_token %}
<table style="margin:0 auto;width:50%;">
<tr>
<td>Enter Name</td>
<td>
<input type="text" name="name"/>
</td>
</tr>
<tr>
34
<td>Select Gender</td>
<td>
<input type="radio" name="gender"
value="Male"/>Male
<input type="radio" name="gender"
value="Female"/>Female
</td>
</tr>
<tr>
<td>Enter Address</td>
<td>
<textarea name="address"></textarea>
</td>
</tr>
<tr>
<td>Enter Contact No.</td>
<td>
<input type="number"
name="contactno"/>
</td>
</tr>
<tr>
<td>Enter Email Address</td>
<td>
<input type="email"
name="emailaddress"/>
</td>
</tr>
<tr>
<td>Enter Qualification</td>
<td>
<input type="text"
name="qualification"/>
</td>
</tr>
<tr>
<td>Enter Experience</td>
<td>
<input type="text" name="experience"/>
</td>
35
</tr>
<tr>
<td>Key Skills</td>
<td>
<textarea name="keyskills"></textarea>
</td>
</tr>
<tr>
<td>Enter Date Of Birth</td>
<td>
<input type="date" name="dob"/>
</td>
</tr>
<tr>
<td>Enter Aadhar No</td>
<td>
<input type="number" name="aadharno"/>
</td>
</tr>
<tr>
<td></td>
<td>
<input type="submit" value="Submit"/>
</td>
</tr>
</table>
</form>
{% endblock body %}
login.html code:-
{% extends "parent.html" %}
{% block body %}
<h1 style="color:blue;text-align:center;">
Admin Login
</h1>
{% if msg %}
<p style="text-align:center;">{{msg}}</p>
{% endif %}
36
<form action="{% url 'validateuser' %}" method="post">
{% csrf_token %}
<table style="width:50%;margin:0 auto;">
<tr>
<td>Enter User Id</td>
<td>
<input type="text" name="userid"/>
</td>
</tr>
<tr>
<td>Enter Password</td>
<td>
<input type="password"
name="password"/>
</td>
</tr>
<tr>
<td></td>
<td>
<input type="submit" value="Login"/>
</td>
</tr>
</table>
</form>
{% endblock body %}
contactus.html code:-
{% extends "parent.html" %}
{% block body %}
<h1 style="color:blue;text-align:center;">
Enquiry Form
</h1>
{% if msg %}
<p style="text-align:center;">{{msg}}</p>
{% endif %}
<form action="{% url 'saveenq' %}" method="post">
{% csrf_token %}
<table style="margin:0 auto;width:50%;">
37
<tr>
<td>Enter Name</td>
<td>
<input type="text" name="name"/>
</td>
</tr>
<tr>
<td>Select Gender</td>
<td>
<input type="radio" name="gender"
value="Male"/>Male
<input type="radio" name="gender"
value="Female"/>Female
</td>
</tr>
<tr>
<td>Enter Address</td>
<td>
<textarea name="address"></textarea>
</td>
</tr>
<tr>
<td>Enter Contact No.</td>
<td>
<input type="text" name="contactno"/>
</td>
</tr>
<tr>
<td>Enter Email Address</td>
<td>
<input type="email"
name="emailaddress"/>
</td>
</tr>
<tr>
<td>Enter Enquiry Text</td>
<td>
<textarea
name="enquirytext"></textarea>
</td>
38
</tr>
<tr>
<td></td>
<td>
<input type="submit" value="Submit"/>
</td>
</tr>
</table>
</form>
{% endblock body %}
hrapp.views.py code:-
from django.shortcuts import render, redirect, reverse
from . models import Enquiry, JobSeeker, AdminLogin
import datetime
from django.core.exceptions import ObjectDoesNotExist
from adminzone.models import Notification
hrapp.models.py code:-
from django.db import models
41
hrapp.hrappurls.py code:-
urlpatterns=[
path('',views.index,name='index'),
path('aboutus/',views.aboutus,name='aboutus'),
path('registration/',views.registration,name='registra
tion'),
path('login/',views.login,name='login'),
path('contactus/',views.contactus,name='contactus'),
path('saveenq/',views.saveenq,name='saveenq'),
path('savejobseeker/',views.savejobseeker,name='savejo
bseeker'),
path('validateuser/',views.validateuser,name='validate
user'),
]
adminparent.html code:-
<!DOCTYPE html>
<html lang="en">
{% load static %}
<head>
<meta charset="UTF-8">
<title>Welcome To Admin Zone</title>
<style>
#outer
{
width:1000px;
height:auto;
min-height:1000px;
//border:1px solid white;
margin:0 auto;
42
}
#header
{
width:1000px;
height:150px;
}
#logo
{
width:150px;
height:150px;
background-color:pink;
float:left;
}
#banner
{
width:850px;
height:150px;
background-color:navy;
float:right;
color:white;
font-size:60px;
text-align:center;
line-height:150px;
}
#menu
{
width:1000px;
height:50px;
background-color:white;
margin-top:5px;
border:1px solid white;
}
#menu ul
{
list-style-type:none;
}
#menu ul li
{
display:inline;
}
43
#menu ul li a
{
font-size:20px;
padding:20px;
text-decoration:none;
color:black;
}
#main
{
width:1000px;
height:auto;
min-height:700px;
background-color:white;
margin-top:5px;
border:1px solid white;
}
#footer
{
width:1000px;
height:85px;
margin-top:5px;
}
#lfooter
{
width:500px;
height:85px;
background-color:black;
float:left;
color:white;
font-size:35px;
text-align:center;
line-height:85px;
}
#rfooter
{
width:500px;
height:85px;
background-color:navy;
float:right;
color:white;
44
font-size:35px;
text-align:center;
line-height:85px;
}
</style>
</head>
<body bgcolor="green">
<div id="outer">
<div id="header">
<div id="logo">
<img src="{% static 'images/logo.png'
%}" width="150" height="150"/>
</div>
<div id="banner">
Welcome To Admin Zone
</div>
</div>
<div id="menu">
<ul>
<li><a href="{% url
'adminzone:adminhome' %}">Home</a></li>
<li><a href="{% url
'adminzone:enquiry' %}">Enquiry</a></li>
<li><a href="{% url
'adminzone:jobseeker' %}">Job Seeker</a></li>
<li><a href="{% url
'adminzone:employee' %}">Employee</a></li>
<li><a href="{% url
'adminzone:changepassword' %}">Change
Password</a></li>
<li><a href="{% url 'adminzone:logout'
%}">Logout</a></li>
</ul>
</div>
<div id="main">
{% block body %}
{% endblock body %}
</div>
<div id="footer">
45
<div id="lfooter">
Copyright © to HRMS
</div>
<div id="rfooter">
Developed By:- Brijesh Mishra
</div>
</div>
</div>
</body>
</html>
adminhome.html code:-
{% extends "adminparent.html" %}
{% block body %}
<h1 style="color:blue;text-align:center;">
Notification Management
</h1>
<form action="{% url 'adminzone:addnotification'
%}" method="post">
{% csrf_token %}
<table style="margin:0 auto; width:50%;">
<tr>
<td>Enter Notification Text</td>
<td>
<textarea
name="notificationtext"></textarea>
</td>
</tr>
<tr>
<td></td>
<td>
<input type="submit" value="Add"/>
</td>
</tr>
</table>
</form>
<br/><br/>
<table style="margin:0 auto;width:60%;"
border="1">
46
<tr>
<th>Id</th>
<th>Notification Text</th>
<th>Notification Date</th>
<th>Delete</th>
</tr>
{% for n in nf %}
<tr>
<td>{{n.id}}</td>
<td>{{n.notificationtext}}</td>
<td>{{n.notificationdate}}</td>
<td>
<a href="{% url
'adminzone:deletenotification' n.id %}">Delete</a>
</td>
</tr>
{% endfor %}
</table>
{% endblock body %}
changepassword.html code:-
{% extends "adminparent.html" %}
{% block body %}
<h1 style="color:blue;text-align:center;">
Change Password
</h1>
{% if msg %}
<p style="color:red;text-
align:center;">{{msg}}</p>
{% endif %}
<form action="{% url 'adminzone:changepwd' %}"
method="post">
{% csrf_token %}
<table style="margin:0 auto;width:50%;">
<tr>
<td>Enter Old Password</td>
<td>
<input type="password"
name="oldpassword"/>
47
</td>
</tr>
<tr>
<td>Enter New Password</td>
<td>
<input type="password"
name="newpassword"/>
</td>
</tr>
<tr>
<td>Confirm Password</td>
<td>
<input type="password"
name="confirmpassword"/>
</td>
</tr>
<tr>
<td></td>
<td>
<input type="submit"
value="Change"/>
</td>
</tr>
</table>
</form>
{% endblock body %}
employee.html code:-
{% extends "adminparent.html" %}
{% block body %}
<h1 style="color:blue;text-align:center;">
Employee Information System
</h1>
<form action="{% url 'adminzone:saveemployee' %}"
method="post">
{% csrf_token %}
<table style="margin:0 auto;width:50%;">
<tr>
48
<td>Enter Employee Id</td>
<td>
<input type="number"
name="empid"/>
</td>
</tr>
<tr>
<td>Enter Employee Name</td>
<td>
<input type="text"
name="empname"/>
</td>
</tr>
<tr>
<td>Select Gender</td>
<td>
<input type="radio" name="gender"
value="Male"/>Male
<input type="radio" name="gender"
value="Female"/>Female
</td>
</tr>
<tr>
<td>Enter Address</td>
<td>
<textarea
name="address"></textarea>
</td>
</tr>
<tr>
<td>Enter Contact No</td>
<td>
<input type="number"
name="contactno"/>
</td>
</tr>
<tr>
<td>Enter Email Address</td>
<td>
<input type="email"
49
name="emailaddress"/>
</td>
</tr>
<tr>
<td>Enter Date Of Joining</td>
<td>
<input type="date" name="doj"/>
</td>
</tr>
<tr>
<td>Enter Department</td>
<td>
<input type="text"
name="department"/>
</td>
</tr>
<tr>
<td>Enter Designation</td>
<td>
<input type="text"
name="designation"/>
</td>
</tr>
<tr>
<td>Enter Pan no.</td>
<td>
<input type="text" name="panno"/>
</td>
</tr>
<tr>
<td>Enter aadhar no.</td>
<td>
<input type="number"
name="aadharno"/>
</td>
</tr>
<tr>
<td>Enter Salary</td>
<td>
<input type="number"
50
name="salary"/>
</td>
</tr>
<tr>
<td></td>
<td>
<input type="submit"
value="Save"/>
</td>
</tr>
</table>
</form>
<br/><br/>
<div style="width:1000px;height:auto;overflow-
x:auto;">
<table border="1" style="width:95%;margin:0
auto;">
<tr>
<th>Employee Id</th>
<th>Employee Name</th>
<th>Gender</th>
<th>Address</th>
<th>Contact No</th>
<th>Email Address</th>
<th>Date of Joining</th>
<th>Department</th>
<th>Designation</th>
<th>PAN No.</th>
<th>Aadhar No.</th>
<th>Salary</th>
<th>Delete</th>
<th>Update</th>
</tr>
{% for e in emp %}
<tr>
<td>{{e.empid}}</td>
<td>{{e.empname}}</td>
<td>{{e.gender}}</td>
<td>{{e.address}}</td>
<td>{{e.contactno}}</td>
51
<td>{{e.emailaddress}}</td>
<td>{{e.doj}}</td>
<td>{{e.department}}</td>
<td>{{e.designation}}</td>
<td>{{e.panno}}</td>
<td>{{e.aadharno}}</td>
<td>{{e.salary}}</td>
<td>
<a href="{% url
'adminzone:deleteemployee' e.empid %}">Delete</a>
</td>
<td>
<a href="{% url
'adminzone:updateemployee' e.empid %}">Update</a>
</td>
</tr>
{% endfor %}
</table>
</div>
{% endblock body %}
enquiry.html code:-
{% extends "adminparent.html" %}
{% block body %}
<h1 style="color:blue;text-align:center;">
Enquiry Management
</h1>
<table border="1" style="width:80%;margin:0
auto;">
<tr>
<th>Id</th>
<th>Name</th>
<th>Gender</th>
<th>Address</th>
<th>Contact No</th>
<th>Email Address</th>
<th>Enquiry Text</th>
<th>Delete</th>
52
</tr>
{% for e in enq %}
<tr>
<td>{{e.id}}</td>
<td>{{e.name}}</td>
<td>{{e.gender}}</td>
<td>{{e.address}}</td>
<td>{{e.contactno}}</td>
<td>{{e.emailaddress}}</td>
<td>{{e.enquirytext}}</td>
<td>
<a href="{% url
'adminzone:deleteenquiry' e.id %}">Delete</a>
</td>
</tr>
{% endfor %}
</table>
{% endblock body %}
jobseeker.html code:-
{% extends "adminparent.html" %}
{% block body %}
<h1 style="color:blue;text-align:center;">
Manage Jobseeker
</h1>
<table border="1" style="margin:0
auto;width:95%;">
<tr>
<th>Name</th>
<th>Gender</th>
<th>Address</th>
<th>Contact No</th>
<th>Email Address</th>
<th>Qualification</th>
<th>Experience</th>
<th>Key Skills</th>
<th>Date of Birth</th>
<th>Aadhar No</th>
<th>Reg Date</th>
53
<th>Delete</th>
</tr>
{% for j in js %}
<tr>
<td>{{j.name}}</td>
<td>{{j.gender}}</td>
<td>{{j.address}}</td>
<td>{{j.contactno}}</td>
<td>{{j.emailaddress}}</td>
<td>{{j.qualification}}</td>
<td>{{j.experience}}</td>
<td>{{j.keyskills}}</td>
<td>{{j.dob}}</td>
<td>{{j.aadharno}}</td>
<td>{{j.regdate}}</td>
<td>
<a href="{% url
'adminzone:deletejobseeker' j.emailaddress
%}">Delete</a>
</td>
</tr>
{% endfor %}
</table>
{% endblock body %}
updateemployee.html code:-
{% extends "adminparent.html" %}
{% block body %}
<h1 style="color:blue;text-align:center;">Update
Employee Information</h1>
<form action="{% url 'adminzone:updateemp' %}"
method="post">
{% csrf_token %}
<table style="width:50%;margin:0 auto;">
<tr>
<td>Employee Id</td>
<td>
54
<input type="text" name="empid"
readonly="true" value="{{emp.empid}}"/>
</td>
</tr>
<tr>
<td>Employee Name</td>
<td>
<input type="text" name="empname"
value="{{emp.empname}}"/>
</td>
</tr>
<tr>
<td>Gender</td>
<td>
<input type="text" name="gender"
value="{{emp.gender}}" readonly="true"/>
</td>
</tr>
<tr>
<td>Address</td>
<td>
<textarea
name="address">{{emp.address}}</textarea>
</td>
</tr>
<tr>
<td>Contact No</td>
<td>
<input type="number"
name="contactno" value="{{emp.contactno}}"/>
</td>
</tr>
<tr>
<td>Email Address</td>
<td>
<input type="email"
name="emailaddress" value="{{emp.emailaddress}}"/>
</td>
</tr>
<tr>
55
<td>Date Of Joining</td>
<td>
<input type="text" name="doj"
value="{{emp.doj}}" readonly="true"/>
</td>
</tr>
<tr>
<td>Department</td>
<td>
<input type="text"
name="department" value="{{emp.department}}"/>
</td>
</tr>
<tr>
<td>Designation</td>
<td>
<input type="text"
name="designation" value="{{emp.designation}}"/>
</td>
</tr>
<tr>
<td>PAN No.</td>
<td>
<input type="text" name="panno"
value="{{emp.panno}}"/>
</td>
</tr>
<tr>
<td>Aadhar No</td>
<td>
<input type="number"
name="aadharno" value="{{emp.aadharno}}"/>
</td>
</tr>
<tr>
<td>Salary</td>
<td>
<input type="number" name="salary"
value="{{emp.salary}}"/>
</td>
56
</tr>
<tr>
<td></td>
<td>
<input type="submit"
value="Update"/>
</td>
</tr>
</table>
</form>
{% endblock body %}
adminzone.views.py code:-
59
{'msg':msg})
user=AdminLogin.objects.get(userid=userid,password=old
password)
if user is not None:
ad=AdminLogin(userid=userid,password=newpassword)
ad.save()
return redirect('adminzone:logout')
else:
msg='Old password is not matched.'
return render(request,"changepassword.html",
{'msg':msg})
def updateemployee(request,empid):
emp=Employee.objects.get(empid=empid)
return render(request,"updateemployee.html",
{'emp':emp})
def updateemp(request):
empid=request.POST['empid']
empname=request.POST['empname']
gender=request.POST['gender']
address=request.POST['address']
contactno=request.POST['contactno']
emailaddress=request.POST['emailaddress']
doj=request.POST['doj']
department=request.POST['department']
designation=request.POST['designation']
panno=request.POST['panno']
aadharno= request.POST['aadharno']
salary=request.POST['salary']
emp=Employee(empid=empid,empname=empname,gender=gender
,address=address,contactno=contactno,emailaddress=emai
laddress,doj=doj,department=department,designation=des
ignation,panno=panno,aadharno=aadharno,salary=salary)
emp.save()
return redirect('adminzone:employee')
adminzone.models.py code:-
60
from django.db import models
adminzoneurls.py code:-
urlpatterns=[
path('adminhome/',views.adminhome,name='adminhome'),
path('enquiry/',views.enquiry,name='enquiry'),
path('jobseeker/',views.jobseeker,name='jobseeker'),
path('employee/',views.employee,name='employee'),
path('changepassword/',views.changepassword,name='chan
gepassword'),
path('logout/',views.logout,name='logout'),
path('addnotification/',views.addnotification,name='ad
dnotification'),
path('deletenotification/?P<id>\
61
d+',views.deletenotification,name='deletenotification'
),
path('deleteenquiry/?P<id>\
d+',views.deleteenquiry,name='deleteenquiry'),
path('deletejobseeker/?P<emailaddress>\
s+',views.deletejobseeker,name='deletejobseeker'),
path('saveemployee/',views.saveemployee,name='saveempl
oyee'),
path('deleteemployee/?P<empid>\
d+',views.deleteemployee,name='deleteemployee'),
path('changepwd/',views.changepwd,name='changepwd'),
path('updateemployee/?P<empid>\
d+',views.updateemployee,name='updateemployee'),
path('updateemp/',views.updateemp,name='updateemp'),
FUTURE SCOPE
CONCLUSION:
During extended interviews with employees, we found different processes leading to the successful
development and deployment of portals. The portal doesn’t have to be expensive. It should support multiple
campus goals. It is clear that the functionality of a portal develops over time.
62