0% found this document useful (0 votes)
9 views69 pages

Blood Bank Project

bloodb

Uploaded by

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

Blood Bank Project

bloodb

Uploaded by

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

A

PROJECT REPORT
On
Human Resource
Management System (HRMS)
of

Submitted in partial fulfillment of their


requirements for the award of the Three-Year
Diploma in
Information Technology

Under the supervision of


Er. Brijesh Kumar Mishra
(IT-Manager)
Softpro India Computer Technologies (P) Ltd.
Lucknow (UP)
Submitted By: -
Pallavi Pandey
Saloni Singh
Submitted To: -
Mrs. Ritima Tripathi

1
PREFACE
“Necessity is Mother of All Inventions”
Summer training is an important part of the engineering curriculum. The
Diploma course summer training helps a student in getting acquainted
with the manner in which his/her knowledge is being practically used
outside his/her institute and this is normally different from what he/she
has learnt from books. Hence, when the student switches from the
process of learning to that of implementing his/her knowledge, he/she
finds an abrupt change. This is exactly why summer training session
during the B.E curriculum becomes all the more important. Summer
training is prescribed for the student of Technical College as a part of the
four-year degree course of engineering by the AICET. We are required to
undergo summer training for a period of 45 days after the completion of
the 2nd year.

This training report describes in detail the training after the 3rd year
session, which I completed at the Softpro India Computer Technology
(P) Ltd. . This report also gives the information about the organization
and it’s working along with the project undertaken in the training period.
The fundamental step used in SDLC process is based on the ISO 9001
guidelines. My aim was to follow the ISO guidelines and develop a
perfect system.

The system development was organized into 5 major parts:


1. Requirement Gathering
2. Documentation/Design
3. Development
4. Coding
5. Testing

2
ACKNOWLEDGEMENT

I would like to express my deep and sincere gratitude to my supervisor

Er. BRIJESH KUMAR MISHRA (Softpro India Computer Technologies

(P) Ltd.), who gave me his full support and encouraged me to work in an

innovative and challenging project for Educational field. His wide

knowledge and logical thinking gave me right direction all the time.

I am deeply grateful my project coordinator for his/her help and support

provided at every step of the project. Last but not the least, I thank to all

employees of Softpro India Computer Technologies (P) Ltd. 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

This is to certify that Ms. Pallavi Pandey 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.


Pallavi Pandey for her work and wish her all the very best for her future
endeavors.

Regards,

Ms. Yashi Asthana

CEO

Softpro India Computer Technologies Pvt. Ltd.

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,

Ms. Yashi Asthana

CEO

Softpro India Computer Technologies Pvt. Ltd.

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 award of the Diploma in “Information

Technology” under the guidance of Er. BRIJESH KUMAR MISHRA.

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……………………………………………………………………

6
1.1 Overview of Organization

1.2 Objectives
1.3 Existing System Description
1.4 Proposed System
1.5 Tools Used
2. System
Analysis…………………………………………………………………
2.1 Objective
2.2 SDLC Phases
2.2.1 Feasibility Study
2.2.2 Report Approval
2.2.3 System Analysis
2.2.4 System Design
2.2.5 Coding
2.2.6 Testing
2.2.7 Implementation
2.2.8 Maintenance
2.3 Process Description
2.4 Project Model Used
2.5 ER-Diagram
2.6 Data Flow Diagram
3. Software Requirement Specification………….
………………………………
3.1 Hardware Requirement
3.2 Software Requirement
3.3 Support Maintenance
4. System Design
Approach…………………………………………………………
4.1 Top-Down Designing
4.2 Bottom –Up Designing
4.3 Following Approach
5. Low Level
Design…………………………………………………………………………

5.1 Description of Classes and Methods


6. Data
Modeling……………………………………………………………………
6.1 List of Tables
6.2 Structure of Tables

7
7. Testing……………………………………………………………………………

8. Input-Output
Forms………………………………………………………………
8.1 Modularization Details
8.2 User Screenshots
8.3 Admin Screenshots
9. Future
Scope………………………………………………………………………
10. Conclusion…………………………………………………………………
…….

8
INTRODUCTION

This project is made for the ElectrotechEngg Solutions, Roorkie 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 other institute.

Objectives & Scope:

We have the following aims and objectives of HRMS System:

 To ease the functioning of the company.


 To avoid delays as postal delays.
 To increase the existing systems efficiency and reliability as a whole by many
times
 To reduce effort involved in processing the data.
 It’s developed for smooth functioning.
 To ease the interaction between candidate and company.
 To provide transparent system to all the employees of the company.
 Improved Productivity of the HR Department of the Company
 Optimal Utilization of Resources.
 Reduction in time taken in execution of activities.
 Better Information sharing among different department.
 Cost cutting in maintaining employee’s data.
 Reduces the man power.

9
 Reduces the time improve the functionality of organization.

Organization of the report:

 Softpro India Computer Technologies (P) Limited was founded in 2004 with the
mission of “Bridging the Technology gap”.
 Provides programming services, Application Development and Integration Services,
Web Design and Development Services, Search Engine Optimization Services (SEO)
and Back-office services.

10
Requirements specification

Data Flow Diagrams

11
DFD LEVEL 0

DFD LEVEL 1

12
13
Entity Relationship Diagram

14
Feasibility Study

Software Specification

Software Technology Used:

 Operating system windows 7 and 8


 Pycharm Community Edition
 Python
 Internet Explorer 8.0 and above, Chrome or Any Supported Browser
 HTML & CSS
 Java Script
 SQLite Database
 Visio for DFD and ER
 Paint and MS Picture Manager.

Hardware Technology Used:

For Client Side:

 System type: 32 bit Operating System


 Processor: Intel® Pentium® dual CPU e2220 2.20 GHZ
 RAM 256 GB
 Monitor 16 Color Monitor
 Hard Disk 1 GB
 Keyboard
 Mouse

For Server Side:

 Server Xeon Based or Higher End Server


 Ram 4 GB
 Hard Disk 200 GB Disk Space

15
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:

 A brief description of the business


 The part of the business being examined
 The human and economic factor
 The possible solutions to the problems

System is given more importance than the actual make 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:

 The facility to produce outputs in a given time.


 Response time under certain conditions is minimal.
 Ability to process a certain volume of transaction at a particular
speed.
 Facility to communicate data to distinct location.

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.

16
· Database design – SQLite (Preferred) or any other DBMS.
· Coding – Pycharm
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.

17
 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.

18
System Design

Software Process Model Followed:

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

Software Development Process moves throughout these four phase until the Software is not
implemented .In the last phase (Customer Evaluation), End User evaluates the product, and

19
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.

20
5. The construction and release task – to construct, test, install and provide user
support (e.g., documentation and training).
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 centre 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.

21
System Designing Approaches

Top – Down designing:

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.

Approach we are following:

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

22
approach (e.g. the WebPages) and the some components in bottom – up designing approach
(e.g. the middle tier classes).

Database Design

Table Name: empinfo


Primary Key: empid
Column name datatype
Empid int
Empname varchar(50)
Gender varchar(50)
Fathersname varchar(50)
address1 varchar(MAX)
address2 varchar(MAX)
Contactno varchar(20)
Emailaddress varchar(50)
Department varchar(50)
Designation varchar(50)
Salary int

Table Name: login


Primary key –userid

Column Name Data Type


Userid varchar(50)
Passwd varchar(50)

Table Name- notification


Primary key: id

Column Name DateTime


Id int
Notificationmsg varchar(MAX)
Notificationdate date

23
Table Name:
Table Name- joinus
Primary key-id

Column Name DataType


Id Int
Emailid Varchar(50)
Passwd Varchar(50)
Name Varchar(50)
Gender Vrchar(50)
Address1 Varchar(MAX)
Address2 Varchar(MAX)
ContactNo Varchar(50)
Message Varchar(MAX)

Table Name: jobseeker


Primary key-emailid

Column Name DataType

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)

24
Component Level Design

Name and Description of Modules

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

25
Modules And Their Description:

 Employee Authentication and Login Management:

In this module authenticate employees can login using password. It includes:


Employee Login ID, Password.

 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

 Job Seekers Management:

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.

 Dynamic Updated Events Management:

It includes the various events of the company organized by HR and Admin.


Employees can participate in the events.

26
Snap Shots

Index Page:-

Enquiry Page:-

27
Job Seeker Registration Page:-

Admin Login Page:-

28
Admin Home Page:-

Employee Registration Page:-

29
Update Employee Page:-

Manage Jobseeker Page:-

30
Manage Enquiry Page:-

Change Password Page:-

31
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

32
{
width:1000px;
height:150px;
}
#logo
{
width:150px;
height:150px;
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;
}
33
#menu ul li a
{
padding:20px;
font-size:20px;
text-decoration:none;
color:black;
}
#menu ul li a:hover
{
color:red;
}
#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;
}
34
#footer
{
width:1000px;
height:80px;
margin-top:5px;
}
#lfooter
{
width:500px;
height:80px;
background-color:black;
float:left;
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)

35
{
i=0;
}
document.getElementById("slide").src=baseurl+im
gnames[i];
i++;
window.setTimeout("moveslider()",2000);
}
</script>
</head>
<body bgcolor="green" onload="moveslider()">
<div id="outer">
<div id="header">
<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>

36
</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">
{% block body %}

{% endblock body %}
</div>
</div>
<div id="footer">
<div id="lfooter">
Copyright &copy; to HRMS
</div>
<div id="rfooter">
Developed By:- Brijesh Mishra
</div>
</div>
</div>
</body>
</html>

37
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>
<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>

38
<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>
</tr>
<tr>
<td>Key Skills</td>
<td>
<textarea
name="keyskills"></textarea>
</td>
</tr>
<tr>
<td>Enter Date Of Birth</td>
<td>

39
<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 %}
<form action="{% url 'validateuser' %}"
method="post">
{% csrf_token %}
<table style="width:50%;margin:0 auto;">
<tr>
<td>Enter User Id</td>

40
<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%;">

41
<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>

42
<td>Enter Enquiry Text</td>
<td>
<textarea
name="enquirytext"></textarea>
</td>
</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

# Create your views here.


def index(request):
nf=Notification.objects.all()
return render(request,"index.html",
{'nf':nf})
def aboutus(request):
nf=Notification.objects.all()
return render(request,"aboutus.html",
{'nf':nf})

43
def registration(request):
nf=Notification.objects.all()
return render(request,"registration.html",
{'nf':nf})
def login(request):
nf=Notification.objects.all()
return render(request,"login.html",
{'nf':nf})
def contactus(request):
nf=Notification.objects.all()
return render(request,"contactus.html",
{'nf':nf})
def saveenq(request):
name=request.POST['name']
gender=request.POST['gender']
address=request.POST['address']
contactno=request.POST['contactno']
emailaddress=request.POST['emailaddress']
enquirytext=request.POST['enquirytext']
enq=Enquiry(name=name,gender=gender,address=add
ress,contactno=contactno,emailaddress=emailaddr
ess,enquirytext=enquirytext)
enq.save()
msg='Enquiry is saved.'
return render(request,"contactus.html",
{'msg':msg})
def savejobseeker(request):
name=request.POST['name']
gender=request.POST['gender']
address=request.POST['address']
contactno=request.POST['contactno']
emailaddress=request.POST['emailaddress']
qualification=request.POST['qualification']
experience=request.POST['experience']
keyskills=request.POST['keyskills']
dob=request.POST['dob']
aadharno=request.POST['aadharno']

44
regdate=datetime.datetime.today()
js=JobSeeker(name=name,gender=gender,address=ad
dress,contactno=contactno,emailaddress=emailadd
ress,qualification=qualification,experience=exp
erience,keyskills=keyskills,dob=dob,aadharno=aa
dharno,regdate=regdate)
js.save()
msg='Registration is done.'
return render(request,"registration.html",
{'msg':msg})
def validateuser(request):
userid=request.POST['userid']
password=request.POST['password']
msg=''
try:
obj=AdminLogin.objects.get(userid=userid,passwo
rd=password)
if obj is not None:
request.session['userid']=userid
return
redirect(reverse('adminzone:adminhome'))
except ObjectDoesNotExist:
msg='Invalid User'
return render(request,"login.html",
{'msg':msg})

hrapp.models.py code:-
from django.db import models

# Create your models here.


class Enquiry(models.Model):
name=models.CharField(max_length=50)
gender=models.CharField(max_length=6)
address=models.CharField(max_length=200)
contactno=models.CharField(max_length=15)

45
emailaddress=models.EmailField(max_length=50)
enquirytext=models.CharField(max_length=500)
class JobSeeker(models.Model):
name=models.CharField(max_length=50)
gender=models.CharField(max_length=6)
address=models.CharField(max_length=200)
contactno=models.CharField(max_length=15)
emailaddress=models.EmailField(max_length=50,pr
imary_key=True)
qualification=models.CharField(max_length=50)
experience=models.CharField(max_length=10)
keyskills=models.CharField(max_length=200)
dob=models.CharField(max_length=30)
aadharno=models.CharField(max_length=12)
regdate=models.CharField(max_length=30)
class AdminLogin(models.Model):
userid=models.CharField(max_length=50,primary_k
ey=True)
password=models.CharField(max_length=20)

hrapp.hrappurls.py code:-

from django.urls import path


from . import views

urlpatterns=[
path('',views.index,name='index'),
path('aboutus/',views.aboutus,name='aboutus'),
path('registration/',views.registration,name='r
egistration'),
path('login/',views.login,name='login'),
path('contactus/',views.contactus,name='contact

46
us'),
path('saveenq/',views.saveenq,name='saveenq'),
path('savejobseeker/',views.savejobseeker,name=
'savejobseeker'),
path('validateuser/',views.validateuser,name='v
alidateuser'),
]

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;
}
#header
{
width:1000px;
height:150px;
}
#logo
{
width:150px;
height:150px;
background-color:pink;

47
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;
}
#menu ul li a
{
font-size:20px;
padding:20px;
text-decoration:none;
color:black;
}
#main
{

48
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;
font-size:35px;
text-align:center;
line-height:85px;
}
</style>
</head>
<body bgcolor="green">

49
<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">
<div id="lfooter">
Copyright &copy; to HRMS
</div>
<div id="rfooter">

50
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%;"

51
border="1">
<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%;">

52
<tr>
<td>Enter Old Password</td>
<td>
<input type="password"
name="oldpassword"/>
</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;">

53
Employee Information System
</h1>
<form action="{% url
'adminzone:saveemployee' %}" method="post">
{% csrf_token %}
<table style="margin:0
auto;width:50%;">
<tr>
<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>

54
<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 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"

55
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"
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>

56
<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>
<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>

57
{% 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>
</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 %}
58
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>
<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>

59
<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>
<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>

60
<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>
<td>Date Of Joining</td>
<td>
<input type="text"
name="doj" value="{{emp.doj}}"
readonly="true"/>
</td>
</tr>
<tr>

61
<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>
</tr>
<tr>
<td></td>
<td>

62
<input type="submit"
value="Update"/>
</td>
</tr>
</table>
</form>
{% endblock body %}

adminzone.views.py code:-

from django.shortcuts import render, redirect


from . models import Notification, Employee
import datetime
from hrapp.models import Enquiry, JobSeeker,
AdminLogin

# Create your views here.


def adminhome(request):
try:
if request.session['userid'] is not
None:
nf=Notification.objects.all()
return
render(request,"adminhome.html",{'nf':nf})
except:
return render(request,"login.html")
def enquiry(request):
try:
if request.session['userid'] is not
None:
enq=Enquiry.objects.all()
return
render(request,"enquiry.html",{'enq':enq})
except:
return render(request,"login.html")
def jobseeker(request):

63
try:
if request.session['userid'] is not
None:
js=JobSeeker.objects.all()
return
render(request,"jobseeker.html",{'js':js})
except:
return render(request,"login.html")
def employee(request):
try:
if request.session['userid'] is not
None:
emp=Employee.objects.all()
return
render(request,"employee.html",{'emp':emp})
except:
return render(request,"login.html")
def changepassword(request):
try:
if request.session['userid'] is not
None:
return
render(request,"changepassword.html")
except:
return render(request,"login.html")
def logout(request):
request.session['userid']=None
return render(request,"login.html")
def addnotification(request):
notificationtext=request.POST['notificationtext
']
notificationdate=datetime.datetime.today()
nf=Notification(notificationtext=notificationte
xt,notificationdate=notificationdate)
nf.save()
return redirect('adminzone:adminhome')
def deletenotification(request,id):
64
nf=Notification.objects.get(id=id)
nf.delete()
return redirect('adminzone:adminhome')
def deleteenquiry(request,id):
enq=Enquiry.objects.get(id=id)
enq.delete()
return redirect('adminzone:enquiry')
def deletejobseeker(request,emailaddress):
js=JobSeeker.objects.get(emailaddress=emailaddr
ess)
js.delete()
return redirect('adminzone:jobseeker')
def saveemployee(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,ema
iladdress=emailaddress,doj=doj,department=depar
tment,designation=designation,panno=panno,aadha
rno=aadharno,salary=salary)
emp.save()
return redirect('adminzone:employee')
def deleteemployee(request,empid):
emp=Employee.objects.get(empid=empid)
emp.delete()
return redirect('adminzone:employee')
def changepwd(request):
65
userid=request.session['userid']
oldpassword=request.POST['oldpassword']
newpassword=request.POST['newpassword']
confirmpassword=request.POST['confirmpassword']
msg=''
if(newpassword!=confirmpassword):
msg='Newpassword and confirmpassword
are not matched.'
return
render(request,"changepassword.html",
{'msg':msg})
user=AdminLogin.objects.get(userid=userid,passw
ord=oldpassword)
if user is not None:
ad=AdminLogin(userid=userid,password=newpasswor
d)
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']

66
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,ema
iladdress=emailaddress,doj=doj,department=depar
tment,designation=designation,panno=panno,aadha
rno=aadharno,salary=salary)
emp.save()
return redirect('adminzone:employee')

adminzone.models.py code:-

from django.db import models

# Create your models here.


class Notification(models.Model):
notificationtext=models.CharField(max_length=20
0)
notificationdate=models.CharField(max_length=30
)
class Employee(models.Model):
empid=models.IntegerField(primary_key=True)
empname=models.CharField(max_length=50)
gender=models.CharField(max_length=6)
address=models.TextField()
contactno=models.CharField(max_length=15)
emailaddress=models.EmailField(max_length=50)
doj=models.CharField(max_length=30)
department=models.CharField(max_length=50)
designation=models.CharField(max_length=50)
panno=models.CharField(max_length=10)

67
aadharno=models.CharField(max_length=12)
salary=models.IntegerField()

adminzoneurls.py code:-

from django.urls import path


from . import views

urlpatterns=[
path('adminhome/',views.adminhome,name='adminho
me'),
path('enquiry/',views.enquiry,name='enquiry'),
path('jobseeker/',views.jobseeker,name='jobseek
er'),
path('employee/',views.employee,name='employee'
),
path('changepassword/',views.changepassword,nam
e='changepassword'),
path('logout/',views.logout,name='logout'),
path('addnotification/',views.addnotification,n
ame='addnotification'),
path('deletenotification/?P<id>\
d+',views.deletenotification,name='deletenotifi
cation'),
path('deleteenquiry/?P<id>\
d+',views.deleteenquiry,name='deleteenquiry'),
path('deletejobseeker/?P<emailaddress>\
s+',views.deletejobseeker,name='deletejobseeker
'),
path('saveemployee/',views.saveemployee,name='s
aveemployee'),
path('deleteemployee/?P<empid>\
d+',views.deleteemployee,name='deleteemployee')
68
,
path('changepwd/',views.changepwd,name='changep
wd'),
path('updateemployee/?P<empid>\
d+',views.updateemployee,name='updateemployee')
,
path('updateemp/',views.updateemp,name='updatee
mp'),

FUTURE SCOPE

Following modification or upgrades can be done in system.


1. More than one company can be integrated through this software.
2. Web services can be used to know exact online shopping in e-commerce sites.
3. Client can check their online shopping status online.

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.

69

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy