Академический Документы
Профессиональный Документы
Культура Документы
UOPMMS
ANIL KUMAR
Under Guidance
of
1
IX. Certificate of Originality
Date: Date:
2
ACKNOWLEDGEMENT
I, Anil Kumar Enrolment No: 160717198 student of BCA express my
sincere thanks to the “Indira Gandhi National Open University” which
has given me the opportunity to pursue BCA Course. I would like to
express my whole hearted thanks to MR. Adesh Rathore my project
guide for his encouragement and guidance, which helped me in
completing my project.
ANIL KUMAR
3
TABLE OF CONTENTS
TOPIC PAGE
Synopsis 8-45
Bibliography 203
4
5
Guide-Biodata
Job Objective Quest for challenging assignments in the Software industry that needs innovation & creativity, dedication and enables
me to continue to work in a challenging and fast paced environment, leveraging my current knowledge with fostering
creativity, where career growth is always on the cards.
Summary
More than 2.5 years of experience in website devolvement using Microsoft Technologies with Focus on Asp.net
,C#, Ado.Net, T-SQL, LINQ, MVC, WCF and Entity Framework.
Proficient in SQL database design, Database maintenance, developing PL-SQL queries, stored
procedures, Cursors and triggers.
Exposure to implementation, development and analyzing of solutions in the fields of Web and Windows
Application.
Worked in the software development life cycle (SDLC) processes while executing projects.
Good oral and written communication skills
Organizational skills, ability to handle multiple tasks & thrive in a challenging, fast-paced environment.
Ability to effectively contribute to the organizational goals while working independently with little direct
supervision. Reliable as a fully contributing, responsible and accountable member of task/project teams.
Error handling and problem solving abilities.
Responsibilities: Experience in developing web applications in Microsoft Visual Studio.Net IDE using C#.Net, ASP.NET
4.0/3.5, ADO.NET, MVC, WCF, Angular JS and Triggers, Views, Queries, Stored Procedures using SQL server.
Responsibilities: Experience in developing web applications in Microsoft Visual Studio.Net IDE using C#.Net, ASP.NET
4.0/3.5, ADO.NET, MVC, WCF and Triggers, Views, Queries, Stored Procedures using SQL server.
6
Job Title: IT Faculty
C#
XML
Prog. Languages LINQ
C++
C
Visual Basic 6.0
Projects
Gender Male
7
Interest To keep upgrading and learning new technologies
Marital Status Married
Hindi, English
Languages Known
8
Title of Project: -UOPMMS (Universal online Packers & movers Management
System)
Introduction:-
The “Universal packers & movers Pvt. Ltd” was established in year 1996. It is the
premier company in the packers and movers sector in India. It delivers status and
notification system is being developed for the need of company running simultaneously
packers & movers service this is specially meant their frontline user service
information. This is one of the best efforts by us to prove that how packing and moving
can be helpful in service industry where inquiries are always in queue. From our born
we provide highly reliable parcel and express services as well as value-added customer-
specific total transport solutions. The company provides a professional moving and
packing services to their businesses partners which are designed to be cost effective.
With excellent customer service, Customers can count on us to deliver best
performance on their behalf. We always provide our services with our some very much
professional Staffs. They know how much valuable your items or parcels’ are.
We Movers and Packers Delhi NCR do good shifting in all the major cities of India
and our domain covers all the sectors which includes
1. Household/Residential/Domestic shifting
2. Office/factory/machinery/Computers Shifting
3. Warehouse Services.
4. Transport Services
5. Packing and moving services
Our Infrastructure:-
We claim our self as the best company because we are backed with the latest
infrastructure, which ensure the fastest and safest deliver of goods on time. Universal
Packers and Movers Company in Delhi NCR have a wide network and well equipped
with the best manpower available in the industry, they have experience as well as the
expertise to do their work in the best possible manner. Our team is professional and
well mannered, they do their work perfectly in limited time, the work would be so
smooth that the shifting experience with us would be the most pleasant. We believe in
serving high quality at most affordable price as our aim is not to maximize profit but
to maximize client satisfaction so that they get associate with us for all their shifting
requirement , this is the reason we never compromise on the quality of packing
material as the safety of goods is our prime concern. We have the most latest and best
in quality equipments used while shifting of goods as well as the infrastructure to move
the goods from one area to another area, this ensure our client’s that there would be
no delay in receiving goods.
Universal packers and movers company in Delhi NCR is also the number 1 company
in providing best quality warehouses, which are clean, ventilated and spacious. All the
warehouses we use to keep the goods are our own and well maintained, if you visit
9
them personally, you would realize that the goods here would be kept safely
We Packers and Movers in Delhi NCR aim to provide the best shifting experience to
our client, at the most pocket friendly price, we can ensure you that our services are
incomparable in Delhi NCR and our prices are excellent. We welcome you Kindly call
or email you packing and moving requirement to our customer care and get the most
competitive price deal from our packers and movers in Delhi NCR. Hire Universal
packers for all your relocation needs, we will be happy to assist you in your relocation.
Our Mission: - Customer satisfactions are our best asset & headache, so it will be
make us active and serious and will secure our success. We will stay by our theme
make us pride in what we do. This will ensure to maintain a work environment where
people enjoy coming to work and make him proud with fast express
Our Vision:-“To be recognized and professional as one of the leading packers and
movers company in the world by providing responsive, efficient, reliable and high
quality services to our valuable clients.”
Objectives:
The objective of the project” Universal online Packers & movers Management
System” is to develop a website to deal with the clients and packing and moving
management. Tracking and status of the packing and moving will be easily maintained
by the website. Queries among the officers regarding handling etc., user complaints
are registered to help us get to better feedback for our failures as a hospitable interface.
Providing an interactive interface for the user query for online status of the
items booked for packing and moving using the .net technology.
All interface has lot to do when proper interaction and attraction is necessary.
Helping the user to search booked item for packing and moving as well as
status of it.
It should provide better tracking of the booked items.
Online updating of items status through intermediate and end office regarding truck
no, status, reloading of cargo from one truck to other truck etc. It Provides secured
Environment for secure data access whatever necessary. Retrieval of data from
database using easy buttons links and interfaces in a very fast and efficient manner.
Online updating of all type of data is available here.
User Satisfaction:
Our goal as a successful company in the field of packers and movers is focused towards
satisfaction of website user .With the confidence of quality services, we can obtain a
10
wide base of clients and individuals in the Advertise. Apart from the quality of fast
shipment, we have always given importance to timeliness in our processing, cost
effectiveness in our packing and moving transparency in our dealings. We also
ascertain open line of communications with our clients at all levels to ensure that they
are left fully contented. This has helped us in attaining a trustworthy and satisfied
client base across the country.
We want to provide better packing and moving services with the help of computerized
system, own company Website, we provide a better client service. The main motive of
the website design to provide the solution of client management, shipment
management, and packers & movers booking management, generate reports, graphs
based one client analysis, Staff analysis and Advertise analysis etc.
quickly.
Company and client both are not able to check shipment or item current
status effectively.
It is not possible to check for the details of the client at each time of each
11
Merits of Proposed Website:
The website is flexible and additional feature can be added at any moment of
time.
Effective web tools for tracking and shipment.
Website supports Robust Transaction.
Company website will provide more information about our
company easily.
Web site supports the storing of large database.
Website supports Fast retrieval of data from the database.
Contents are easily searched and support multiple users at a time in the website.
Website maintains Strong security features as it uses the built in security
framework of java.
3-Teir architecture is followed by website while in backend Database Oracle.
It is user friendly, because there are some features like buttons, most of the
work can be done by using mouse except entering data.
In this website, there are new advance thinks of packers and movers logistics.
So it will not be outdated for the coming 10 to15 years.
In this website there is no need to re-entering the whole database to update and
converted existing data to SQL FORMAT.
On a single click of button user get reports and graphs. And user can access all
things easily.
Able to store the data in centralized server and access through the network.
If the company wants develop an intranet then using java technology its
customers and Staffs can access the database using the simple software system
called web browser.
12
PROJECT CATEGORY:-RDBMS (Relational Database Management
System)
The data in RDBMS is stored in database objects called tables. The table
is a collection of related data entries and it consists of columns and rows.
A table is the most common and simplest form of data storage in a
relational database.
13
Modules:
The project based on the packers & movers is divided into following
modules:
1. Registration system
14
Modules Description:
1. Registration System:
The Registration management system is maintained for the security of the system. In
this system only authorized person can access the data. The authorized person (user)
can change the password. In this management system user have the facility to change
the password. In the case if the user forgets his/her password, the user can retrieve
password from the forget password page. The manager can set some question and
answer & the data will be in encrypted form.
Web-pages:-
User sign-up page
User forget password
User details editing page
User policy view page
User sign-in page
Reports:-
Weekly User signed-up report
User monthly editing detail
User monthly policy view report
User last sign in report
During the tracking process user can check all the process of the shipment like when
the shipment will be picked up, when the shipment will be sent out and when the
shipment will be reached in the user address.
Web pages:-
Distance calculator page
Delivery record view page
Time calculator page
Delivered status view page
15
Tracking history view page
Tracking analysis page
Reports:-
Monthly Delivery report
Yearly Delivery report
Time calculation report
Distance calculation report
Tracking history report
Web pages:-
Web-pages:
16
Packers & movers Booking page
Packers & movers Booking details editing page
Packers & movers Booking details analysis page
Packers & movers Booking destination view page
Reports:-
Web pages:-
17
Staff record entry page
Staff record modification page
Staff record deletion page
Staff performance analysis page
Staff job assignment page
Staff incentive management page
Staff Official tour management page
Reports:
Reports:-
Web pages:-
19
DFD (DATA FLOW DAIGRAM)
MANAGEMENT
PROVIDE
QUERY ABOUT PACKERS
REPORT
AND MOVERS WORKING
REPORT STAFF
INFOR-
ENQUIRY ABOUT
MATION
SALARY AND
0.0 ENQUIRY DETAILS
PROVI-
DED
online packers
& movers
REQUEST FOR management
BOOKING System
SHIPMENT
PROVIDE RECIPT
BANK
CLIENT
20
CLIENT
1.0
PROVIDE INFORMATION
CONFIRMATION PROVIDED
REGISTRATION
SYSTEM
REQUEST FOR INFORMATION ABOUT
REGISTRATION REGISTRATION AND
AND LOGIN LOGIN REPORT
STAFF
RECORD INSERTED
MANAGEMENT
RECORD RETRIEVED
REGISTRATION FILE
21
CLIENT
PROVIDE
REQUEST FOR PACKING
DETAIL
AND MOVING ITEM
STATUS
2.0
PROVIDE STATUS
PACKERS AND PROVIDE REPORT
DETAIL
MOVERS
TRACKING
SYSTEM
REQUEST ABOUT QUERY ABOUT CARGO
SHIPMENT AND COURIER
TRACKING TRACKING REPORT
TRANSACTION
STAFF
RECORD INSERTED
MANAGEMENT
RECORD RETRIEVED
TRACKING FILE
22
CLIENT
PROVIDE
STATUS AND REQUEST FOR SHIPMENT DELIVERY
NOTIFICATION STATUS NOTIFICATION DETAIL
3.0
REPORT PROVIDED
CONFIRMATION PROVIDED DELIVERY
STATUS
NOTIFICATION
STAFF
RECORD INSERTED
MANAGEMENT
RECORD RETRIEVED
DELIVERY FILE
23
CLIENT
4.0
PROVIDE REPORT
DETAIL
PACKERS AND DETAIL
PROVIDEND
MOVERS
BOOKING
MANAGEMENT
REQUEST FOR QUERY ABOUT BOOKED
SYSTEM
BOOKING SHIPMENT REPORT
SHIPMENT
DETAIL &
TRANSACTION
RECORD INSERTED
MANAGEMENT
RECORD RETRIEVED
STAFF
BOOKING FILE
24
CLIENT
5.0
CONFIRMATION REPORT PROVIDED
PROVIDED
USER QUERY
HANDLING
REQUEST SYSTEM QUERY ABOUT CLIENT
ABOUT CLIENT QUERY HANDLIG
QUERY DETAIL REPORT
TRANSACTION
STAFF
RECORD INSERTED
MANAGEMENT
RECORD RETRIEVED
QUERY FILE
25
MANAGEMENT STAFF
STAFF
MANAGEMENT
SYSTEM
RECORD INSERTED
RECORD RETRIEVED
STAFF FILE
26
MANAGEMENT STAFF
7.0
CLIENT
MANGEMENT
PROVIDE DETAILS
RECORD INSERTED
SYSTEM
QUERY ABOUT RECORD RETRIEVED
MOVING AND
PACKING SHIPMENT
STATUS INFO
27
MANAGEMENT STAFF
ADVERTISMENT
MANAGEMNT
RECORD INSERTED
SYSTEM
RECORD RETRIEVED
ADVERTISING FILE
28
MANAGEMENT STAFF
9.0
EXPENSE
MANAGEMET
RECORD INSERTED
PROVIDE DETAILS
SYSTEM
INFORMATION RECORD RETRIEVED
ABOUT
TRANSACTION
29
STAFF LOGIN FILE
ENQUIRY ABOUT
INFORMATION
INSERTED
LOGIN-ID AND PRVIDE
RECORD
PROVIDED
PASSWORD CONFIRMATION
1.1
USER SIGNUP
SYSTEM
INFORMATION
INFORMATION
QUERY
ABOUT THE PROVIDED
PROVIDED
REQUEST FOR
USERNAME & REGISTERED
PASSWORD USERS
CLIENT MANAGEMENT
INFORMATION
1.2
LOGIN
SYSTEM
RECORD INSERTED
REQUEST FOR
REQUEST
RECORD LOGIN
ACCEPTED
RETRIEVED / REJECTED
30
STAFF STATUS FILE
REQUEST FOR
SHIPMENT
CONFIRMATION
INSERTED
DELEVERRD STATUS PROVIDE
RECORD
TRANSACTION CONFIRMATION
PROVIDE
2.1
DELIVERED
STATUS VIEW
SYSTEM
PROVIDE STATUS
CLIENT MANAGEMENT
REQUEST FOR QUERY ABOUT
ACCEPTED /
TRACKING TRACKING
REJECTED
REQUEST
HISTORY HISTORY
PROVIDE
DETAILS
2.2
HISTORY
TRACKING
RECORD INSERTED
31
STAFF NOTIFICATION FILE
REQUEST FOR
DELEVERRD STATUS PROVIDE
NOTIFICATION CONFIRMATION
INSERTED
RECORD
PROVIDE
TRANSACTION
DETAIL
3.1
DELIVERD
STATUS
NOTIFICATION
SYSTEM
PROVIDE STATUS
REPORT
QUERY ABOUT
PROVIDED
REQUEST FOR DELIVERED
DELIVERED STATUS STATUS
NOTIFICATION NOTIFICATION
REPORT
CLIENT MANAGEMENT
REQUEST QUERY ABOUT IN
ACCEPTED /
NOTIFICATION
PROVIDE
REPORT
3.2 REPORT
IN PROCESS
STATUS
NOTIFICATION
RECORD INSERTED
REAQUEST
VIEW SYSTEM REQUEST
ABOUT IN
RECORD ACCEPTED /
PROCESS
RETRIEVED REJECTED
NOTIFICATION
TRANSACTION
32
STAFF BOOKING FILE
REQUEST FOR
SHIPMENT PROVIDE
CONFIRMATION
INSERTED
BOOKING
RECORD
PROVIDE
TRANSACTION
DETAIL
4.1
PACKERS AND
MOVERS
BOOKING
SYSTEM
PROVIDE STATUS
CLIENT MANAGEMENT
REQUEST FOR QUERY ABOUT
BOOKIG DETAIL PACKERS &
ACCEPTED /
REJECTED
REQUEST
PACKERS &
MOVERS
RECORD INSERTED
BOOKING REQUEST
DETAIL SYSTEM ABOUT REQUEST
RECORD ANALYSIS BOOKING ACCEPTED /
RETRIEVED ANALYSIS REJECTED
TRANSACTION
33
STAFF INFORMATION FILE
REQUEST FOR PROVIDE
PACKERS & MOVERS CONFIRMATION
PROVIDE
INSERTED
INFORMATION
DETAIL
RECORD
TRANSACTION 5.1
INFORMANTION
ABOUT
PACKERS &
MOVERS
SYSTEM
PROVIDE STATUS
REPORT
QUERY ABOUT
PROVIDED
PACKERS &
REQUEST ABOUT
MOVERS
PACKERS &
REPORT
MOVERS
CLIENT MANAGEMENT
SERVICE
REJECTED
ABOUT SERVICE
REQUEST
COMPLAIN COMPLAIN
5.2
PROVIDE
DETAILS
REPORT
COMPLAINT
HANDLING
SYSTEM
RECORD INSERTED
34
STAFF STAFF FILE
REQUEST FOR WORK
AND SALARY PROVIDE
CONFIRMATION
CONFIRMATION
INSERTED
TRANSACTION
RECORD
6.1
PROVIDE
STAFF RECORD
ENTRY SYSTEM
MANAGEMENT
QUERY ABOUT
STAFF INCENTIVE
6.2 REPORT
PROVIDE
REPORT
STAFF
INCENTIVE
MANAGEMENT
SYSTEM
RECORD INSERTED
REQUEST
ACCEPTED /
RECORD RQUEST FOR REJECTED
RETRIEVE INCENTIVE
D TRANSACTION
35
STAFF CLIENT FILE
PRVIDE
INSERTED
TRANSACTION
RECORD
CONFIRMATION
PROVIDED
7.1
NEW CLIENT
REGISTRATION
SYSTEM
PROVIDE RECORD
CONFIRMATION
QUERY ABOUT
THE
PROVIDE
CLIENT MANAGEMENT
REQUEST FOR QUERY ABOUT CLIENT
PROVIDE REPORT
REGISTRTION REGISTRATION
ACCEPTED /
DETAILS EDITING
MODIFICATION REPORT
REJECTED
REQUEST
7.2
CLIENT
REGISTRATION
MODIFICATION
SYSTEM REQUEST FOR CLIENT REQUEST
RECORD INSERTED
REGISTRATION ACCEPTED /
RECORD MODIFIFCATION REJECTED
RETRIEVED REPORT
TRANSACTION
36
STAFF ADVERTISING FILE
REQUEST FOR
ADVERTISMENT & PROVIDE
CONFIRMATION
INSERTED
PROMOTION CONFIRMATION
RECORD
TRANSCTION 8.1
PROVIDE
ADVERTISMENT
& PROMOTION
DETAIL ENTRY
SYSTEM
PROVIDE
QUERY ABOUT
RECORD
ADVERTISMENT
& PROMOTION
REPORT
MANAGEMENT
QUERY ABOUT
MODIFICATION
REPORT
8.2 PROVIDE
REPORT
ADVERTISING
DETAIL
MODIFICATION
SYSTEM
RECORD INSERTED
37
STAFF EXPENSE FILE
REQUEST FOR
CONFIRMATION
TRANSACTION PRVIDE
INSERTED
RECORD
CONFIRMATION
PROVIDE
9.1
DAILY
EXPENSE
ENTRY
SYSTEM PROVIDE REPORT
CONFIRMATION
QUERY AOUT
REUEST FOR EXPENSES
PROVIDE
SHIPMENT REPORT
EXPENSES
CLIENT MANAGEMENT
QUERY ABOUT
PROVIDE REPORT
TRANSPORT
EXPENSE REPORT
9.2
TRANSPORT
EXPENSE
SYSTEM PROVIDE
REQUEST FOR
RECORD INSERTED
TRANSPORT CONFIRMATION
RECORD EXPENSE
RETRIEVED TRANSACTION
38
ER-DIAGRAM
DS_DETAIL DS_ID
M DELIVERY STATUS 1
C_ID C_NAME GETS HAS
REPO DS_TIM
C_PH.N
C_EMAIL 1 RT OF
O. SH_DETAIL
1 SH_ID
CLIENT SH_TYP
1 C_AD E
1 1 BOOK
S
SHIPMENT 1
C_CON
C_SEX M
1
IS
VIEWD HAS
T_ID
PAYS
1 1
TO TRACKING
MAKE
1
M
S T_DETAI
GETS
REPORT M
1 OF
M_NAM
M_AD
1
GETS IS
1
MANAGEMENT REPOR DELIVER
TS OF D BY
1
M_TYP
MAKE
S
UPDAT
ES
B_NAME
B_ID
N S_D
B_AD OB S_ID
1 M
GETS
1 M
BANK SALA STAFF M
RY
B_BRANCH B_TEL S_DOJ M S_NAM
39
TABLES:
CLIENT FILE
Data-field Data-type Description
C_ID(PK) Numeric Client Enquiry ID
C_NAME Varhar(50) Name of Person
C_ADD Varchar(50) Client address
C_CONT Numeric Client contact number
C_SEX VarChar(50) Client Sex
C_EMAIL VarChar(50) Client E-mail
MANAGEMENT FILE
Data-field Data-type Description
M_ID(PK) Numeric Management ID
M_MEMB VarChar(50) members of
Management
M_HEAD Varchar(50) Management HEAD
M_TYPE VarChar(50) Management contact
number
40
BANK FILE
Data-field Data-type Description
B_ID(PK) Numeric Bank ID
B_NAME Varchar(50) Name of Bank
B_ADD Varchar(50) Bank address.
B_CONT VarChar(50) Bank contact number.
STAFF FILE
Data-field Data-type Description
S_ID(PK) Numeric STAFF ID.
S_NAME Varchar(50) Name of STAFF.
S_ADD Varchar(50) STAFF address.
S_DOJ Date Date of joining of STAFF.
S_DOB Date Date of birth of STAFF.
S_CONT Numeric STAFF contact detail.
S_SEX varChar(50) STAFF sex.
41
TRANSACTION FILE
Data-field Data-type Description
T_ID(PK) Numeric Transaction ID
T_TYPE Varchar(50) Transaction type
T_DATE Date Transaction date
T_AMT Numeric Transaction amount
T_DESC Varchar(50) Transaction description
T_MODE Varchar(50) Transaction mode
SALARY FILE
Data-field Data-type Description
SAL_ID(PK) Numeric Salary slip id
S_ID(FK) Numeric STAFF ID
S_BONOUS Numeric Salary Bonus
S_AMT Numeric Salary Amount
S_TYPE VarChar(50) Salary Type
S_MONTH Numeric Salary month
S_YEAR Numeric Salary year
42
SHIPMENT FILE
Data-field Data-type Description
SH_ID(PK) Number Shipment ID
SH_TYPE char(50) Type of shipment
SH_QTY Number Shipment quantity
SH_DETAIL Char(20) shipment detail
TRACKING FILE
Data-field Data-type Description
T_NO(PK) Numeric Tracking Number.
SH_ID(FK) Numeric Shipment ID
C_ID(FK) Numeric Client id
BOOK_ID(FK) numeric Booking id
T_DETAIL VarChar(50) Tracking Details
43
REGISTRATION FILE
Data-field Data-type Description
U_ID(PK) Numeric User ID
U_NAME Varchar(50) Name of User
U_EMAIL VarChar(50) User E-mail
U_PASSWORD VarChar(50) User password
U_SEX varChar(50) User sex
U_SQ VarChar(50) User security question
U_ANS VarChar(50) User security answer
BOOKING FILE
Data-field Data-type Description
BOOK_ID(PK) Numeric Booking id
SH_ID Numeric Shipment id
C_ID Numeric Client id
B_date Date Booking date
B_src VarChar(50) Booking source
B_dsc Varchar(50) Booking destination
B_contact Varchar(50) Booking contact number
44
TOOLS/PLATEFORM, HARDWARE
& SOFTWARE REQUIREMENTS
HARDWARE :-
Processor : DUAL CORE
RAM : 1 GB
Hard disk : 320 GB
Monitor : 16” color
45
FUTURE SCOPE:-
This website is developed to fulfill user and business requirement; however there is
lots of scope to improve the performance of the packers and movers shipping System
in the area of user interface, database performance, and query processing time. Etc.
So there are many things for future enhancement of this project. The future
enhancements that are possible in the project are as follows.
This website can be converted into distributed web-based with little modification. The
company has Plan to develop VPN in future.
46
47
TABLE OF CONTENTS
TOPIC PAGE
Introduction 48
Objective 50
Bibliography 203
48
Introduction:-
The “Universal packers & movers Pvt. Ltd” was established in year 1996. It is the
premier company in the packers and movers sector in India. It delivers status and
notification system is being developed for the need of company running simultaneously
packers & movers service this is specially meant their frontline user service
information. This is one of the best efforts by us to prove that how packing and moving
can be helpful in service industry where inquiries are always in queue. From our born
we provide highly reliable parcel and express services as well as value-added customer-
specific total transport solutions. The company provides a professional moving and
packing services to their businesses partners which are designed to be cost effective.
With excellent customer service, Customers can count on us to deliver best
performance on their behalf. We always provide our services with our some very much
professional Staffs. They know how much valuable your items or parcels’ are.
We Movers and Packers Delhi NCR do good shifting in all the major cities of India
and our domain covers all the sectors which includes
6. Household/Residential/Domestic shifting
7. Office/factory/machinery/Computers Shifting
8. Warehouse Services.
9. Transport Services
10. Packing and moving services
Our Infrastructure:-
We claim our self as the best company because we are backed with the latest
infrastructure, which ensure the fastest and safest deliver of goods on time. Universal
Packers and Movers Company in Delhi NCR have a wide network and well equipped
with the best manpower available in the industry, they have experience as well as the
expertise to do their work in the best possible manner. Our team is professional and
well mannered, they do their work perfectly in limited time, the work would be so
smooth that the shifting experience with us would be the most pleasant. We believe in
serving high quality at most affordable price as our aim is not to maximize profit but
to maximize client satisfaction so that they get associate with us for all their shifting
requirement , this is the reason we never compromise on the quality of packing
material as the safety of goods is our prime concern. We have the most latest and best
in quality equipments used while shifting of goods as well as the infrastructure to move
the goods from one area to another area, this ensure our client’s that there would be
no delay in receiving goods.
Universal packers and movers company in Delhi NCR is also the number 1 company
in providing best quality warehouses, which are clean, ventilated and spacious. All the
warehouses we use to keep the goods are our own and well maintained, if you visit
them personally, you would realize that the goods here would be kept safely
49
Our Mission: - Customer satisfactions are our best asset & headache, so it will be
make us active and serious and will secure our success. We will stay by our theme
make us pride in what we do. This will ensure to maintain a work environment where
people enjoy coming to work and make him proud with fast express
Our Vision:-“To be recognized and professional as one of the leading packers and
movers company in the world by providing responsive, efficient, reliable and high
quality services to our valuable clients.”
50
Objectives:
The objective of the project” Universal online Packers & movers Management
System” is to develop a website to deal with the clients and packing and moving
management. Tracking and status of the packing and moving will be easily maintained
by the website. Queries among the officers regarding handling etc., user complaints
are registered to help us get to better feedback for our failures as a hospitable interface.
Providing an interactive interface for the user query for online status of the
items booked for packing and moving using the .net technology.
All interface has lot to do when proper interaction and attraction is necessary.
Helping the user to search booked item for packing and moving as well as
status of it.
It should provide better tracking of the booked items.
Online updating of items status through intermediate and end office regarding truck
no, status, reloading of cargo from one truck to other truck etc. It Provides secured
Environment for secure data access whatever necessary. Retrieval of data from
database using easy buttons links and interfaces in a very fast and efficient manner.
Online updating of all type of data is available here.
User Satisfaction:
Our goal as a successful company in the field of packers and movers is focused towards
satisfaction of website user .With the confidence of quality services, we can obtain a
wide base of clients and individuals in the Advertise. Apart from the quality of fast
shipment, we have always given importance to timeliness in our processing, cost
effectiveness in our packing and moving transparency in our dealings. We also
ascertain open line of communications with our clients at all levels to ensure that they
are left fully contented. This has helped us in attaining a trustworthy and satisfied
client base across the country.
We want to provide better packing and moving services with the help of computerized
system, own company Website, we provide a better client service. The main motive of
the website design to provide the solution of client management, shipment
management, and packers & movers booking management, generate reports, graphs
based one client analysis, Staff analysis and Advertise analysis etc.
51
Software Requirements
Specification
We want to provide better consultancy service with the help of website. The main motive
of the website design is to provide the solution for customer management, generate
reports, graphs based candidate analysis, employer analysis and job market analysis etc.
SYSTEM ANALYSIS
SYSTEM ANALYSIS
Analysis Methodology
Feasibility Analysis
Cost Estimation Sheet
Choice of the Platform
Software Specificati
Hardware Specification
52
ANALYSIS METHODOLOGY
very important; If the correct objectives are not identified, the correct problem will not be solved!
consult others
use multi-disciplinary team
may have multiple objectives
determine your client - usually person paying the bill!
establish the needs of the client - sometimes difficult to establish
identify the clients single most important objective
choose a measure of effectiveness
discuss the project objective with the client
insure that the client clearly understands and agrees with the project objective
2. Quantification of objectives
Identify and write objective function - this is a quantitative expression of the goals or objectives of the
project
objective function might take on the form F=G(X1, X2, X3, ..., Xn) where Xi's are independent variables
and represent values of parameters under the control of the systems analyst
constraint set should be identified; The constraint set consists of equations that define the domain of
feasible solutions. For example, in determining the optimum mix of corn and soybeans to plant on a 450
hectare farm, a constraint on the amount of land that can be used might be written as: Corn Hectares +
Soybean Hectares <= 450.
4. Evaluation of alternatives
Optimum solution - the combination of resources that best meets the stated objective(s) and
satisfies all constraints.
Types of models:
iconic - physical models that are images of the real world; dimensions are usually scaled up or down; for
example, models of cars might be constructed and tested in a wind tunnel
analog - model that substitutes one set of properties for another; may be iconic or mathematical;
electric resistance often used as an analog of the friction of a fluid flowing in a pipe; this approach is not
as widely used as at one time - digital computers have allowed the development of other modeling
techniques that have replaced analog models
stochastic - probabilistic model that uses randomness to account for unmeasurable factors (e.g.,
weather)
deterministic - model that does not use randomness but uses explicit expressions for relationships that
may or may not involve time rates of change
discrete - model where state variables change in steps as opposed to continuously with time (e.g.,
number of cattle in a barn); may be deterministic or stochastic
continuous - model whose state variables change continuously with time (e.g., biomass in a field);
usually sets of differential equations used; initial conditions required (can be difficult to obtain for some
systems!)
combined - model where some state variables change continuously and others change in steps at event
times; for example, a field of hay might be modeled using a combined approach with the biomass
modeled continuously during growth and then as a discrete event when harvested
mathematical - abstract model usually written in equation form
object-oriented - use objects that are abstractions of real world objects and develop relationships and
actions between objects; comes from field of artificial intelligence
heuristic - heuristics (rules) are used to model the system; comes from field of artificial intelligence
The goal of the requirement analysis is to produce the software requirement specification
document also known as the requirement document.
1. Detailed investigation: -
This involves a through understanding of the existing system, the part of which must
be automated. A clear understanding is needed of the important data entities in the
system, the purpose of different actions that are performed and the inputs and
54
outputs. This requires interacting with the clients and the end users, as well as
studying the existing manuals and procedures.
This involves determining what the new system should provide. These requirements
should satisfy the needs of the client.
INPUTS: Once we know that we can easily determine what the inputs should be.
Sometimes, it may happen that required information may not be readily available in the
proper form. This may be because of the existing forms are not properly designed.
Sometimes, it may not be possible to get the required information without the help of top
management. Some of the input tables are :
1. Registration
2. Booking
3. Staff
4. Transaction
5. Salary
Accuracy: - If the data is not accurate, the out put will be wrong.
Timeliness:- If data is not obtained in time, the entiere system fall into
arrears.
Proper format:- The inputs must be available in proper format.
Economy : - The data must be produced at the least cost.
OUTPUTS:
1. First of all, we must determine what the objectives or goals are, what do we intend
to achieve, what is the purpose of our work; in other words, what is the main aim
behind the system. Defining aim is very vital in system work. If we do not know
where we want to go, we will not know when we have reached there. Once we
know our aim, we can try to achieve it in the best possible way.
FILES: - As the word implies files are used to store data. Most of the inputs necessary
for the system may be historical data, or it may be possible that these are generated
55
from within the system. These are stored in files either in terms of isolated facts or in
large volumes.
PROCESSES:- Here we come to the details of how the inputs and files are converted into
outputs. This involves the programs and the way in which data is processed through the
computer. The processing involves a set of logical steps. These steps are required to be
instructed to the computer and this is done by a series of instructions called “programs”.
After gathering sufficient data to understand how the existing system operates, a proper
study on data should be made for evaluating the current operation.
From the analysis, design requirements are formulated. The requirements for the new
system are those features that must be incorporated to produce the improvements. The
new system should have the following features:
56
METHODOLOGY ADOPTED
The project follows the waterfall model. This states that the phases are
organized in a linear order. It is also known as linear order. It is also known as
linear sequential model.
There are two basic assumptions for justifying the linear ordering of phases in the
manner proposed by the water fall model.
For a successful product, all phases listed in the water fall model must be
performed any way.
Any different ordering of the phases will be reused in a lesssuccessful s/w
product.
57
formal software development methodologies existed at the time, this
hardware-oriented model was simply adapted for software development.
58
SOFTWARE FEASIBILITY
A feasibility study is carried out to select the best system that meets performance requirements.
The main aim of the feasibility study activity is to determine whether it would be financially and
technically feasible to develop the product. The feasibility study activity involves the analysis of the
problem and collection of all relevant information relating to the product such as the different data
items which would be input to the system, the processing required to be carried out on these data,
the output data required to be produced by the system as well as various constraints on the
behaviour of the system.
Technical Feasibility
This 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.
• Ability to process a certain volume of transaction at a particular speed.
• Facility to communicate data to distant locations.
In examining technical feasibility, configuration of the system is given more importance than the
actual make of hardware. The configuration should give the complete picture about the system’s
requirements:
How many workstations are required, how these units are interconnected so that they could
operate and communicate smoothly.
What speeds of input and output should be achieved at particular quality of printing.
Economic Feasibility
Economic analysis is the most frequently used technique for evaluating the effectiveness of a
proposed system. More commonly known as Cost / Benefit analysis, the procedure is to determine
the benefits and savings that are expected from a proposed system and compare them with costs. If
benefits outweigh costs, a decision is taken to design and implement the system. Otherwise, further
justification or alternative in the proposed system will have to be made if it is to have a chance of
being approved. This is an outgoing effort that improves in accuracy at each phase of the system life
cycle.
Operational Feasibility
This is mainly related to human organizational and political aspects. The points to be considered
are:
• What changes will be brought with the system?
• What organizational structure are disturbed?
• What new skills will be required? Do the existing staff members have these skills? If not, can they
be trained in due course of time?
This feasibility study is carried out by a small group of people who are familiar with information
system technique and are skilled in system analysis and design process.
Proposed projects are beneficial only if they can be turned into information system that will meet
the operating requirements of the organization. This test of feasibility asks if the system will work
when it is developed and installed.
Fact Finding
Fact finding means learning as much as possible about the present system.
Interviews personnel
Prepares questionnaires
Observes the current system
Gather forms and documents currently in use
Determines the flow of data through the system, and
Clearly determines the system requirements.
COST/BENEFIT ANALYSIS
The cost associated with the proposed business system are the
expenses arising from developing, installing, training and implementing
the system. The benefits are the advantages gained, including money
savings, from implementing the proposed system. Here we plan how
effective our project will be when it completely developed. Here we
checked whether this project benefitted us or not.
60
Worthwhile to invest in the proposed project. If the return on the
investment is high, then the project is considered economically
worthwhile.
TANGIBLE OR INTANGIBLE
61
FIXED OR VARIABLE:
Costs that are constant and do not change are fixed costs.
Variable costs are those that are incurred periodically and vary with
the volume of work.
DIRECT OR INDIRECT:
A new system that can handle 25% more transactions per day is
giving a direct benefit.
PROJECT PLANNING
Gantt chart is one of the techniques of project scheduling. Also known as bar
chart developed by Henry. L. Gantt. These charts show the graphical
representation of work on the time scale.
63
PERT (Program Evaluation and Review Technique)
PERT is a network planning method for managing and controlling large one-time projects. It is a technique
for scheduling complicated projects comprising many activities, some of which are interdependent.
A PERT network is a flowchart like diagram that depicts the sequence of activities needed to complete a
project and the time or costs associated with each activity.
b. An event (or node) represents a single point in time that is the beginning or the ending
of an activity.
4. Three time estimates for each activity are determined and an expected time is calculated for each
activity.
5. The critical path is the path of activities and events in the network that will take the longest time to
complete
a. Delays on any activities on the critical path mean that the project will be delayed.
b. Slack is the degree of latitude about when various activities can be started without
endangering the completion date of the entire project.
6. After the project has begun, actual times for completion of each activity are collected and recorded on
the PERT network so that any rescheduling and adjustments can be made as quickly as possible.
64
GANTT CHART OR TIME LINE CHART
A timeline chart can be developed for the entire project. Alternatively, separate charts can be
developed for each project function or for each individual working on the project.
When multiple bars occur at the same time on the calendar, task concurrency is implied. The
diamonds indicate milestones.
Once the information necessary for the generation of a timeline chart has been input, the majority
of software project scheduling tools produce project tables—a tabular listing of all project tasks,
their planned and actual start- and end-dates, and a variety of related information (Figure 1).
Used in conjunction with the timeline chart, project tables enable the project manager to track
progress.
Gantt chart is used for the time estimation of the project. A tabular form is maintained where
rows indicate the task and column indicates duration. The horizontal bar that spans across
column indicates duration of the task.
65
Phase Task 1st Week 2nd Week 3rd Week 4th Week
I Requirement analysis
II Database Design
IV Coding
V Quality assurance
VI Test cases
VII Testing
IX Implementation
66
The system design develops the architectural detail required to build a system or product. As
in the case of any systematic approach, this software too has undergone the best possible
design phase fine tuning all efficiency, performance and accuracy levels. The first step in
system designing is to determine how the output is to be produced and in what format.
Samples of the output and input are also presented. In the second step, input data and master
files are to be designed to meet requirement of the proposed output. The processing phases
are handled through program construction and testing, including a list of the programs needed
to meet the system’s objectives and complete documentation.
DESIGN METHODOLOGY
System design is the solution to the creation of a new system. This phase is composed of several
systems. This phase focuses on the detailed implementation of the feasible system.
It emphasis on translating design specifications to performance specification. System design has
two phases of development logical and physical design.
During logical design phase the analyst describes inputs (sources), out puts (destinations),
databases (data sores) and procedures (data flows) all in a format that meats the uses
requirements. The analyst also specifies the user needs and at a level that virtually determines the
information flow into and out of the system and the data resources. Here the logical design is
done through data flow diagrams and database design.
The physical design is followed by physical design or coding. Physical design produces the
working system by defining the design specifications, which tell the programmers exactly what
the candidate system must do. The programmers write the necessary programs that accept input
from the user, perform necessary processing on accepted data through call and produce the
required report on a hard copy or display it on the screen.
LOGICAL DESIGN
Logical design of an information system shows the major features and also how they are related
to one another. The first step of the system design is to design logical design elements. This is the
most creative and challenging phase and important too. Design of proposed system produces the
67
details of the state how the system will meet the requirements identified during the system
analysis that is, in the design phase we have to find how to solve the difficulties faced by the
existing system. The logical design of the proposed system should include the details that contain
how the solutions can be implemented. It also specifies how the database is to be built for storing
and retrieving data, what kind of reports are to be created and what are the inputs to be given to
the system. The logical design includes input design, output design, and database design and
physical design
PHYSICAL DESIGN
The process of developing the program software is referred to as physical design. We have to
design the process by identifying reports and the other outputs the system will produce. Coding
the program for each module with its logic is performed in this step. Proper software
specification is also done in this step.
MODULAR DESIGN
A software system is always divided into several sub systems that makes it easier for the
development. A software system that is structured into several subsystems makes it easy for the
development and testing. The different subsystems are known as the modules and the process of
dividing an entire system into subsystems is known as modularization or decomposition.
A system cannot be decomposed into several subsystems in any way. There must some logical
barrier, which facilitates the separation of each module.
The separation must be simple but yet must be effective so that the development is not affected.
The system under consideration has been divided into several modules taking in
consideration the above-mentioned criteria. The different modules are
Modules
Registration system
68
Staff management system
INPUT DESIGN
The input design is the link between the information system and the user. It comprises the
developing specification and procedures for data preparation and those steps are necessary to put
transaction data into a usable form for processing data entry. The activity of putting data into the
computer for processing can be achieved by inspecting the computer to read data from a written
or printed document or it can occur by having people keying the data directly into the system.
The design of input focuses on controlling the amount of input required, controlling errors,
avoiding delay, avoiding extra steps and keeping the process simple.
The system needs the data regarding the asset items, depreciation rates, asset transfer, physical
verification for various validation, checking, calculation and report generation.. The error raising
method is also included in the software, which helps to raise error message while wrong entry of
input is done. So in input design the following things are considered.
OUTPUT DESIGN
Computer output is the most important and direct information source to the user. Output design is
a process that involves designing necessary outputs in the form of reports that should be given to
the users according to the requirements. Efficient, intelligible output design should improve the
system's relationship with the user and help in decision making. Since the reports are directing
referred by the management for taking decisions and to draw conclusions they must be designed
with almost care and the details in the reports must be simple, descriptive and clear to the user.
So while designing output the following things are to be considered.
• Determine what information to present
• Arrange the presentation of information in an acceptable format
69
• Depending on the nature and future use of output required, they can be displayed on
the monitor for immediate need and for obtaining the hardcopy. The options for the output
reports are given in the appendix.
DATABASE DESIGN
The overall objective in the development of database technology has been to treat data as an
organizational resource and as an integrated whole. DBMS allow data to be protected and
organized separately from other resources. Database is an integrated collection of data. The most
significant form of data as seen by the programmers is data as stored on the direct access storage
devices. This is the difference between logical and physical data.
Database files are the key source of information into the system. It is the process of designing
database files, which are the key source of information to the system. The files should be
properly designed and planned for collection, accumulation, editing and retrieving the required
information.
The organization of data in database aims to achieve three major objectives: -
• Data integration.
• Data integrity.
• Data independence.
The proposed system stores the information relevant for processing in the MS SQL SERVER
database. This database contains tables, where each table corresponds to one particular type of
information. Each piece of information in table is called a field or column. A table also contains
records, which is a set of fields. All records in a table have the same set of fields with different
information. There are primary key fields that uniquely identify a record in a table. There are also
fields that contain primary key from another table called foreign keys.
Database
What is Normalization ?
Normalization is a process of eliminating Redundant data and storing the related
information in a table.
70
Each cell must have one value
Eliminating Duplicate Columns
Create a separate table for group of related data and each row must be identify by
primary key.
That means each cell must have single value and each row should be uniquely identified by
Primary key
For Example :
Rule 1. By applying above rule each cell must have one value above table changes like below
Rule 2 & 3 . By applying second rule and third rule no more duplicate columns and each row
must be unique is applied to above table.
From the above table we can see the column name and department are repeated in each row ,This
two columns can be maintained in another table and make a relationship between these two
tables
71
EmpId Name Department
1 Rajesh Computer
2 Suresh Electronics
3 Praba Civil
Id EmpId PhoneNumber
1 1 3452342
2 1 1234563
3 1 2345612
4 2 2398521
5 2 2323177
6 2 5302994
7 3 3958218
In the above table Empid is played as Primary key for the first table and foreign key for the
second table.
Must be in 2NF
Separate the columns that are not dependent upon the primary key of the table.
From the above table you can see that Tax Column is not dependent on Product Primary key
column, It is dependent on Price so we separate that in to two different table.
Product Price
LED 23000
AC 15000
Fridge 12000
Price Tax
23000 20%
15000 10%
12000 15%
It should be in 3NF
72
The non key columns should be dependent on full primary key instead of partial key , If
then separate it.
From the following table "EmployeeName" Non-Key column not dependent on full primary key
"ManagerId,EmployeeId,TaskID" it depends upon the EmployeeId Partial Key so it can be
separated.
EmployeeId EmployeeName
E1 Rajesh
That's it from this article we can see the normalization and there concepts Fully.
73
DFD (DATA FLOW DAIGRAM)
MANAGEMENT
PROVIDE
QUERY ABOUT PACKERS
REPORT
AND MOVERS WORKING
REPORT STAFF
INFOR-
ENQUIRY ABOUT
MATION
SALARY AND
0.0 ENQUIRY DETAILS
PROVI-
DED
online packers
& movers
REQUEST FOR management
BOOKING System
SHIPMENT
PROVIDE RECIPT
BANK
CLIENT
74
CLIENT
1.0
PROVIDE INFORMATION
CONFIRMATION PROVIDED
REGISTRATION
SYSTEM
REQUEST FOR INFORMATION ABOUT
REGISTRATION REGISTRATION AND
AND LOGIN LOGIN REPORT
STAFF
RECORD INSERTED
MANAGEMENT
RECORD RETRIEVED
REGISTRATION FILE
75
CLIENT
PROVIDE
REQUEST FOR PACKING
DETAIL
AND MOVING ITEM
STATUS
2.0
PROVIDE STATUS
PACKERS AND PROVIDE REPORT
DETAIL
MOVERS
TRACKING
SYSTEM
REQUEST ABOUT QUERY ABOUT CARGO
SHIPMENT AND COURIER
TRACKING TRACKING REPORT
TRANSACTION
STAFF
RECORD INSERTED
MANAGEMENT
RECORD RETRIEVED
TRACKING FILE
76
CLIENT
PROVIDE
STATUS AND REQUEST FOR SHIPMENT DELIVERY
NOTIFICATION STATUS NOTIFICATION DETAIL
3.0
REPORT PROVIDED
CONFIRMATION PROVIDED DELIVERY
STATUS
NOTIFICATION
STAFF
RECORD INSERTED
MANAGEMENT
RECORD RETRIEVED
DELIVERY FILE
77
CLIENT
4.0
PROVIDE REPORT
DETAIL
PACKERS AND DETAIL
PROVIDEND
MOVERS
BOOKING
MANAGEMENT
REQUEST FOR QUERY ABOUT BOOKED
SYSTEM
BOOKING SHIPMENT REPORT
SHIPMENT
DETAIL &
TRANSACTION
RECORD INSERTED
MANAGEMENT
RECORD RETRIEVED
STAFF
BOOKING FILE
78
CLIENT
5.0
CONFIRMATION REPORT PROVIDED
PROVIDED
USER QUERY
HANDLING
REQUEST SYSTEM QUERY ABOUT CLIENT
ABOUT CLIENT QUERY HANDLIG
QUERY DETAIL REPORT
TRANSACTION
STAFF
RECORD INSERTED
MANAGEMENT
RECORD RETRIEVED
QUERY FILE
79
MANAGEMENT STAFF
STAFF
MANAGEMENT
SYSTEM
RECORD INSERTED
RECORD RETRIEVED
STAFF FILE
80
MANAGEMENT STAFF
7.0
CLIENT
MANGEMENT
PROVIDE DETAILS
RECORD INSERTED
SYSTEM
QUERY ABOUT RECORD RETRIEVED
MOVING AND
PACKING SHIPMENT
STATUS INFO
81
MANAGEMENT STAFF
ADVERTISMENT
MANAGEMNT
RECORD INSERTED
SYSTEM
RECORD RETRIEVED
ADVERTISING FILE
82
MANAGEMENT STAFF
9.0
EXPENSE
MANAGEMET
RECORD INSERTED
PROVIDE DETAILS
SYSTEM
INFORMATION RECORD RETRIEVED
ABOUT
TRANSACTION
83
STAFF LOGIN FILE
ENQUIRY ABOUT
INFORMATION
INSERTED
LOGIN-ID AND PRVIDE
RECORD
PROVIDED
PASSWORD CONFIRMATION
1.1
USER SIGNUP
SYSTEM
INFORMATION
INFORMATION
QUERY
ABOUT THE PROVIDED
PROVIDED
REQUEST FOR
USERNAME & REGISTERED
PASSWORD USERS
CLIENT MANAGEMENT
INFORMATION
1.2
LOGIN
SYSTEM
RECORD INSERTED
REQUEST FOR
REQUEST
RECORD LOGIN
ACCEPTED
RETRIEVED / REJECTED
INSERTED
DELEVERRD STATUS PROVIDE
RECORD
TRANSACTION CONFIRMATION
PROVIDE
2.1
DELIVERED
STATUS VIEW
SYSTEM
PROVIDE STATUS
CLIENT MANAGEMENT
REQUEST FOR QUERY ABOUT
ACCEPTED /
TRACKING TRACKING
REJECTED
REQUEST
HISTORY HISTORY
PROVIDE
DETAILS
2.2
HISTORY
TRACKING
RECORD INSERTED
85
STAFF NOTIFICATION FILE
REQUEST FOR
DELEVERRD STATUS PROVIDE
NOTIFICATION CONFIRMATION
INSERTED
RECORD
PROVIDE
TRANSACTION
DETAIL
3.1
DELIVERD
STATUS
NOTIFICATION
SYSTEM
PROVIDE STATUS
REPORT
QUERY ABOUT
PROVIDED
REQUEST FOR DELIVERED
DELIVERED STATUS STATUS
NOTIFICATION NOTIFICATION
REPORT
CLIENT MANAGEMENT
REQUEST QUERY ABOUT IN
ACCEPTED /
NOTIFICATION
PROVIDE
REPORT
3.2 REPORT
IN PROCESS
STATUS
NOTIFICATION
RECORD INSERTED
REAQUEST
VIEW SYSTEM REQUEST
ABOUT IN
RECORD ACCEPTED /
PROCESS
RETRIEVED REJECTED
NOTIFICATION
TRANSACTION
86
STAFF BOOKING FILE
REQUEST FOR
SHIPMENT PROVIDE
CONFIRMATION
INSERTED
BOOKING
RECORD
PROVIDE
TRANSACTION
DETAIL
4.1
PACKERS AND
MOVERS
BOOKING
SYSTEM
PROVIDE STATUS
CLIENT MANAGEMENT
REQUEST FOR QUERY ABOUT
BOOKIG DETAIL PACKERS &
ACCEPTED /
REJECTED
REQUEST
MOVERS DETAIL
PROVIDE
DETAILS
4.2
PACKERS &
MOVERS
RECORD INSERTED
BOOKING REQUEST
DETAIL SYSTEM ABOUT REQUEST
RECORD ANALYSIS BOOKING ACCEPTED /
RETRIEVED ANALYSIS REJECTED
TRANSACTION
87
STAFF INFORMATION FILE
REQUEST FOR PROVIDE
PACKERS & MOVERS CONFIRMATION
PROVIDE
INSERTED
INFORMATION
DETAIL
RECORD
TRANSACTION 5.1
INFORMANTION
ABOUT
PACKERS &
MOVERS
SYSTEM
PROVIDE STATUS
REPORT
QUERY ABOUT
PROVIDED
PACKERS &
REQUEST ABOUT
MOVERS
PACKERS &
REPORT
MOVERS
CLIENT MANAGEMENT
SERVICE
REJECTED
ABOUT SERVICE
REQUEST
COMPLAIN COMPLAIN
5.2
PROVIDE
DETAILS
REPORT
COMPLAINT
HANDLING
SYSTEM
RECORD INSERTED
CONFIRMATION
INSERTED
TRANSACTION
RECORD
6.1
PROVIDE
STAFF RECORD
ENTRY SYSTEM
MANAGEMENT
QUERY ABOUT
STAFF INCENTIVE
6.2 REPORT
PROVIDE
REPORT
STAFF
INCENTIVE
MANAGEMENT
SYSTEM
RECORD INSERTED
REQUEST
ACCEPTED /
RECORD RQUEST FOR REJECTED
RETRIEVE INCENTIVE
D TRANSACTION
89
STAFF CLIENT FILE
PRVIDE
INSERTED
TRANSACTION
RECORD
CONFIRMATION
PROVIDED
7.1
NEW CLIENT
REGISTRATION
SYSTEM
PROVIDE RECORD
CONFIRMATION
QUERY ABOUT
THE
PROVIDE
CLIENT MANAGEMENT
REQUEST FOR QUERY ABOUT CLIENT
PROVIDE REPORT
REGISTRTION REGISTRATION
ACCEPTED /
DETAILS EDITING
MODIFICATION REPORT
REJECTED
REQUEST
7.2
CLIENT
REGISTRATION
MODIFICATION
SYSTEM REQUEST FOR CLIENT REQUEST
RECORD INSERTED
REGISTRATION ACCEPTED /
RECORD MODIFIFCATION REJECTED
RETRIEVED REPORT
TRANSACTION
90
STAFF ADVERTISING FILE
REQUEST FOR
ADVERTISMENT & PROVIDE
CONFIRMATION
INSERTED
PROMOTION CONFIRMATION
RECORD
TRANSCTION 8.1
PROVIDE
ADVERTISMENT
& PROMOTION
DETAIL ENTRY
SYSTEM
PROVIDE
QUERY ABOUT
RECORD
ADVERTISMENT
& PROMOTION
REPORT
MANAGEMENT
QUERY ABOUT
MODIFICATION
REPORT
8.2
PROVIDE
REPORT
ADVERTISING
DETAIL
MODIFICATION
SYSTEM
RECORD INSERTED
91
STAFF EXPENSE FILE
REQUEST FOR
CONFIRMATION
TRANSACTION PRVIDE
INSERTED
RECORD
CONFIRMATION
PROVIDE
9.1
DAILY
EXPENSE
ENTRY
SYSTEM PROVIDE REPORT
CONFIRMATION
QUERY AOUT
REUEST FOR EXPENSES
PROVIDE
SHIPMENT REPORT
EXPENSES
CLIENT MANAGEMENT
QUERY ABOUT
PROVIDE REPORT
TRANSPORT
EXPENSE REPORT
9.2
TRANSPORT
EXPENSE
SYSTEM PROVIDE
REQUEST FOR
RECORD INSERTED
TRANSPORT CONFIRMATION
RECORD EXPENSE
RETRIEVED TRANSACTION
92
ER-DIAGRAM
DS_DETAIL DS_ID
GETS M 1 HAS
C_ID C_NAME REPO
DELIVERY STATUS
RT OF DS_TIM
C_PH.N
C_EMAIL 1
O. SH_DETAIL
1 SH_ID
CLIENT SH_TYP
1 C_AD E
1 1 BOOK
S
SHIPMENT 1
C_CON
C_SEX M
1
IS
VIEWD HAS
T_ID
PAYS
1 1
TO TRACKING
MAKE
1
M
S T_DETAI
GETS
REPORT M
1 OF
M_NAM
M_AD
1
GETS IS
1
MANAGEMENT REPOR DELIVER
TS OF D BY
1
M_TYP
MAKE
S
UPDAT
ES
B_NAME N
B_ID S_D
B_AD OB S_ID
1 M
1 M
BANK 93
M
B_BRANCH B_TEL S_DOJ M S_NAM
JSP(Java Server Pages)
Oracle 10g
Java Script
Windows 7
JSP technology is used to create web application just like Servlet technology. It can be thought
of as an extension to servlet because it provides more functionality than servlet such as
expression language, jstl etc.
A JSP page consists of HTML tags and JSP tags. The jsp pages are easier to maintain than
servlet because we can separate designing and development. It provides some additional
features such as Expression Language, Custom Tag etc.
As depicted in the above diagram, JSP page is translated into servlet by the help of JSP
translator. The JSP translator is a part of webserver that is responsible to translate the JSP
page into servlet. Afterthat Servlet page is compiled by the compiler and gets converted into
the class file. Moreover, all the processes that happens in servlet is performed on JSP later
like initialization, committing response to the browser and destroy.
Let's see the simple example of JSP, here we are using the scriptlet tag to put java code in
the JSP page. We will learn scriptlet tag later.
95
1. <html>
2. <body>
3. <% out.print(2*5); %>
4. </body>
5. </html>
96
JavaScript is the language for the web, for HTML, for servers, PCs, laptops, tablets, cell phones,
and more.
JAVA SCRIPT
Example
x = document.getElementById("demo"); //Find the HTML element with id="demo"
x.innerHTML = "Hello JavaScript"; //Change the content of the HTML element
JavaScript Where To
In HTML, JavaScripts must be inserted between <script> and </script> tags.
JavaScripts can be put in the <body> and in the <head> section of an HTML page.
97
Example
<script>
function myFunction()
{
document.getElementById("demo").innerHTML="My First JavaScript Function";
}
</script>
JavaScript in <head>
In this example, a JavaScript function is placed in the <head> section of an HTML page.
The function is called when a button is clicked:
Example
<!DOCTYPE html>
<html>
<head>
<script>
function myFunction()
{
document.getElementById("demo").innerHTML="My First JavaScript Function";
}
</script>
</head>
<body>
<h1>My Web Page</h1>
<p id="demo">A Paragraph</p>
<button type="button" onclick="myFunction()">Try it</button>
98
</body>
</html>
JavaScript in <body>
In this example, a JavaScript function is placed in the <body> section of an HTML page.
The function is called when a button is clicked:
Example
<!DOCTYPE html>
<html>
<body>
External JavaScripts
Scripts can also be placed in external files. External files often contain code to be used by
several different web pages.
External JavaScript files have the file extension .js.
To use an external script, put the name of the script file in the source (src) attribute of the
<script> tag:
Example
<!DOCTYPE html>
<html>
<body>
<script src="myScript.js"></script>
</body>
</html>
99
ORACLE
The Oracle Database (commonly referred to as Oracle RDBMS or simply as Oracle) is an
object-relational database management system produced and marketed by Oracle
Corporation.
Larry Ellison and his friends, former co-workers Bob Miner and Ed Oates, started the
consultancy Software Development Laboratories (SDL) in 1977. SDL developed the original
version of the Oracle software. The name Oracle comes from the code-name of a CIA-funded
project Ellison had worked on while previously employed by Ampex.
Storage
The Oracle RDBMS stores data logically in the form of tablespaces and physically in the form
of data files ("datafiles"). Tablespaces can contain various types of memory segments, such
as Data Segments, Index Segments, etc. Segments in turn comprise one or more extents.
Extents comprise groups of contiguous data blocks. Data blocks form the basic units of data
storage.
A DBA can impose maximum quotas on storage per user within each tablespace.
Partitioning
Newer versions of the database can also include a partitioning feature: this allows the
partitioning of tables based on different set of keys. Specific partitions can then be easily
added or dropped to help manage large data sets.
Monitoring
Oracle database management tracks its computer data storage with the help of information
stored in the SYSTEM tablespace. The SYSTEM tablespace contains the data dictionary—and
often (by default) indexes and clusters. A data dictionary consists of a special collection of
tables that contains information about all user-objects in the database. Since version 8i, the
Oracle RDBMS also supports "locally managed" tablespaces which can store space
management information in bitmaps in their own headers rather than in the SYSTEM tablespace
(as happens with the default "dictionary-managed" tablespaces). Version 10g and later
100
introduced the SYSAUX tablespace which contains some of the tables formerly stored in the
SYSTEM tablespace, along with objects for other tools such as OEM which previously required
its own tablespace.
Disk files
This section requires expansion. (September 2009)
Data and index files: These files provide the physical storage of data, which can consist of the
data-dictionary data (associated to the tablespace SYSTEM), user data, or index data. These files
can be managed manually or managed by Oracle itself ("Oracle-managed files"). Note that a
datafile has to belong to exactly one tablespace, whereas a tablespace can consist of multiple
datafiles.
Redo log files, consisting of all changes to the database, used to recover from an instance failure.
Note that often a database will store these files multiple times, for extra security in case of disk
failure. The identical redo log files are said to belong to the same group.
Undo files: These special datafiles, which can only contain undo information, aid in recovery,
rollbacks, and read-consistency.
Archive log files: These files, copies of the redo log files, are usually stored at different locations.
They are necessary (for example) when applying changes to a standby database, or when
performing recovery after a media failure. It is possible to archive to multiple locations.
Tempfiles: These special datafiles serve exclusively for temporary storage data (used for example
for large sorts or for global temporary tables)
Control file, necessary for database startup. "A binary file that records the physical structure of a
database and contains the names and locations of redo log files, the time stamp of the database
creation, the current log sequence number, checkpoint information, and so on."[9]
At the physical level, data files comprise one or more data blocks, where the block size can
vary between data files.
Data files can occupy pre-allocated space in the file system of a computer server, utilize raw
disk directly, or exist within ASM logical volumes.[10]
Database schema
Most Oracle database installations traditionally came with a default schema called SCOTT. After
the installation process has set up the sample tables, the user can log into the database with
the username scott and the password tiger. The name of the SCOTT schema originated with
Bruce Scott, one of the first employees at Oracle (then Software Development Laboratories),
who had a cat named Tiger.
Oracle Corporation has de-emphasized the use of the SCOTT schema, as it uses few of the
features of the more recent releases of Oracle. Most recent examples supplied by Oracle
Corporation reference the default HR or OE schemas.
Other default schemas include:
101
System Global Area
Main article: System Global Area
Each Oracle instance uses a System Global Area or SGA—a shared-memory area—to store its
data and control-information.[16]
Each Oracle instance allocates itself an SGA when it starts and de-allocates it at shut-down
time. The information in the SGA consists of the following elements, each of which has a fixed
size, established at instance startup:
Datafiles
Every Oracle database has one or more physical datafiles, which contain all the database data.
The data of logical database structures, such as tables and indexes, is physically stored in the
datafiles allocated for a database.
Datafiles have the following characteristics:
One or more datafiles form a logical unit of database storage called a tablespace.
Data in a datafile is read, as needed, during normal database operation and stored in the
memory cache of Oracle Database. For example, if a user wants to access some data in a
table of a database, and if the requested information is not already in the memory cache for
the database, then it is read from the appropriate datafiles and stored in memory.
Modified or new data is not necessarily written to a datafile immediately. To reduce the amount
of disk access and to increase performance, data is pooled in memory and written to the
appropriate datafiles all at once
the redo log buffer: this stores redo entries—a log of changes made to the database. The
instance writes redo log buffers to the redo log as quickly and efficiently as possible. The redo
log aids in instance recovery in the event of a system failure.
the shared pool: this area of the SGA stores shared-memory structures such as shared SQL areas
in the library cache and internal information in the data dictionary. An insufficient amount of
memory allocated to the shared pool can cause performance degradation.
the Large pool Optional area that provides large memory allocations for certain large processes,
such as Oracle backup and recovery operations, and I/O server processes
Database buffer cache: Caches blocks of data retrieved from the database
KEEP buffer pool: A specialized type of database buffer cache that is tuned to retain blocks of
data in memory for long periods of time
RECYCLE buffer pool: A specialized type of database buffer cache that is tuned to recycle or
remove block from memory quickly
nK buffer cache: One of several specialized database buffer caches designed to hold block sizes
different than the default database block size
Java pool:Used for all session-specific Java code and data in the Java Virtual Machine (JVM)
Streams pool: Used by Oracle Streams to store information required by capture and apply
When you start the instance by using Enterprise Manager or SQL*Plus, the amount of memory
allocated for the SGA is displayed.
102
Library cache
The library cache stores shared SQL, caching the parse tree and the execution plan for every
unique SQL statement. If multiple applications issue the same SQL statement, each application
can access the shared SQL area. This reduces the amount of memory needed and reduces the
processing-time used for parsing and execution planning.
Data dictionary cache
The data dictionary comprises a set of tables and views that map the structure of the database.
Oracle databases store information here about the logical and physical structure of the
database. The data dictionary contains information such as:
The Oracle instance frequently accesses the data dictionary in order to parse SQL statements.
The operation of Oracle depends on ready access to the data dictionary: performance
bottlenecks in the data dictionary affect all Oracle users. Because of this, database
administrators should make sure that the data dictionary cache[19] has sufficient capacity to
cache this data. Without enough memory for the data-dictionary cache, users see a severe
performance degradation. Allocating sufficient memory to the shared pool where the data
dictionary cache resides precludes these particular performance problem.
Program Global Area
The Program Global Area[20][21] or PGA memory-area of an Oracle instance contains data and
control-information for Oracle's server-processes.
The size and content of the PGA depends on the Oracle-server options installed. This area
consists of the following components:
stack-space: the memory that holds the session's variables, arrays, and so on
session-information: unless using the multithreaded server, the instance stores its session-
information in the PGA. (In a multithreaded server, the session-information goes in the SGA.)
private SQL-area: an area which holds information such as bind-variables and runtime-buffers
sorting area: an area in the PGA which holds information on sorts, hash-joins, etc.
DBAs can monitor PGA usage via the V$SESSTAT system view.
Dynamic performance views
The dynamic performance views (also known as "fixed views") within an Oracle database
present information from virtual tables (X$ tables) built on the basis of database memory.
Database users can access the V$ views (named after the prefix of their synonyms) to obtain
information on database structures and performance.
Process architectures
Oracle processes
The Oracle RDBMS typically relies on a group of processes running simultaneously in the
background and interacting to monitor and expedite database operations. Typical operating
environments might include some of the following individual processes (shown along with their
abbreviated nomenclature):
The database world is becoming increasingly integrated, and this has led to a clamor for a standard
language that can be used to operate in many different kinds of computer environments. In our
increasingly interconnected computer world, a user equipped with such a language has tremendous
power to utilize and integrate information from a variety of sources in a great number of ways.
Client Server application development requires broadly dividing the application into two categories: -
104
Server Coding
Client Coding
It has emerged as the standard for query language for relational DBMSs. Its original version was called
SEQUEL. It is still pronounced as SEQUEL. SQL is both the data definition and data manipulation
language of a number of relational database systems e.g. SQL Server, Ingres, Sybase, Informix etc.
In any DBMS i.e. the DATABASE MANAGEMENT SYSTEM, a group of similar information of data which is
of interest to an organization is called an Entity.
Attributes: Each entity can have a number of characteristics. The characteristics of an entity are called
as Attributes.
The values for these characteristics are called Attribute values. There are following Data Types that are
used in the RDBMS SQL Server: -
CHAR (size) This Data type is used to store character strings values of fixed length. The size in
bracket determines the number of characters the cell can hold. The maximum is 255.
SQL Server compares CHAR values using blank-padded comparison semantics i.e. if a
values that is defined for then it will be padded with spaces on the right until it reaches
the size characters in length.
VARCHAR(size) / This data type is used to store variable length alphanumeric data. The maximum this
can hold is 2000 characters. SQL Server compares VARCHAR using non-padded
VARCHAR2 (size)
comparison semantics i.e. the inserted values will not be padded with spaces.
NUMBER (P,S) The number data type is used to store numbers (fixed or floating point). Numbers of
virtually any magnitude may be stored up to 38 digits of precision. The Precision(P),
determines the maximum length of the data, whereas the scale, (S) determines the
number of places to the right of the decimal. If the scale is omitted then the default is
zero. If precision is omitted, values are stored with their original precision upto the
maximum of 38 digits.
DATE This format is used to represent date and time. The standard format is DD-MM-
YY as in 21-JUN-98. To enter dates other than the standard format, use the
appropriate functions. DateTime stores date in the 24-hour format. By default,
105
the time in a date field is 12:00:00 am, if no time portion is specified. The
default date for a date field is the first day of the current month.
LONG This is used to store variable length character strings containing upto 2GB.
RAW / LONG RAW This is used to store binary data. Data loaded into columns of these types are stored
without any further conversion. RAW can have 255 bytes. LONG RAW data type can
contain up to 2GB. Values stored in columns having LONG TRAW cannot be indexed.
An SQL Statement starts with a verb. This verb may have additional nouns and
adjectives.
Each verb is followed by a number of clauses.
Each clause has one or more parameters. Beyond this no further decomposition is
allowed i.e. parameters cannot in turn have sub-parameters.
A space separates clauses within an SQL statement.
A coma separates parameters within a clause.
A semicolon is used to terminate the SQL statement.
To create a new table in SQL Server the command CREATE TABLE is used:
Syntax:
The second task is the insertion of data into the table so formed / created: =
When inserting a single row of data into the table the INSERT operation creates a new row in the
database table
106
INSERT INTO tablename (Columnname1, Columnname2) VALUES ('text value in
Col.1', value in Col.2);
The one thing to note is that the character expressions must be enclosed in single quotes ( ).
If there are exactly the same number of values as there are columns and the values are given in
accordance with the way the columns were created. There is no need to indicate the column names in
the sentence.
If there are less values being described than columns in the table then it is mandatory to indicate both
the table column name and its corresponding value in the insert into sentence.
SQL Server allows the user to use the meta character astrisk(*), which is expanded by SQL Server to
mean all columns in the table.
Mainly, for viewing the data in the table in SQL Server, only the following three type of queries can be
possible: -
107
a) Selected columns and all rows:
Syntax:
If the information of a particular client must be retrieved from the table, its retrieval must be based on a
specific condition.
SYNTAX :
SELECT * FROM tablename WHERE search condition;
To view a specific data set from the table and also a select number of columns.
Syntax:
And one thing is also important to mention here, since the duplication in such Entrance Examinations is
very common sort of thing. Elimination of duplicates from the select statement in SQL Server can be
done. This can be regarded as one of its advantages.
Syntax:
SELECT DISTINCT columname, columname FROM tablename;
Or
SELECT DISTINCT * FROM tablename;
SYNTAX
SELECT * FROM tablename ORDERBY columnname , columnname [sort order];
We can also create a table from an existing table or we can use an existing table’s columns.
108
Syntax:
CREATE TABLE tablename [(columnname, columname)] AS SELECT columnname,
columnname FROM tablename;
The source table is the table identified in the SELECT section. The target table is in the CREATE. This will
populate the target table with data from Source.
Syntax: -
INSERT INTO Tablename SELECT columnname, columnname FROM tablename;
Syntax: -
Insert into tablename select columnname, columnname from tablename where column
= expression;
In any database management, the operation of deletion of records / data is very significant.
The contents of a table can be updated at any point of time. For updating the contents of a table the
commands are as : -
DESTROYING TABLES
Syntax:
DROP TABLE tablename;
FINDING OUT ALL THE TABLES
Syntax:
SELECT * FROM TAB;
Crystal Reports
This gives an overview of the system. Further, Crystal Reports are also used, as these are a powerful and
easy to use tool for creating custom reports, lists and form letters using data from our existing
databases. The program works by establishing connections with one or more of our databases. Using
these connections as conduits, Crystal Reports draws in the values from database field we select and
uses them in report, either in their original form or as part of a formula that generates values that are
more sophisticated. Crystal reports was design to work with all kinds of data: numbers, currency, text,
dates, and Boolean (Yes/No) fields. It has a wide range of built in tool that can use to manipulate that
data to fit our needs.
Creating a Report
Crystal Reports is fast and very easy to learn. It requires very little time before you will be designing
interesting and informative reports for your needs. The following is a list of topics covering step by step
instructions for creating any report in Crystal Reports.
Use Custom Report to create a new report from scratch. When you choose the Custom Report command
while using another report, Crystal Reports creates a new report window and opens the new report in
that window. The report you were working on remains unchanged in its own window.
When you open a new report, Crystal Reports automatically creates five sections in the Design Window:
111
Title section: This section is generally used for the report title, and other information you want to
Page header section: This section is generally used for field headings, range of values included, and
other information that you want to appear at the top of each page.
Details section: This section is the body of the report. The bulk of your report data will generally
Page footer section: This section usually contains the page number and any other information that
Summary section: This section is generally used for including a written summary printed only on the
Each section is separated by a section marker which displays the section name.
You build your report by inserting data fields, formulas, and other report elements (record counts,
record numbers, etc.) in the Details section of the Designer. You use the Insert menu, in most cases, to
select or create the elements you want to insert on the report. The Design Window uses rectangular
field boxes to indicate the size, position, and data type of the fields and formulas you have inserted.
You add subtotals (and other group values) by selecting a field to summarize and then telling Crystal
Reports the conditions that are to generate a new summary(change of customer number, change of
sales rep, etc.). Crystal Reports creates group sections as needed and places the group value in the
section. Again, Crystal Reports uses rectangular field boxes to represent the group values.
You insert grand totals in the Grand Total section. This section appears when you select the field to
total and then select Insert|Grand Total or when you opt to place a summary field in the Grand Total
section. In both cases, Crystal Reports uses a rectangular field box, this time to identify the field in the
Grand Total section of the Design Window.
112
You can add freeform text anywhere on the report by positioning the insertion point in the section in
which you want the text to appear, typing in the text, and then using the Tab key to move it into
position. You can also type freeform text as a text field using the Insert|Text Field command; this allows
you to avail yourself of additional formatting options (alignment, hide options, etc.).
WINDOWS 7
Multitasking
Windows 7 is a multitasking, multithreaded operating system i.e. more than one thread
o a task can be executed at a given interface. Thread is smallest unit of execution. It is
the portion of the process of the OS to handle tasks of different applications at the same
time.
Scheduling technique
There are two scheduler function, the primary and the secondary scheduler. The primary
scheduler looks at all threads executing and gets their priorities. The secondary
scheduler boosts the priorities of the non – executing threads. This allows threads with
the low priority to get a chance to execute.
Multimedia
Window 7 offers a number of multimedia tools like CD Player, Mixer, Sound
Recorder and Media Player. Video clips can also be played.
113
Home Page:
114
Contact Us:
About Us
115
Register page:
Register.jsp:
<%@include file="header.jsp"%>
<div class="container" id="registrationContainer">
<p class="h1 text-center mb-3">Register</p>
<form action="registerProcess.jsp" method="post">
<div class="row">
<div class="col-md-6 mx-auto mb-4">
116
<div class="form-group">
<label for="name">Name</label> <input type="text"
class="form-control" name="name" required>
</div>
<div class="form-group">
<label for="email">Email</label> <input type="email"
class="form-control" name="email" required>
</div>
<div class="form-group">
<label for="pwd">Password</label> <input type="password"
class="form-control" name="pwd" required>
</div>
<div class="form-group">
<label for="gender">Gender</label><br> <input type="radio"
class="col-md-2" name="gender" value="Male"
checked>Male<input
type="radio" class="col-md-2" name="gender"
value="Female">Female
</div>
<div class="form-group">
<label for="sel1">Security Question:</label>
<select class="form-control" id="sel1" name="sq" required>
<option value="Who is your Best Friend?">Who is your
Best Friend?</option>
<option value="What is your First School Name?">What
is your First School Name?</option>
<option value="what is your Favourite Food?">what is
your Favourite Food?</option>
<option value="Who is your First Teacher?">Who is your
First Teacher?</option>
</select>
</div>
<div class="form-group">
<label for="ans">Answer</label> <input type="text"
class="form-control" name="ans" required>
</div>
<input type="submit"
class="button btn-primary btn-lg btn-block col-md-4 float-left"
value="register"><input type="reset"
class="button btn-primary btn-lg btn-block col-md-4 float-right"
value="clear">
</div>
</div>
</form>
117
</div>
<%@include file="footer.jsp"%>
registerProcess.jsp
<%@include file="header.jsp" %>
<%@page import="java.sql.*"%>
<%
try{
String name=request.getParameter("name");
String email=request.getParameter("email");
String password=request.getParameter("pwd");
String gender=request.getParameter("gender");
String sq=request.getParameter("sq");
String ans=request.getParameter("ans");
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection
conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","hr","hr");
PreparedStatement pstmt=conn.prepareStatement("insert into registration
values(reg_no.NEXTVAL,?,?,?,?,?,?,'user')");
pstmt.setString(1,name);
pstmt.setString(2,email);
pstmt.setString(3,password);
pstmt.setString(4,gender);
pstmt.setString(5,sq);
pstmt.setString(6,ans);
int result=pstmt.executeUpdate();
if(result>0){%>
<script>
alert("registration successful");
window.location.href='login.jsp';
</script>
<%
}
}
catch(Exception e){
e.printStackTrace();
}
%>
<%@include file="footer.jsp"%>
118
Login Page :
Login.jsp
<%@include file="header.jsp"%>
<div id="login_back">
<div class="container mb-5 pb-5">
<form style="float:left" class="form-signin" action="loginProcess.jsp">
<h1 class="h3 mb-3 font-weight-normal text-white text-center mt-3">Please sign in</h1>
<label for="inputEmail" class="sr-only">Email address</label>
<input type="email" name="email" class="form-control" placeholder="Email address" required
autofocus>
<label for="inputPassword" class="sr-only">Password</label>
<input type="password" name="password" class="form-control" placeholder="Password"
required>
<div class="checkbox mb-3">
<label>
<input type="checkbox" value="remember-me"><span class="text-white"> Remember
me</span>
</label>
</div>
<button class="btn btn-lg btn-primary btn-block" type="submit">Sign in</button>
</form>
</div>
</div>
<%@include file="footer.jsp"%>
119
loginProcess.jsp:
120
Booking Page:
bookingForm.jsp
<%
if(session.getAttribute("loginStatus")==null){
response.sendRedirect("login.jsp");
}
else{
121
%>
<%@include file="header.jsp"%>
<div class="container" id="registrationContainer">
<p class="h1 text-center mb-3">Fill Your Booking Details</p>
<form action="bookingProcess.jsp" method="post">
<div class="row">
<div class="col-md-6 mx-auto mb-4">
<div class="form-group">
<label for="b_date">Booking Date</label>
<input type="date" class="form-control" name="b_date">
</div>
<div class="form-group">
<label for="src">Booking Source</label>
<input type="text" class="form-control" name="src">
</div>
<div class="form-group">
<label for="desc">Booking Destination</label>
<input type="text" class="form-control" name="desc">
</div>
<div class="form-group">
<label for="contact">Contact</label>
<input type="tel" class="form-control" name="contact">
</div>
<input type="submit" class="button btn-primary btn-lg btn-block
col-md-4 float-left" value="Book">
<input type="reset" class="button btn-primary btn-lg btn-block
col-md-4 float-right" value="clear">
</div>
</div>
</form>
</div>
<%@include file="footer.jsp"%>
<%
}
%>
bookingProcess.jsp
<%
if(session.getAttribute("loginStatus")==null){
response.sendRedirect("login.jsp");
}
122
else{
%>
<%@include file="header.jsp" %>
<%@page import="java.sql.*"%>
<%
try{
int u_id=(Integer)session.getAttribute("u_id");
Date date=Date.valueOf(request.getParameter("b_date"));
String src=request.getParameter("src");
String desc=request.getParameter("desc");
String contact=request.getParameter("contact");
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection
conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","hr","hr");
PreparedStatement pstmt=conn.prepareStatement("insert into booking
values(b_id.NEXTVAL,?,?,?,?,(select u_id from registration where u_id=?))");
pstmt.setDate(1,date);
pstmt.setString(2,src);
pstmt.setString(3,desc);
pstmt.setString(4,contact);
pstmt.setInt(5,u_id);
int result=pstmt.executeUpdate();
if(result>0){%>
<script>
alert("Booking Successfull");
window.location.href='welcome.jsp';
</script>
<%
}
}
catch(Exception e){
e.printStackTrace();
}
%>
<%@include file="footer.jsp"%>
<%}%>
123
bookingView.jsp
<%
if(session.getAttribute("loginStatus")==null){
response.sendRedirect("login.jsp");
}
else{
%>
<%@include file="header.jsp"%>
<%@page import="java.sql.*"%>
<%
try {
int u_id=(Integer)session.getAttribute("u_id");
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection
conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","hr","hr");
PreparedStatement pstmt=conn.prepareStatement("select * from booking
where u_id=?");
pstmt.setInt(1,u_id);
ResultSet rs=pstmt.executeQuery();
%>
<div class="container-fluid">
<div class="pt-3 pl-3 float-left">
<a class="btn btn-primary btn-lg" href="bookingForm.jsp" role="button"><i class="fas
fa-file"></i> New Booking</a>
</div>
</div>
<form name="form">
<div class="table-responsive p-3">
<table border=1>
<tr >
<th>Booking ID</th>
<th>Date</th>
<th>Source</th>
124
<th>Destination</th>
<th>Contact</th>
<th>Edit</th>
<th>Delete</th>
</tr>
<%
while (rs.next()) {
%>
<tr>
<td><%=rs.getInt("book_id")%></td>
<td><%=rs.getDate("b_date")%></td>
<td><%=rs.getString("b_src")%></td>
<td><%=rs.getString("b_dsc")%></td>
<td><%=rs.getString("b_contact")%></td>
<td><a href="bookingEdit.jsp?book_id=<%=rs.getInt("book_id")%>"><span
class="fa fa-edit"></span></a></td>
<td><a href="bookingDelete.jsp?book_id=<%=rs.getInt("book_id")%>"
onclick="return confirm('Are you sure you want to delete this booking');"><span
class="fa fa-trash"></span></a></td>
</tr>
<%
}
} catch (Exception e) {
e.printStackTrace();
}
%>
</table>
</div>
</form>
<%@include file="footer.jsp"%>
<%
}
%>
125
bookingEdit.jsp
<%
if(session.getAttribute("loginStatus")==null){
response.sendRedirect("login.jsp");
}
else{
%>
<%@include file="header.jsp"%>
126
<%@page import="java.sql.*"%>
<%
try {
int book_id=Integer.parseInt(request.getParameter("book_id"));
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection
conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","hr","hr");
PreparedStatement pstmt=conn.prepareStatement("select * from booking
where book_id=?");
pstmt.setInt(1,book_id);
ResultSet rs=pstmt.executeQuery();
if(rs.next()){
session.setAttribute("book_id", rs.getInt("book_id"));
%>
<div class="container" id="registrationContainer">
<p class="h1 text-center mb-3">Edit Your Booking Details</p>
<form action="bookingEditProcess.jsp" method="post">
<div class="row">
<div class="col-md-6 mx-auto mb-4">
<div class="form-group">
<label for="b_date">Booking Date</label>
<input type="date" class="form-control"
name="b_date" value="<%=rs.getDate("b_date")%>">
</div>
<div class="form-group">
<label for="src">Booking Source</label>
<input type="text" class="form-control"
name="src" value="<%=rs.getString("b_src")%>">
</div>
<div class="form-group">
<label for="desc">Booking Destination</label>
<input type="text" class="form-control" name="desc"
value="<%=rs.getString("b_dsc")%>">
</div>
<div class="form-group">
<label for="contact">Contact</label>
<input type="tel" class="form-control"
name="contact" value="<%=rs.getString("b_contact")%>">
</div>
<input type="submit" class="button btn-primary btn-
lg btn-block col-md-4 float-left" value="Update">
<input type="reset" class="button btn-primary btn-lg
btn-block col-md-4 float-right" value="clear">
</div>
</div>
</form>
</div>
<% }
}
catch(Exception e){
e.printStackTrace();
}
%>
127
<%@include file="footer.jsp"%>
<%
}
%>
bookingEditProcess.jsp
<%
if(session.getAttribute("loginStatus")==null){
response.sendRedirect("login.jsp");
}
else{
%>
<%@include file="header.jsp" %>
<%@page import="java.sql.*"%>
<%
try{
int book_id=(Integer)session.getAttribute("book_id");
Date date=Date.valueOf(request.getParameter("b_date"));
String src=request.getParameter("src");
String desc=request.getParameter("desc");
String contact=request.getParameter("contact");
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection
conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","hr","hr");
PreparedStatement pstmt=conn.prepareStatement("update booking set b_date=?,
b_src=?, b_dsc=?, b_contact=? where book_id=?");
pstmt.setDate(1,date);
pstmt.setString(2,src);
pstmt.setString(3,desc);
pstmt.setString(4,contact);
pstmt.setInt(5,book_id);
int result=pstmt.executeUpdate();
if(result>0){%>
<script>
alert("Booking Updated");
window.location.href='bookingView.jsp';
</script>
<%
}
}
catch(Exception e){
e.printStackTrace();
}
%>
<%@include file="footer.jsp"%>
<%}%>
bookingDelete.jsp
128
<%
if(session.getAttribute("loginStatus")==null){
response.sendRedirect("login.jsp");
}
else{
%><%@page import="java.sql.*"%>
<%@include file="header.jsp" %>
<%
try{
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection
conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","hr","hr");
PreparedStatement pstmt=conn.prepareStatement("delete from booking where
book_id=?");
pstmt.setInt(1,Integer.parseInt(request.getParameter("book_id")));
int result=pstmt.executeUpdate();
if(result>0){%>
<script>
alert("Booking deleted");
window.location.href='bookingView.jsp';
</script>
<%
}
}
catch(Exception e){
e.printStackTrace();
}
%>
<%@include file="footer.jsp"%>
<%}%>
129
Transaction Page:
transactionForm.jsp
<%
if(session.getAttribute("loginStatus")==null){
response.sendRedirect("login.jsp");
130
}
else{
%>
<%@include file="header.jsp"%>
<div class="container">
<p class="h1 text-center mb-3">Transaction Operation</p>
<form action="transactionProcess.jsp" method="post">
<div class="row">
<div class="col-md-6 mx-auto mb-4">
<div class="form-group">
<label for="date">Date</label> <input type="date"
class="form-control" name="date" required>
</div>
<div class="form-group">
<label for="t_amt">Transaction Amount</label> <input type="text"
class="form-control" name="t_amt" required>
</div>
<div class="form-group">
<label for="t_mode">Mode of Transaction:</label>
<select class="form-control" id="sel1" name="t_mode">
<option value="Netbanking">Netbankig</option>
<option value="DebitCard">Debit card/Credit Card</option>
<option value="COD">COD</option>
</select>
</div>
<div class="form-group">
<label for="t__desc">Transaction Description</label> <textarea
class="form-control" name="t_desc" required></textarea>
</div>
<input type="submit" class="button btn-primary btn-lg btn-block col-md-
4 float-left" value="Make Payment">
<input type="reset" class="button btn-primary btn-lg btn-block col-md-4
float-right" value="clear">
</div>
</div>
</form>
</div>
<%@include file="footer.jsp"%>
<%
}
%>
131
Tracking List page:
userTrackingList.jsp
<%
if(session.getAttribute("loginStatus")==null){
response.sendRedirect("login.jsp");
}
else{
%>
<%@include file="header.jsp"%>
<%@page import="java.sql.*"%>
<%
try {
int u_id=(Integer)session.getAttribute("u_id");
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection
conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","hr","hr");
PreparedStatement pstmt=conn.prepareStatement("select * from tracking
where u_id=?");
pstmt.setInt(1,u_id);
ResultSet rs=pstmt.executeQuery();
%>
<div class="table-responsive p-3">
<table border=1>
<tr>
<th>Booking ID</th>
<th>Current Location</th>
</tr>
<%
while (rs.next()) {
%>
<tr>
<td><%=rs.getInt("book_id")%></td>
132
<td><%=rs.getString("t_detail")%></td>
</tr>
<%
}
} catch (Exception e) {
e.printStackTrace();
}
%>
</table>
</div>
<%@include file="footer.jsp"%>
<%}%>
deliveryStatus.jsp
<%
if(session.getAttribute("loginStatus")==null){
response.sendRedirect("login.jsp");
}
else{
%>
<%@include file="header.jsp"%>
<%@page import="java.sql.*"%>
<%
try {
int u_id=(Integer)session.getAttribute("u_id");
Class.forName("oracle.jdbc.driver.OracleDriver");
133
Connection conn
=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","hr","hr");
PreparedStatement pstmt=conn.prepareStatement("select
d_date,d_type,d_description from delivery where u_id=?");
pstmt.setInt(1,u_id);
ResultSet rs=pstmt.executeQuery();
%>
<div class="table-responsive p-3">
<table border=1>
<tr>
<th>Arrival Date</th>
<th>Delivery Type</th>
<th>Delivery Status</th>
</tr>
<%
while (rs.next()) {
%>
<tr>
<td><%=rs.getDate("d_date") %></td>
<td><%=rs.getString("d_type") %></td>
<td><%=rs.getString("d_description") %></td>
</tr>
<%
}
} catch (Exception e) {
e.printStackTrace();
}
%>
</table>
</div>
<%@include file="footer.jsp"%>
<%}%>
134
userProfile.jsp
<%
if (session.getAttribute("loginStatus") == null) {
response.sendRedirect("login.jsp");
} else {
%>
<%@include file="header.jsp"%>
<%@page import="java.sql.*"%>
<%
try {
int id = (Integer) session.getAttribute("u_id");
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn =
DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe", "hr", "hr");
PreparedStatement pstmt = conn.prepareStatement("select * from registration
where u_id=?");
pstmt.setInt(1, id);
ResultSet rs = pstmt.executeQuery();
if (rs.next()) {
session.setAttribute("id", String.valueOf(rs.getInt(1)));
%>
<div class="container mt-5">
<div class="d-flex justify-content-center">
<div class="card" id="profile-box">
<img class="card-img-top" src="images/men.jpg" alt="Card image"
style="width: 100%">
<div class="card-body">
<h4 class="card-title">
<%
out.println(rs.getString(2));
%>
</h4>
<p class="card-text h6">
Email ID:
<%
out.println(rs.getString(3));
%>
</p>
<p class="card-text h6">
Gender:
<%
out.println(rs.getString(5));
135
%>
</p>
<a href="userUpdate.jsp" class="btn btn-primary">Edit Profile</a>
</div>
</div>
</div>
</div>
<%
}
} catch (Exception e) {
e.printStackTrace();
}
%>
<%@include file="footer.jsp"%>
<% }%>
136
userUpdate.jsp
<%
if(session.getAttribute("loginStatus")==null){
response.sendRedirect("login.jsp");
}
else{
%>
<%@include file="header.jsp" %>
<%@page import="java.sql.*"%>
<%
try{
int id=(Integer)session.getAttribute("u_id");
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection
conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","hr","hr");
PreparedStatement pstmt=conn.prepareStatement("select * from registration
where u_id=?");
pstmt.setInt(1,id);
ResultSet rs=pstmt.executeQuery();
if(rs.next()){
session.setAttribute("id", String.valueOf(rs.getInt(1)));
%>
<div class="container">
<p class="h1 text-center">Edit Your Profile</p>
<form action="userUpdateProcess.jsp" method="post">
<div class="row">
<div class="col-md-6 mx-auto mb-4">
<div class="form-group">
<label for="name">Name</label>
<input type="text" class="form-control" name="name"
value="<%out.println(rs.getString(2));%>">
</div>
<div class="form-group">
<label for="email">Email</label>
<input type="email" class="form-control" name="email"
value="<%out.println(rs.getString(3));%>">
</div>
<div class="form-group">
<label for="pwd">Password</label>
<input type="text" class="form-control" name="pwd"
value="<%out.println(rs.getString(4));%>">
</div>
<div class="form-group">
<label for="gender">Gender</label>
<input type="radio" class="col-md-2" name="gender"
value="Male" <%if(rs.getString(5).equals("Male")){out.println("checked");} %> >Male
<input type="radio" class="col-md-2" name="gender"
value="female" <%if(rs.getString(5).equals("female")){out.println("checked");}
%>>Female
</div>
<input type="submit" class="button btn-primary btn-lg btn-
block col-md-4 float-left" value="Update"><input type="reset" class="button btn-
primary btn-lg btn-block col-md-4 float-right" value="reset">
</div>
</div>
</form>
</div>
137
<%
}
}
catch(Exception e){
e.printStackTrace();
}
%>
<%@include file="footer.jsp"%>
<%}%>
userUpdateProcess.jsp
138
Admin Login Page:
adminLogin.jsp
<%@include file="adminLoginHeader.jsp"%>
<div id="login_back">
<div class="container mb-5 pb-5">
<form style="float:left" class="form-signin" action="adminLoginProcess.jsp">
<h1 class="h3 mb-3 font-weight-normal text-white text-center mt-3">Admin
Login</h1>
<label for="inputEmail" class="sr-only">Email address</label>
<input type="email" name="email" class="form-control" placeholder="Email
address" required autofocus>
<label for="inputPassword" class="sr-only">Password</label>
<input type="password" name="password" class="form-control"
placeholder="Password" required>
<div class="checkbox mb-3">
<label>
<input type="checkbox" value="remember-me"><span class="text-white">
Remember me</span>
</label>
</div>
<button class="btn btn-lg btn-primary btn-block" type="submit">Sign in</button>
</form>
</div>
</div>
<%@include file="footer.jsp"%>
adminLoginProcess.jsp
<%@page import="java.sql.*"%>
<%
try{
String email=request.getParameter("email");
139
String password=request.getParameter("password");
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection
conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","hr","hr");
PreparedStatement pstmt=conn.prepareStatement("select * from registration where
u_email=? and u_password=?");
pstmt.setString(1,email);
pstmt.setString(2,password);
ResultSet rs=pstmt.executeQuery();
if(rs.next()){
if(rs.getString(8).equals("admin")){
session.setAttribute("admin","admin");
response.sendRedirect("admin.jsp");
}
if(rs.getString(8).equals("user")){
%>
<script>
alert("You are not Authorised to Login as Admin..");
window.location.href='adminLogin.jsp';
</script>
<%
}
}
else{%>
<script>
alert("Please Enter Valid Username Or Password..");
window.location.href='adminLogin.jsp';
</script>
<%
}
}
catch(Exception e){
e.printStackTrace();
}
%>
140
usersList.jsp
<%
if(session.getAttribute("admin")==null){
response.sendRedirect("adminLogin.jsp");
}
else{
%>
<%@include file="adminHeader.jsp"%>
<%@page import="java.sql.*"%>
<%
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn =DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe",
"hr", "hr");
PreparedStatement pstmt = conn.prepareStatement("select * from registration order by
u_id");
ResultSet rs = pstmt.executeQuery();
%>
<p class="h1 text-center m-3"><u>All Registered Users List</u></p>
<form name="form">
<div class="table-responsive p-3">
<table border=1>
<tr >
<th>User ID</th>
<th>Name</th>
<th>Email</th>
<th>Gender</th>
<th>Security Question</th>
<th>Answer</th>
<th>Delete</th>
</tr>
<%
while (rs.next()) {
%>
<tr>
<td><%=rs.getInt("u_id")%></td>
<td><%=rs.getString("u_name")%></td>
<td><%=rs.getString("u_email")%></td>
<td><%=rs.getString("u_sex")%></td>
<td><%=rs.getString("u_sq")%></td>
<td><%=rs.getString("u_ans")%></td>
<td><a href="registrationDelete.jsp?id=<%=rs.getString("u_id")%>"><span class="fa fa-
trash"></span></a></td>
141
</tr>
<%
}
} catch (Exception e) {
e.printStackTrace();
}
%>
</table>
</div>
</form>
<%@include file="footer.jsp"%>
<%
}
%>
registrationDelete.jsp
<%@page import="java.sql.*"%>
<%@include file="header.jsp" %>
<%
try{
int id=Integer.parseInt(request.getParameter("id"));
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection
conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","hr","hr");
PreparedStatement pstmt=conn.prepareStatement("delete from registration where
u_id=?");
pstmt.setInt(1,id);
pstmt.executeUpdate();
response.sendRedirect("usersList.jsp");
}
catch(Exception e){
e.printStackTrace();
}
%>
<%@include file="footer.jsp"%>
142
Staff List page:
staffList.jsp
<%
if(session.getAttribute("admin")==null){
response.sendRedirect("adminLogin.jsp");
}
else{
%>
<%@include file="adminHeader.jsp"%>
<%@page import="java.sql.*"%>
<%
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn =
DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe", "hr", "hr");
PreparedStatement pstmt = conn.prepareStatement("select * from staff
order by s_id");
ResultSet rs = pstmt.executeQuery();
%>
<div class="container-fluid">
<div class="pt-3 pl-3 float-left">
<a class="btn btn-primary btn-lg" href="staff_insert1.jsp" role="button"><i
class="fas fa-user-plus"></i> Add Staff Member</a>
</div>
<form>
<div class="input-group col-lg-7 mx-auto pt-3">
<input type="text" name="s_id" class="form-control" placeholder="Enter Staff
Id to search Staff Member...">
<div class="input-group-append">
<button type="submit" class="btn btn-dark btn-lg" onclick="javascript:
form.action='staff_search2.jsp';"><i class="fas fa-search"></i></button>
</div>
143
</div>
</form>
</div>
<form name="form">
<div class="table-responsive p-3">
<table border=1>
<tr >
<th>Staff ID</th>
<th>Name</th>
<th>Gender</th>
<th>Date Of Birth</th>
<th>Date Of Joining</th>
<th>Address</th>
<th>Contact</th>
<th>Edit</th>
<th>Delete</th>
</tr>
<%
while (rs.next()) {
%>
<tr>
<td><%=rs.getString("s_id")%></td>
<td><%=rs.getString("s_name")%></td>
<td><%=rs.getString("s_sex")%></td>
<td><%=rs.getDate("s_dob")%></td>
<td><%=rs.getDate("s_doj")%></td>
<td><%=rs.getString("s_add")%></td>
<td><%=rs.getString("s_cont")%></td>
<td><a href="staff_update1.jsp?id=<%=rs.getString("s_id")%>"><span
class="fa fa-edit"></span></a></td>
<td><a href="staff_delete1.jsp?id=<%=rs.getString("s_id")%>"
onclick="return confirm('Are you sure you want to delete
<%=rs.getString("s_name")%>');"><span class="fa fa-trash"></span></a></td>
</tr>
<%
}
} catch (Exception e) {
e.printStackTrace();
}
%>
</table>
</div>
</form>
<script>
</script>
<%@include file="footer.jsp"%>
<%
}
%>
144
Add Staff Form:
staff_insert1.jsp
<%@include file="adminHeader.jsp"%>
<div class="container" id="registrationContainer">
<p class="h1 text-center mb-3">Staff Members Form</p>
<form action="staff_insert2.jsp" method="post">
<div class="row">
<div class="col-md-6 mx-auto mb-4">
145
<div class="form-group">
<label for="name">Name</label> <input type="text"
class="form-control" name="name">
</div>
<div class="form-group">
<label for="dob">Date Of Birth</label>
<input type="date" class="form-control" name="dob">
</div>
<div class="form-group">
<label for="doj">Date Of Joining</label>
<input type="date" class="form-control" name="doj">
</div>
<div class="form-group">
<label for="gender">Gender</label>
<input type="radio" class="col-md-2" name="gender" value="Male"
checked>Male
<input type="radio" class="col-md-2" name="gender"
value="female">Female
</div>
<div class="form-group">
<label for="address">Address</label>
<input type="text" class="form-control" name="address">
</div>
<div class="form-group">
<label for="contact">Contact</label>
<input type="tel" class="form-control" name="contact">
</div>
<input type="submit" class="button btn-primary btn-lg btn-block
col-md-4 float-left" value="Add">
<input type="reset" class="button btn-primary btn-lg btn-block
col-md-4 float-right" value="clear">
</div>
</div>
</form>
</div>
<%@include file="footer.jsp"%>
staff_insert2.jsp
Staff search:
Staff_insert2.jsp
<%
if(session.getAttribute("admin")==null){
response.sendRedirect("adminLogin.jsp");
}
else{
%>
<%@include file="adminHeader.jsp"%>
<%@page import="java.sql.*"%>
<%
try {
String s_id=request.getParameter("s_id");
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection
conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","hr","hr");
PreparedStatement pstmt=conn.prepareStatement("select * from staff where
s_id=?");
pstmt.setString(1,s_id);
ResultSet rs=pstmt.executeQuery();
%>
147
<div class="container-fluid">
<div class="pt-3 pl-3 float-left">
<a class="btn btn-primary btn-lg" href="staff_insert1.jsp" role="button"><i
class="fas fa-user-plus"></i> Add Staff Member</a>
</div>
<form>
<div class="input-group col-lg-7 mx-auto pt-3">
<input type="text" name="s_id" class="form-control" placeholder="Enter Staff
Id to search Staff Member...">
<div class="input-group-append">
<button type="submit" class="btn btn-dark btn-lg" onclick="javascript:
form.action='staff_search2.jsp';"><i class="fas fa-search"></i></button>
</div>
</div>
</form>
</div>
<form name="form">
<div class="table-responsive p-3">
<table border=1>
<tr >
<th>Staff ID</th>
<th>Name</th>
<th>Gender</th>
<th>Date Of Birth</th>
<th>Date Of Joining</th>
<th>Address</th>
<th>Contact</th>
<th>Edit</th>
<th>Delete</th>
</tr>
<%
if (rs.next()) {
%>
<tr>
<td><%=rs.getString("s_id")%></td>
<td><%=rs.getString("s_name")%></td>
<td><%=rs.getString("s_sex")%></td>
<td><%=rs.getDate("s_dob")%></td>
<td><%=rs.getDate("s_doj")%></td>
<td><%=rs.getString("s_add")%></td>
<td><%=rs.getString("s_cont")%></td>
<td><a href="staff_update1.jsp?id=<%=rs.getString("s_id")%>"><span
class="fa fa-edit"></span></a></td>
<td><a href="staff_delete1.jsp?id=<%=rs.getString("s_id")%>"
onclick="return confirm('Are you sure you want to delete
<%=rs.getString("s_name")%>');"><span class="fa fa-trash"></span></a></td>
</tr>
<%
}else{%>
<script>
alert("No Staff Member With this ID");
window.location.href='staffList.jsp';
</script>
<%
}
} catch (Exception e) {
e.printStackTrace();
}
148
%>
</table>
</div>
</form>
<%@include file="footer.jsp"%>
<%
}
%>
149
Staff_update1.jsp
%>
<%@include file="footer.jsp"%>
Staff_update2.jsp
151
Staff_delete1.jsp
<%@page import="java.sql.*"%>
<%@include file="header.jsp" %>
<%
try {
String s_id=request.getParameter("id");
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection
conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","hr","hr");
PreparedStatement pstmt=conn.prepareStatement("delete from staff where
s_id=?");
pstmt.setString(1,s_id);
int result=pstmt.executeUpdate();
if(result>0){%>
<script>
alert("Staff Member deleted Successfully");
window.location.href='staffList.jsp';
</script>
<%
}
}
catch(Exception e){
e.printStackTrace();
}
%>
<%@include file="footer.jsp"%>
152
staffSalaryList.jsp
<%
if(session.getAttribute("admin")==null){
response.sendRedirect("adminLogin.jsp");
}
else{
%>
<%@include file="adminHeader.jsp"%>
<%@page import="java.sql.*"%>
<%
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn =
DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe", "hr", "hr");
PreparedStatement pstmt = conn.prepareStatement("select sal.slip_id,
s.s_name, s.s_id, sal.s_amt, sal.s_bonous, sal.s_type, sal.s_month, sal.s_year from
salary sal,staff s where sal.s_id=s.s_id");
ResultSet rs = pstmt.executeQuery();
%>
<div class="container-fluid">
<div class="pt-3 pl-3 float-left">
<a class="btn btn-primary btn-lg" href="staffSearchForm.jsp" role="button"><i
class="fas fa-file-invoice-dollar"></i> Add Staff Salary Datail</a>
</div>
<form>
<div class="input-group col-lg-7 mx-auto pt-3">
<input type="text" name="s_id" class="form-control" placeholder="Enter Staff
Id to search Staff Member Salary...">
<div class="input-group-append">
<button type="submit" class="btn btn-dark btn-lg" onclick="javascript:
form.action='staffSalarySearch.jsp';"><i class="fas fa-search"></i></button>
</div>
</div>
</form>
</div>
<form name="form">
<div class="table-responsive p-3">
<table border=1>
<tr >
<th>Slip Id</th>
<th>Name</th>
<th>Staff Id</th>
<th>Salary Amount</th>
<th>Salary Bonus</th>
<th>Salary Type</th>
<th>Month</th>
<th>Year</th>
</tr>
<%
while (rs.next()) {
%>
<tr>
<td><%=rs.getInt(1)%></td>
<td><%=rs.getString(2)%></td>
<td><%=rs.getString(3)%></td>
<td><%=rs.getInt(4)%></td>
<td><%=rs.getInt(5)%></td>
<td><%=rs.getString(6)%></td>
153
<td><%=rs.getInt(7)%></td>
<td><%=rs.getInt(8)%></td>
</tr>
<%
}
} catch (Exception e) {
e.printStackTrace();
}
%>
</table>
</div>
</form>
<%@include file="footer.jsp"%>
<%
}
%>
154
staffSearchForm.jsp
<%
if(session.getAttribute("admin")==null){
response.sendRedirect("adminLogin.jsp");
}
else{
155
%>
<%@include file="adminHeader.jsp" %>
<%@page import="java.sql.*" %>
<%
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn =
DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe", "hr", "hr");
PreparedStatement pstmt = conn.prepareStatement("select s_id from
staff");
ResultSet rs = pstmt.executeQuery();
%>
<div class="container mt-3">
<p class="h1 text-center mb-3">Select Staff Member ID</p>
<form action="staffSalaryForm.jsp">
<div class="row">
<div class="col-md-6 mx-auto mb-4">
<div class="form-group">
<select class="form-control" id="sel1" name="s_id" required>
<option value="">Select Staff ID</option>
<% while(rs.next()){%>
<option
value="<%=rs.getString("s_id")%>"><%=rs.getString("s_id")%></option>
<%
}
} catch (Exception e) {
e.printStackTrace();
}
%>
</select>
</div>
<input type="submit" class="button btn-primary btn-lg btn-block col-md-6 mx-
auto" value="Continue">
</div>
</div>
</form>
</div>
<%@include file="footer.jsp"%>
<%}%>
staffSalaryForm.jsp
<%
if(session.getAttribute("admin")==null){
response.sendRedirect("adminLogin.jsp");
}
else{
%>
<%@include file="adminHeader.jsp"%>
<%@page import="java.sql.*" %>
<%
try {
String s_id=request.getParameter("s_id");
Class.forName("oracle.jdbc.driver.OracleDriver");
156
Connection
conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","hr","hr");
PreparedStatement pstmt=conn.prepareStatement("select * from staff where
s_id=?");
pstmt.setString(1,s_id);
ResultSet rs=pstmt.executeQuery();
if(rs.next()){
session.setAttribute("s_id", rs.getString(1));
%>
<div class="container" id="registrationContainer">
<p class="h1 text-center mb-3">Staff Salary Form</p>
<form action="staffSalaryProcess.jsp" method="post">
<div class="row">
<div class="col-md-6 mx-auto mb-4">
<div class="form-group">
<label for="amt">Salary Amount</label>
<input type="text" class="form-control" name="amt">
</div>
<div class="form-group">
<label for="bonus">Salary Bonus</label>
<input type="text" class="form-control"
name="bonus">
</div>
<div class="form-group">
<label for="type">Salary type</label>
<select class="form-control" id="sel1" name="type"
required>
<option value="cash">Cash</option>
<option value="bank_transfer">Bank
transfer</option>
<option value="cheque">Cheque</option>
</select>
</div>
<div class="form-group">
<label for="type">Month</label>
<select class="form-control" id="sel1" name="month"
required>
<option value="01">January</option>
<option value="02">February</option>
<option value="03">March</option>
<option value="04">April</option>
<option value="05">May</option>
<option value="06">June</option>
<option value="07">July</option>
<option value="08">August</option>
<option value="09">September</option>
<option value="10">October</option>
<option value="11">November</option>
<option value="12">December</option>
</select>
</div>
<div class="form-group">
<label for="year">Year</label>
<input type="text" class="form-control" name="year">
</div>
<input type="submit" class="button btn-primary btn-
lg btn-block col-md-4 float-left" value="Save">
<input type="reset" class="button btn-primary btn-lg
btn-block col-md-4 float-right" value="clear">
157
</div>
</div>
</form>
</div>
<% }
else{
%>
<script>
alert("No member Exists with id <%=s_id%>. Enter valid ID");
window.location="staffSearchForm.jsp"
</script>
<%
}
}catch(Exception e){
e.printStackTrace();
}
%>
<%@include file="footer.jsp"%>
<%}%>
staffSalaryProcess.jsp
158
<%@include file="footer.jsp"%>
adminViewTransactionList.jsp
<%
if(session.getAttribute("admin")==null){
response.sendRedirect("adminLogin.jsp");
}
else{
%>
<%@include file="adminHeader.jsp"%>
<%@page import="java.sql.*"%>
<%
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection
conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","hr","hr");
PreparedStatement pstmt=conn.prepareStatement("select
t.t_id,t.t_date,t.t_amt,t.t_mode,t.t_desc,r.u_name,t.u_id from transaction
t,registration r where t.u_id=r.u_id");
ResultSet rs=pstmt.executeQuery();
%>
<p class="h1 text-center mt-3">Users Transaction Details</p>
<div class="table-responsive p-3">
<table border=1>
<tr >
<th>User Id</th>
<th>User Name</th>
<th>Transaction ID</th>
159
<th>Transaction Date</th>
<th>Transaction Amount</th>
<th>Transaction Mode</th>
<th>Transaction Description</th>
</tr>
<%
while (rs.next()) {
%>
<tr>
<td><%=rs.getInt("u_id")%></td>
<td><%=rs.getString("u_name")%></td>
<td><%=rs.getString("t_id")%></td>
<td><%=rs.getDate("t_date")%></td>
<td><%=rs.getString("t_amt")%></td>
<td><%=rs.getString("t_mode")%></td>
<td><%=rs.getString("t_desc")%></td>
</tr>
<%
}
} catch (Exception e) {
e.printStackTrace();
}
%>
</table>
</div>
<%@include file="footer.jsp"%>
<%
}
%>
160
adminBookingView.jsp
<%
if(session.getAttribute("admin")==null){
response.sendRedirect("adminLogin.jsp");
}
else{
%>
<%@include file="adminHeader.jsp"%>
<%@page import="java.sql.*"%>
<%
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection
conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","hr","hr");
PreparedStatement pstmt=conn.prepareStatement("select
b.book_id,r.u_name,b.b_date,b.b_src,b.b_dsc,b.b_contact,r.u_id from booking
b,registration r where b.u_id=r.u_id order by book_id");
ResultSet rs=pstmt.executeQuery();
%>
<div class="pt-3 pl-3 float-left">
<a class="btn btn-primary btn-lg" href="bookingSearchForm.jsp" role="button"><i
class="fas fa-file-invoice-dollar"></i> Add Shipment Details</a>
</div>
<p class="h1 text-center mt-3">Users Booking List</p>
<div class="table-responsive p-3">
<table border=1>
<tr >
<th>Booking ID</th>
<th>User Name</th>
<th>Date</th>
<th>Source</th>
<th>Destination</th>
<th>Contact</th>
<th>User ID</th>
</tr>
<%
while (rs.next()) {
%>
<tr>
<td><%=rs.getInt("book_id")%></td>
<td><%=rs.getString("u_name")%></td>
<td><%=rs.getDate("b_date")%></td>
<td><%=rs.getString("b_src")%></td>
<td><%=rs.getString("b_dsc")%></td>
<td><%=rs.getString("b_contact")%></td>
<td><%=rs.getInt("u_id")%></td>
</tr>
<%
}
} catch (Exception e) {
e.printStackTrace();
}
%>
</table>
</div>
<%@include file="footer.jsp"%>
<%}%>
161
Booking Shipment Details page:
shipmentView.jsp
<%
if(session.getAttribute("admin")==null){
response.sendRedirect("adminLogin.jsp");
}
else{
%>
<%@include file="adminHeader.jsp"%>
<%@page import="java.sql.*"%>
<%
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection
conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","hr","hr");
PreparedStatement pstmt=conn.prepareStatement("select * from shipment");
ResultSet rs=pstmt.executeQuery();
%>
<p class="h1 text-center mt-3">Booking Shipment Details</p>
<form name="form">
<div class="table-responsive p-3">
<table border=1>
<tr >
<th>Booking ID</th>
<th>Shipment ID</th>
<th>Quantity(In KG)</th>
<th>Shipment Type</th>
<th>Shipment Detail</th>
<th>Edit</th>
<th>Delete</th>
</tr>
<%
while (rs.next()) {
162
%>
<tr>
<td><%=rs.getInt("book_id")%></td>
<td><%=rs.getInt("sh_id")%></td>
<td><%=rs.getInt("sh_qty")%></td>
<td><%=rs.getString("sh_type")%></td>
<td><%=rs.getString("sh_detail")%></td>
<td><a href="shipmentUpdate.jsp?sh_id=<%=rs.getInt("sh_id")%>"><span
class="fa fa-edit"></span></a></td>
<td><a href="shipmentDelete.jsp?sh_id=<%=rs.getInt("sh_id")%>"
onclick="return confirm('Are you sure you want to delete this booking');"><span
class="fa fa-trash"></span></a></td>
</tr>
<%
}
} catch (Exception e) {
e.printStackTrace();
}
%>
</table>
</div>
</form>
<%@include file="footer.jsp"%>
<%
}
%>
163
Shipment Edit Page:
164
shipmentUpdate.jsp
<%
if(session.getAttribute("admin")==null){
response.sendRedirect("adminLogin.jsp");
}
else{
%>
<%@include file="adminHeader.jsp"%>
<%@page import="java.sql.*"%>
<%
try {
int sh_id=Integer.parseInt(request.getParameter("sh_id"));
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn=
DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","hr",
"hr");
PreparedStatement pstmt=conn.prepareStatement("select * from
shipment where sh_id=?");
pstmt.setInt(1,sh_id);
ResultSet rs=pstmt.executeQuery();
if(rs.next()){
session.setAttribute("sh_id", rs.getInt("sh_id"));
%>
<div class="container">
<p class="h1 text-center mb-3">Edit shipping Details</p>
<form action="shipmentUpdateProcess.jsp" method="post">
<div class="row">
<div class="col-md-6 mx-auto mb-4">
<div class="form-group">
<label for="qty">Shipment Quantity</label>
<input type="text" class="form-control"
name="sh_qty" value="<%=rs.getInt("sh_qty")%>">
</div>
<div class="form-group">
<label for="type">Shipment Type</label>
<input type="text" class="form-control"
name="sh_type" value="<%=rs.getString("sh_type")%>">
</div>
<div class="form-group">
<label for="sh_detail">Shipment Detail</label>
<input type="text" class="form-control"
name="sh_detail" value="<%=rs.getString("sh_detail")%>">
</div>
165
<input type="submit" class="button btn-primary btn-lg
btn-block col-md-4 float-left" value="Update">
<input type="reset" class="button btn-primary btn-lg
btn-block col-md-4 float-right" value="clear">
</div>
</div>
</form>
</div>
<% }
}
catch(Exception e){
e.printStackTrace();
}
%>
<%@include file="footer.jsp"%>
<%
}
%>
shipmentUpdateProcess.jsp
trackingList.jsp
<%
if(session.getAttribute("admin")==null){
response.sendRedirect("adminLogin.jsp");
}
else{
%>
<%@include file="adminHeader.jsp"%>
<%@page import="java.sql.*"%>
<%
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn =
DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe", "hr", "hr");
PreparedStatement pstmt = conn.prepareStatement("select * from tracking
order by t_no");
ResultSet rs = pstmt.executeQuery();
%>
<div class="container-fluid mt-3">
<div class="pt-3 pl-3 float-left">
<a class="btn btn-primary btn-lg" href="shipmentSearch.jsp" role="button"><i
class="fas fa-user-plus"></i> Add Tracking Details</a>
</div>
<div class="pt-3 pl-3">
<p class="h1 text-center">Tracking Details</p>
</div>
</div>
<form name="form">
<div class="table-responsive p-3">
<table border=1>
167
<tr >
<th>Tracking No</th>
<th>Shipment ID</th>
<th>Booking ID</th>
<th>User_ID</th>
<th>Tracking Status</th>
<th>Edit</th>
<th>Delete</th>
</tr>
<%
while (rs.next()) {
%>
<tr>
<td><%=rs.getInt("t_no")%></td>
<td><%=rs.getInt("sh_id")%></td>
<td><%=rs.getInt("book_id")%></td>
<td><%=rs.getInt("u_id")%></td>
<td><%=rs.getString("t_detail")%></td>
<td><a href="trackingUpdate.jsp?t_no=<%=rs.getInt("t_no")%>"><span
class="fa fa-edit"></span></a></td>
<td><a href="trackingDelete.jsp?t_no=<%=rs.getInt("t_no")%>"
onclick="return confirm('Are you sure you want to delete');"><span class="fa fa-
trash"></span></a></td>
</tr>
<%
}
} catch (Exception e) {
e.printStackTrace();
}
%>
</table>
</div>
</form>
<script>
</script>
<%@include file="footer.jsp"%>
<%
}
%>
168
Add Tracking Details Pages:
1.
2.
169
3.
shipmentSearch.jsp
<%
if(session.getAttribute("admin")==null){
response.sendRedirect("adminLogin.jsp");
}
else{
%>
<%@include file="adminHeader.jsp" %>
<div class="container">
<p class="h1 text-center mb-3 mt-3">Enter Shipment ID to Add Tracking Details</p>
<form action="tracking.jsp">
<div class="row">
<div class="col-md-6 mx-auto mb-4">
<div class="form-group">
<label for="searchID">Enter Shipment ID</label>
<input type="text" class="form-control" name="sh_id" required>
</div>
<input type="submit" class="button btn-primary btn-lg btn-block col-md-6 mx-
auto" value="Search">
</div>
</div>
</form>
</div>
<%@include file="footer.jsp"%>
<%}%>
170
tracking.jsp
<%
if(session.getAttribute("admin")==null){
response.sendRedirect("adminLogin.jsp");
}
else{
%>
<%@include file="adminHeader.jsp"%>
<%@page import="java.sql.*" %>
<%
try {
String sh_id=request.getParameter("sh_id");
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection
conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","hr","hr");
PreparedStatement pstmt=conn.prepareStatement("select
s.sh_id,s.book_id,b.u_id from shipment s,booking b where sh_id=? and
s.book_id=b.book_id");
pstmt.setString(1,sh_id);
ResultSet rs=pstmt.executeQuery();
if(rs.next()){
session.setAttribute("sh_id", rs.getInt("sh_id"));
session.setAttribute("book_id", rs.getInt("book_id"));
session.setAttribute("u_id", rs.getInt("u_id"));
%>
<div class="container">
<p class="h1 text-center mb-3">Fill Tracking Details</p>
<form action="trackingProcess.jsp" method="post">
<div class="row">
<div class="col-md-6 mx-auto mb-4">
<div class="form-group">
<label for="t_detail">Enter Tracking Detail</label>
<textarea type="text" class="form-control"
name="t_detail" rows="3" required></textarea>
</div>
<input type="submit" class="button btn-primary btn-
lg btn-block col-md-4 float-left" value="Save">
<input type="reset" class="button btn-primary btn-lg
btn-block col-md-4 float-right" value="clear">
</div>
</div>
</form>
</div>
<% }
else{
%>
<script>
alert("No shipment available with id <%=sh_id%>. Enter valid ID");
window.location="shipmentSearch.jsp"
</script>
<%
}
}catch(Exception e){
e.printStackTrace();
}
%>
<%@include file="footer.jsp"%>
<%}%>
171
trackingProcess.jsp
trackingDelete.jsp
deliveryList.jsp
<%
if(session.getAttribute("admin")==null){
response.sendRedirect("adminLogin.jsp");
}
else{
%>
<%@include file="adminHeader.jsp"%>
<%@page import="java.sql.*"%>
<%
try {
int u_id=(Integer)session.getAttribute("u_id");
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection
conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","hr","hr");
PreparedStatement pstmt=conn.prepareStatement("select * from delivery");
ResultSet rs=pstmt.executeQuery();
%>
<div class="container-fluid">
<div class="pt-3 pl-3 float-left">
173
<a class="btn btn-primary btn-lg" href="deliveryBookingSearch.jsp" role="button"><i
class="fas fa-credit-card"></i> Add Delivery Details</a>
</div>
</div>
<div class="table-responsive p-3">
<table border=1>
<tr >
<th>Delivery ID</th>
<th>Booking ID</th>
<th>Delivery Date</th>
<th>Delivery Type</th>
<th>Delivery Description</th>
<th>Edit</th>
<th>Delete</th>
</tr>
<%
while (rs.next()) {
%>
<tr>
<td><%=rs.getInt("d_id")%></td>
<td><%=rs.getInt("book_id")%></td>
<td><%=rs.getDate("d_date")%></td>
<td><%=rs.getString("d_type")%></td>
<td><%=rs.getString("d_description")%></td>
<td><a href="deliveryUpdate.jsp?d_id=<%=rs.getInt("d_id")%>"><span
class="fa fa-edit"></span></a></td>
<td><a href="deliveryDelete.jsp?d_id=<%=rs.getInt("d_id")%>"
onclick="return confirm('Are you sure you want to delete');"><span class="fa fa-
trash"></span></a></td>
</tr>
<%
}
} catch (Exception e) {
e.printStackTrace();
}
%>
</table>
</div>
<%@include file="footer.jsp"%>
<%
}
%>
174
Add Delivery Status pages:
1.
2.
175
3.
deliveryBookingSearch.jsp
<%
if(session.getAttribute("admin")==null){
response.sendRedirect("adminLogin.jsp");
}
else{
%>
<%@include file="adminHeader.jsp" %>
<%@page import="java.sql.*" %>
<%
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn =
DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe", "hr", "hr");
PreparedStatement pstmt = conn.prepareStatement("select book_id from
booking");
ResultSet rs = pstmt.executeQuery();
%>
<div class="container mt-3">
<p class="h1 text-center mb-3">Select Booking ID to Add Delivery Details</p>
<form action="deliveryForm.jsp">
<div class="row">
<div class="col-md-6 mx-auto mb-4">
<div class="form-group">
<select class="form-control" id="sel1" name="book_id" required>
<option value="">Select Booking ID</option>
<% while(rs.next()){%>
<option
value="<%=rs.getString("book_id")%>"><%=rs.getString("book_id")%></option>
<%
176
}
} catch (Exception e) {
e.printStackTrace();
}
%>
</select>
</div>
<input type="submit" class="button btn-primary btn-lg btn-block col-md-6 mx-
auto" value="Continue">
</div>
</div>
</form>
</div>
<%@include file="footer.jsp"%>
<%}%>
deliveryForm.jsp
<%
if(session.getAttribute("admin")==null){
response.sendRedirect("adminLogin.jsp");
}
else{
%>
<%@include file="adminHeader.jsp"%>
<%@page import="java.sql.*" %>
<%
int book_id=Integer.parseInt(request.getParameter("book_id"));
session.setAttribute("book_id", book_id);
%>
<div class="container">
<p class="h1 text-center mb-3">Fill Delivery Details</p>
<form action="deliveryProcess.jsp" method="post">
<div class="row">
<div class="col-md-6 mx-auto mb-4">
<div class="form-group">
<label for="d_date">Delivery Date</label>
<input type="date" class="form-control" name="date" required>
</div>
<div class="form-group">
<label for="d_type">Delivery type</label>
<select class="form-control" id="sel1" name="d_type" required>
<option value="By Post">By Post</option>
<option value="By Transport">By Transport</option>
</select>
</div>
177
<div class="form-group">
<label for="d_description">Enter Delivery Status</label>
<input type="text" class="form-control" name="d_description"
required>
</div>
<input type="submit" class="button btn-primary btn-lg btn-block
col-md-4 float-left" value="Save">
<input type="reset" class="button btn-primary btn-lg btn-block
col-md-4 float-right" value="clear">
</div>
</div>
</form>
</div>
<%@include file="footer.jsp"%>
<%}%>
deliveryProcess.jsp
<%
if(session.getAttribute("admin")==null){
response.sendRedirect("adminLogin.jsp");
}
else{
%>
<%@include file="adminHeader.jsp" %>
<%@page import="java.sql.*"%>
<%
try{
int book_id=(Integer)session.getAttribute("book_id");
Date d_date=Date.valueOf(request.getParameter("date"));
String d_type=request.getParameter("d_type");
String d_description=request.getParameter("d_description");
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection
conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","hr","hr");
PreparedStatement pstmt=conn.prepareStatement("insert into Delivery
values(d_no.NEXTVAL,?,?,?,(select book_id from booking where book_id=?),(select u_id
from booking where book_id=?))");
pstmt.setDate(1,d_date);
pstmt.setString(2,d_type);
pstmt.setInt(4,book_id);
pstmt.setInt(5,book_id);
pstmt.setString(3,d_description);
int result=pstmt.executeUpdate();
if(result>0){%>
<script>
alert("Delivery Detail Added Successfully");
window.location.href='deliveryList.jsp';
</script>
<%
}
}
178
catch(Exception e){
e.printStackTrace();
}
%>
<%@include file="footer.jsp"%>
<%}%>
179
deliveryUpdate.jsp
<%
if(session.getAttribute("admin")==null){
response.sendRedirect("adminLogin.jsp");
}
else{
%>
<%@include file="adminHeader.jsp"%>
<%@page import="java.sql.*"%>
<%
try {
int d_id=Integer.parseInt(request.getParameter("d_id"));
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn
=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","hr","hr");
PreparedStatement pstmt=conn.prepareStatement("select * from delivery where
d_id=?");
pstmt.setInt(1,d_id);
ResultSet rs=pstmt.executeQuery();
if(rs.next()){
session.setAttribute("d_id", rs.getInt("d_id"));
%>
<div class="container">
<p class="h1 text-center mb-3">Edit Your Booking Details</p>
<form action="deliveryUpdateProcess.jsp" method="post">
<div class="row">
<div class="col-md-6 mx-auto mb-4">
<div class="form-group">
<label for="d_date">Delivery Date</label>
<input type="date" class="form-control" name="d_date"
value="<%=rs.getDate("d_date")%>">
</div>
<div class="form-group">
<label for="type">Delivery Type</label>
<input type="text" class="form-control" name="d_type"
value="<%=rs.getString("d_type")%>">
</div>
<div class="form-group">
<label for="d_description">Booking Destination</label>
<input type="text" class="form-control" name="d_description"
value="<%=rs.getString("d_description")%>">
</div>
180
<input type="submit" class="button btn-primary btn-lg btn-block
col-md-4 float-left" value="Update">
<input type="reset" class="button btn-primary btn-lg btn-block
col-md-4 float-right" value="reset">
</div>
</div>
</form>
</div>
<% }
}
catch(Exception e){
e.printStackTrace();
}
%>
<%@include file="footer.jsp"%>
<%
}
%>
deliveryUpdateProcess.jsp
<%
if(session.getAttribute("admin")==null){
response.sendRedirect("adminLogin.jsp");
}
else{
%>
<%@include file="adminHeader.jsp" %>
<%@page import="java.sql.*"%>
<%
try{
int d_id=(Integer)session.getAttribute("d_id");
Date date=Date.valueOf(request.getParameter("d_date"));
String type=request.getParameter("d_type");
String d_description=request.getParameter("d_description");
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn
=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","hr","hr");
PreparedStatement pstmt=conn.prepareStatement("update delivery set d_date=?,
d_type=?, d_description=? where d_id=?");
pstmt.setDate(1,date);
pstmt.setString(2,type);
pstmt.setString(3,d_description);
pstmt.setInt(4,d_id);
int result=pstmt.executeUpdate();
if(result>0){%>
<script>
alert("Delivery Updated");
181
window.location.href='deliveryList.jsp';
</script>
<%
}
}
catch(Exception e){
e.printStackTrace();
}
%>
<%@include file="footer.jsp"%>
<%}%>
deliveryDelete.jsp
<%
if(session.getAttribute("admin")==null){
response.sendRedirect("adminLogin.jsp");
}
else{
%>
<%@page import="java.sql.*"%>
<%@include file="adminHeader.jsp" %>
<%
try{
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn
=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","hr","hr");
PreparedStatement pstmt=conn.prepareStatement("delete from delivery where
d_id=?");
pstmt.setInt(1,Integer.parseInt(request.getParameter("d_id")));
int result=pstmt.executeUpdate();
if(result>0){%>
<script>
alert("Delivery deleted");
window.location.href='deliveryList.jsp';
</script>
<%
}
}
catch(Exception e){
e.printStackTrace();
}
%>
<%@include file="footer.jsp"%>
<%}%>
182
Users Query List Page:
userQueryList.jsp
<%
if(session.getAttribute("admin")==null){
response.sendRedirect("adminLogin.jsp");
}
else{
%>
<%@include file="adminHeader.jsp"%>
<%@page import="java.sql.*"%>
<%
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn =
DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe", "hr", "hr");
PreparedStatement pstmt = conn.prepareStatement("select * from userquery
order by q_no");
ResultSet rs = pstmt.executeQuery();
%>
<p class="h1 text-center mt-3">Users Query List</p>
<form name="form">
<div class="table-responsive p-3">
<table border=1>
<tr >
<th>Query No.</th>
<th>Date</th>
<th>User Name</th>
<th>Contact</th>
<th>Subject</th>
<th>Query</th>
<th>Edit</th>
<th>Delete</th>
183
</tr>
<%
while (rs.next()) {
%>
<tr>
<td><%=rs.getString("q_no")%></td>
<td><%=rs.getDate("q_date")%></td>
<td><%=rs.getString("u_name")%></td>
<td><%=rs.getString("u_contact")%></td>
<td><%=rs.getString("sub")%></td>
<td><%=rs.getString("q_description")%></td>
<td><a href="query_update1.jsp?q_no=<%=rs.getString("q_no")%>"><span
class="fa fa-edit"></span></a></td>
<td><a href="query_delete1.jsp?q_no=<%=rs.getString("q_no")%>"><span
class="fa fa-trash"></span></a></td>
</tr>
<%
}
} catch (Exception e) {
e.printStackTrace();
}
%>
</table>
</div>
</form>
<%@include file="footer.jsp"%>
<%}%>
184
query_update1.jsp
186
query_update2.jsp
query_delete1.jsp
<%@page import="java.sql.*"%>
<%@include file="header.jsp" %>
<%
try{
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection
conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","hr","hr");
PreparedStatement pstmt=conn.prepareStatement("delete from userquery where
q_no=?");
pstmt.setString(1,request.getParameter("q_no"));
int result=pstmt.executeUpdate();
if(result>0){%>
<script>
alert("Query deleted Successfully");
window.location.href='userQueryList.jsp';
</script>
187
<%
}
}
catch(Exception e){
e.printStackTrace();
}
%>
<%@include file="footer.jsp"%>
188
updatePassword.jsp
<%
if(session.getAttribute("admin")==null){
response.sendRedirect("adminLogin.jsp");
}
else{ %>
<%@include file="adminHeader.jsp" %>
<%@page import="java.sql.*"%>
<%
try{
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn
=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","hr","hr");
PreparedStatement pstmt=conn.prepareStatement("select * from registration where
u_id=100");
ResultSet rs=pstmt.executeQuery();
if(rs.next()){
%>
<p class="h1 text-center mb-3">Change Your Password</p>
<form action="updatePasswordProcess.jsp" method="post">
<div class="row">
<div class="col-md-6 mx-auto mb-4">
<div class="form-group">
<label for="pwd">New Password</label>
<input type="text" class="form-control" name="pwd"
value="<%out.println(rs.getString(4));%>">
</div>
<input type="submit" class="button btn-primary btn-lg btn-block col-md-4 float-
left" value="Change">
</div>
</div>
</form>
<%}
else{
out.println("Record Not found...");
}
}
catch(Exception e){
e.printStackTrace();
}%>
<%@include file="footer.jsp"%>
<% }%>
189
updatePasswordProcess.jsp
190
testing Methodology
Unit Testing:
Module Testing
System Testing
Alpha/Beta Testing
White box/black box testing
Implementation Manual
Implementation
Post Implementation Modification
191
Testing methodology :
Unit Testing :
Unit Test involves testing of individual components of the system to see if they
are functioning properly. The focus on unit testing will be destructive testing – to
test all error conditions and see if they are handled properly by the program.
Module Testing :
This is an optional form of testing which is done only for large systems which has
a large
number of modules .
System testing:
Alpha/beta testing
Black box Testing : this form of testing is used during System or Acceptance
testing where the system is regarding as a “black box”, i.e., its internals are
not known to the tester. The tester gives the required inputs and checks the
outputs. If the outputs don’t tally with expected results, an error is reported.
White box Testing : this is used in Unit Testing and System Testing where the
internals of the system are known to the technical people. Testing is doneby
checking that all branches and loops of code are executed, intermediate and
temporary files are updated properly and hand offs to other systems or
modules are written in the correct format.
IMPLEMENTATION
193
Old system to the new one. In our case, the implementation include all the
activities that take place to convert existing system to new computerized system.
This is a stage when you hand over the system to the user. The implementation
consists of the following steps.
We have to take care about these points when we are handling over the new
system to the user. User training about handling the Hardware and Software are
extremely important if we want minimum complaints of failure of the system from
the user.
Technically, elegant system fails due to poor quality running imparted to the
operators & user. Operator’s focuses on the basis of hardware and operation of
computers.
194
Conversion is the one another important part in implementation. There were
various methods of handling system conversion like:
Pilot Conversion.
Phase Conversion.
The process of developing test cases can also help find problems in the requirements or design of
an application.
195
A test case can have the following elements. Note, however, that normally a test management
tool is used by companies and the format is determined by the tool used.
Test Suite ID The ID of the test suite to which this test case belongs.
Test Case ID The ID of the test case.
Test Case
The summary / objective of the test case.
Summary
Related
The ID of the requirement this test case relates/traces to.
Requirement
Any prerequisites or preconditions that must be fulfilled prior to executing the
Prerequisites
test.
Test Procedure Step-by-step procedure to execute the test.
The test data, or links to the test data, that are to be used while conducting the
Test Data
test.
Expected Result The expected result of the test.
Actual Result The actual result of the test; to be filled after executing the test.
Pass or Fail. Other statuses can be ‘Not Executed’ if testing is not performed
Status
and ‘Blocked’ if testing is blocked.
Remarks Any comments on the test case or test execution.
Created By The name of the author of the test case.
Date of Creation The date of creation of the test case.
Executed By The name of the person who executed the test.
Date of
The date of execution of the test.
Execution
Test The environment (Hardware/Software/Network) in which the test was
Environment executed.
196
2. A message ‘Please enter a valid quantity between 1 and 10′ should be
displayed if the specified quantity is invalid.
Status Fail
Remarks This is a sample test case.
Created By John Doe
Date of Creation 01/14/2020
Executed By Jane Roe
Date of
02/16/2020
Execution
OS: Windows Y
Test
Browser: Chrome N
Environment
As far as possible, write test cases in such a way that you test only one thing at a time. Do
not overlap or complicate test cases. Attempt to make your test cases ‘atomic’.
Ensure that all positive scenarios and negative scenarios are covered.
Language:
o Write in simple and easy to understand language.
o Use active voice: Do this, do that.
o Use exact and consistent names (of forms, fields, etc).
Characteristics of a good test case:
o Accurate: Exacts the purpose.
o Economical: No unnecessary steps or words.
o Traceable: Capable of being traced to requirements.
o Repeatable: Can be used to perform the test over and over.
o Reusable: Can be reused if necessary.
197
Security implementation :-
Login.jsp
<%@include file="header.jsp"%>
<div id="login_back">
<div class="container mb-5 pb-5">
<form style="float:left" class="form-signin" action="loginProcess.jsp">
<h1 class="h3 mb-3 font-weight-normal text-white text-center mt-3">Please sign
in</h1>
<label for="inputEmail" class="sr-only">Email address</label>
<input type="email" name="email" class="form-control" placeholder="Email
address" required autofocus>
<label for="inputPassword" class="sr-only">Password</label>
<input type="password" name="password" class="form-control"
placeholder="Password" required>
<div class="checkbox mb-3">
<label>
<input type="checkbox" value="remember-me"><span class="text-white">
Remember me</span>
</label>
</div>
<button class="btn btn-lg btn-primary btn-block" type="submit">Sign in</button>
</form>
</div>
</div>
<%@include file="footer.jsp"%>
198
adminLogin.jsp
<%@include file="adminLoginHeader.jsp"%>
<div id="login_back">
<div class="container mb-5 pb-5">
<form style="float:left" class="form-signin" action="adminLoginProcess.jsp">
<h1 class="h3 mb-3 font-weight-normal text-white text-center mt-3">Admin
Login</h1>
<label for="inputEmail" class="sr-only">Email address</label>
<input type="email" name="email" class="form-control" placeholder="Email
address" required autofocus>
<label for="inputPassword" class="sr-only">Password</label>
<input type="password" name="password" class="form-control"
placeholder="Password" required>
<div class="checkbox mb-3">
<label>
<input type="checkbox" value="remember-me"><span class="text-white">
Remember me</span>
</label>
</div>
<button class="btn btn-lg btn-primary btn-block" type="submit">Sign in</button>
</form>
</div>
</div>
<%@include file="footer.jsp"%>
199
SYSTEM
MAINTENANCE AND
EVALUATION
Corrective
Adaptive
Perfective.
review plan.
In any case, a first class effort must be made to ensure that software
changes are made properly and in time to keep the system in tune with
user specifications.
200
Maintenance is costly. One way to reduce maintenance costs is through
audits of low ranking programs to verify and correct the soft spots.
201
EVALUATION
The evaluation phase ranks vendor proposals and determines the one best
dimensions:
202
FUTURE SCOPE:-
This website is developed to fulfill user and business requirement; however there
is lots of scope to improve the performance of the packers and movers shipping
System in the area of user interface, database performance, and query
processing time. Etc. So there are many things for future enhancement of this
project. The future enhancements that are possible in the project are as follows.
This website can be converted into distributed web-based with little modification.
The company has Plan to develop VPN in future.
203
BIBLIOGRAPHY
:
Java servlet JSP programming : budi kuriwan
1.
204
WEB REFERENCES
www.suntutoirial.com
www.javatpoint.com/tutorial/
www.w3schools.com/
205