0% found this document useful (0 votes)
76 views48 pages

Varsha Project Report File

This document is a project report submitted by Varsha Katheria for their Master's degree. It outlines the development of a parcel tracking system to automate an existing manual system. The project aims to provide error-free, secure, and fast parcel management. It will track parcel, customer, and delivery details and allow for easy accessing and manipulation of data. The system functionalities include searching, managing delivery details, tracking information, and editing records to improve resource management.

Uploaded by

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

Varsha Project Report File

This document is a project report submitted by Varsha Katheria for their Master's degree. It outlines the development of a parcel tracking system to automate an existing manual system. The project aims to provide error-free, secure, and fast parcel management. It will track parcel, customer, and delivery details and allow for easy accessing and manipulation of data. The system functionalities include searching, managing delivery details, tracking information, and editing records to improve resource management.

Uploaded by

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

Parcel tracking system

A Project Report Submitted In Partial fulfillment of the


Requirements
for the degree of
Master of Computer Application
By
Varsha Katheria
(Enrolment No. 608/18)
(Roll No. 180910 )

Under the Supervision of


Dr. Shalini Chandra
Dr. Deepak kumar Verma

Department of Computer Science


Babasaheb Bhimrao Ambedkar University
(A Central University)
Lucknow, UP

June, 2021

CANDIDATE’S DECLARATION

I hereby declare that the work presented in this report entitled “Parcel
tracking system”,
was carried out by me. I have not submitted the matter embodied in this
report for the award of any other degree or diploma of any other University or
Institute.

I have given due credit to the original authors/sources for all the words, ideas,
diagrams, graphics, computer programs, experiments, results, that are not my
original contribution.

I have used quotation marks to identify verbatim sentences and given credit
to the original authors/sources. I affirm that no portion of my work is
plagiarized, and the experiments and results reported in the report are not
manipulated. In the event of a complaint of plagiarism and the manipulation of
the experiments and results, I shall be fully responsible and answerable.

Name: Varsha Katheria


Enroll No: 608/18
Roll No: 180910
CERTIFICATE

This is to certify that Varsha Katheria(Enroll No: 608/18 ) has carried out
the project work presented in this report entitled “Parcel tracking system”
for the award of Master of Computer Application from Babasaheb
Bhimrao Ambedkar Uiversity, Lucknow under my/our supervision. The
project embodies result of original work, and studies are carried out by the
student himself and the contents of the project do not form the basis for the
award of any other degree to the candidate or to anybody else from this or
any other University/ Institution.

Signature
Dr. Shalini Chandra
Assistant Professor
Dr. Deepak Kumar Verma

Signature
(Prof. Sanjay K. Dwivedi, DCS)

Head of the Department


Introduction of the Parcel Tracking System

The "Parcel Tracking System" has been developed to override the problems
prevailing in the practicing manual system. This software is supported to
eliminate and in some cases reduce the hardships faced by this existing
system. Moreover this system is designed for the particular need of the
company to carry out operations in a smooth and effective manner.

The application is reduced as much as possible to avoid errors while entering


the data. It also provides error message while entering invalid data. No formal
knowledge is needed for the user to use this system. Thus by this all it proves
it is user-friendly. Parcel Tracking System , as described above, can lead to
error free, secure, reliable and fast management system. It can assist the user
to concentrate on their other activities rather to concentrate on the record
keeping. Thus it will help organization in better utilization of resources.

Every organization, whether big or small, has challenges to overcome and


managing the information of Tracking, Parcel, Customer, Delivery, Address.
Every Parcel Tracking System has different Parcel needs, therefore we design
exclusive employee management systems that are adapted to your
managerial requirements. This is designed to assist in strategic planning, and
will help you ensure that your organization is equipped with the right level of
information and details for your future goals. Also, for those busy executive
who are always on the go, our systems come with remote access features,
which will allow you to manage your workforce anytime, at all times. These
systems will ultimately allow you to better manage resources.
Abstract of the Project Parcel Tracking System
The purpose of Parcel Tracking System is to automate the existing
manual system by the help of computerized equipments and full-fledged
computer software, fulfilling their requirements, so that their valuable
data/information can be stored for a longer period with easy accessing and
manipulation of the same. The required software and hardware are easily
available and easy to work with.

Parcel Tracking System, as described above, can lead to error free,


secure, reliable and fast management system. It can assist the user to
concentrate on their other activities rather to concentrate on the record
keeping. Thus it will help organization in better utilization of resources.
The organization can maintain computerized records without redundant
entries. That means that one need not be distracted by information that is
not relevant, while being able to reach the information.

The aim is to automate its existing manual system by the help of


computerized equipments and full-fledged computer software, fulfilling
their requirements, so that their valuable data/information can be stored
for a longer period with easy accessing and manipulation of the same.
Basically the project describes how to manage for good performance and
better services for the clients.

Objective of Project on Parcel Tracking System


The main objective of the Project on Parcel Tracking System is to manage the
details of Parcel, Tracking, Tracking Number, Customer, Address. It manages
all the information about Parcel, Delivery, Address, Parcel. The project is
totally built at administrative end and thus only the administrator is
guaranteed the access. The purpose of the project is to build an application
program to reduce the manual work for managing the Parcel, Tracking,
Delivery, Tracking Number. It tracks all the details about the Tracking
Number, Customer, Address.
Functionalities provided by Parcel Tracking System are as
follows:
1. Provides the searching facilities based on various factors. Such as
Parcel, Tracking Number, Customer, Address
2. Parcel Tracking System also manage the Delivery details online for
Customer details, Address details, Parcel.
3. It tracks all the information of Tracking, Delivery, Customer etc
4. Manage the information of Tracking
5. Shows the information and description of the Parcel, Tracking Number
6. To increase efficiency of managing the Parcel, Tracking
7. It deals with monitoring the information and transactions of Customer.
8. Manage the information of Parcel
9. Editing, adding and updating of Records is improved which results in
proper resource management of Parcel data.

10. Manage the information of Customer.

11. Integration of all records of Address.

Scope of the project Parcel Tracking System


It may help collecting perfect management in details. In a very short time, the
collection will be obvious, simple and sensible. It will help a person to know
the management of passed year perfectly and vividly. It also helps in current
all works relative to Parcel Tracking System. It will be also reduced the cost of
collecting the management & collection procedure will go on smoothly.

Our project aims at Business process automation, i.e. we have tried to


computerize various processes of Parcel Tracking System.

 In computer system the person has to fill the various forms & number of
copies of the forms can be easily generated at a time.
 In computer system, it is not necessary to create the manifest but we
can directly print it, which saves our time.
 To assist the staff in capturing the effort spent on their respective
working areas.
 To utilize resources in an efficient manner by increasing their
productivity through automation.
 The system generates types of information that can be used for various
purposes.
 It satisfy the user requirement
 Be easy to understand by the user and operator
 Be easy to operate

 Have a good user interface


 Be expandable
 Delivered on schedule within the budget.

Features of the project Parcel Tracking System:


 Product and Component based
 Creating & Changing Issues at ease
 Query Issue List to any depth
 Reporting & Charting in more comprehensive way
 User Accounts to control the access and maintain security
 Simple Status & Resolutions
 Multi-level Priorities & Severities.
 Targets & Milestones for guiding the programmers
 Attachments & Additional Comments for more information
 Robust database back-end
 Various level of reports available with a lot of filter criteria’s
 It contain better storage capacity.
 Accuracy in work.
 Easy & fast retrieval of information.
 Well designed reports.
 Decrease the load of the person involve in existing manual system.
 Access of any information individually.
 Work becomes very speedy.
 Easy to update information.

HARDWARE AND SOFTWARE SPECIFICATION

1) Minimum Hardware Requirements


 Pentium IV Processor
 512 MB RAM
 40 GB HDD
 Color Monitor
 Keyboard, Mouse

2) Software Requirements:-
 Python 3 (Any version)
 Any text editor(PyCharm,Notepad++, etc.)

The proposed system has the following requirements:


 System needs store information about new entry of Parcel.
 System needs to help the internal staff to keep information of Tracking
and find them as per various queries.
 System need to maintain quantity record.
 System need to keep the record of Tracking Number.
 System need to update and delete the record.
 ∙ System also needs a search area.
 ∙ It also needs a security system to prevent data.
Feasibility Study
After doing the project Parcel Tracking System, study and analyzing all the
existing or required functionalities of the system, the next task is to do the
feasibility study for the project. All projects are feasible - given unlimited
resources and infinite time.

Feasibility study includes consideration of all the possible ways to provide a


solution to the given problem. The proposed solution should satisfy all the
user requirements and should be flexible enough so that future changes can
be easily done based on the future upcoming requirements.

1. Economical Feasibility

This is a very important aspect to be considered while developing a project.


We decided the technology based on minimum possible cost factor.

∙ All hardware and software cost has to be borne by the organization. ∙ Overall
we have estimated that the benefits the organization is going to receive from
the proposed system will surely overcome the initial costs and the later on
running cost for system.

2. Technical Feasibility
This included the study of function, performance and constraints that may
affect the ability to achieve an acceptable system. For this feasibility study, we
studied complete functionality to be provided in the system, as described in
the System Requirement Specification (SRS), and checked if everything was
possible using different type of frontend and backend platform.

3. Operational Feasibility

No doubt the proposed system is fully GUI based that is very user friendly and
all inputs to be taken all self-explanatory even to a layman. Besides, a proper
training has been conducted to let know the essence of the system to the
users so that they feel comfortable with new system. As far our study is
concerned the clients are comfortable and happy as the system has cut down
their loads and doing.
Modules of Parcel Tracking System

 Admin Module : Admin module contains all the required


functions which include adding, viewing, deleting and updating.
 Tracking Module : Used for managing the Tracking Number
details .
 Users Module : Used for managing the users of the system.

Admin Features of Parcel Tracking System

Manage User– For the user, The admin can view, add, edit and delete user
information.
Manage Parcel– For the Parcel, The admin can add, edit and delete Parcel
information.
Login – By default the student need to login first to enable to access the
system.
Change Password– For the change password, The admin can change a
password for better security.

Customers(Users)

 With Limited Access


 Users can check status of their product after placing orders.
Brief overview of the technology:

Front end: HTML, CSS, JavaScript

1. HTML: HTML is used to create and save web document. E.g.


Notepad/Notepad++
2. CSS : (Cascading Style Sheets) Create attractive Layout
3. Bootstrap : responsive design mobile friendly site
4. JavaScript: it is a programming language, commonly use with web
browsers.

Back end: Python, Sqlite

1. Python: Python is an interpreted, object-oriented, high-level


programming language with dynamic semantics. Its high-level built in
data structures, combined with dynamic typing and dynamic binding.
2. Sqlite: Sqlite is a database, widely used for accessing querying, updating,
and managing data in databases.

DATA FLOW DIAGRAM


The data flow diagram shows the flow of data within any management system.
It is an important tool for designing phase of software engineering. Larry
Constantine first developed it. It represents graphical view of flow of data. It’s
also known as BUBBLE CHART. The purpose of DFD is major transformation
that will become in management system design symbols used in DFD.

In the DFD, four symbols are used and they are as follows.

1. A square defines a source (originator) or destination of management


system data.
2. An arrow identifies data flow-data in motion. It is 2a pipeline through
which information flows.

3. A circle or a “bubble “(Some people use an oval bubble) represents a


process that transfers informing data flows into outgoing data flows.

4. An open rectangle is a data store-data at rest, or a temporary


Repository of data.

Context Level Data Flow Diagram:-


This level shows the overall context of the management system and its
operating environment and shows the whole management system as just
one process. Online book store is shown as one process in the context
diagram; which is also known as zero level DFD, shown below. The
context diagram plays important role in understanding the management
system and determining the boundaries. The main process can be broken
into sub-processes and management system can be studied with more
detail; this is where 1st level DFD comes into play.
Zero Level Data Flow Diagram
This is the Zero level DFD of Parcel tracking system, where we have
elaborated the high level process of Parcel. It’s a basic overview of the whole
Parcel tracking system or process being analyzed or modeled. It should be
easily understood by a wide audience, including Parcel and Delivery in Zero
level DFD of Parcel tracking system.

High level entities and process flow of Parcel tracking system:

 Managing all the Parcel


 Managing all the Customer
 Managing all the Shipment
 Managing all the Delivery
First Level Data Flow Diagram
This is the First level DFD of Parcel tracking system, shows how the system is
divided into sub-systems, each of which deals with one or more of the data
flows to or from an external agent, and which together provide all the
functionality of the Parcel tracking system system as a whole.

Main entities and output of First level DFD:

 Processing Parcel records and generate report of all Parcel


 Processing customer records and generate report of all customer
 Processing shipment records and generate report of all shipment
 Processing delivery records and generate report of all delivery
 Processing tracking records and generate report of all tracking
Second Level Data Flow Diagram
DFD level 2 then goes one step deeper into parts of level 1 of Parcel. It may
require more functionalities of Parcel to reach the necessary level of detail
about the Parcel functioning.

Low level functionalities of Parcel tracking system:

 Admin logins to the system and manage all the functionalities of Parcel
tracking system
 Admin can add, edit, delete and view the records of Parcel, delivery,
tracking
 Admin can manage all the details of customer, shipment, delivery
 Admin can also generate reports o Parcel, customer, shipment, delivery
ENTITY RELATION DIAGRAMS:-

The Entity Relation Model or Entity Relation Diagram (ERD) is a data model or
diagram for high-level description of conceptual data model, and it provides a
graphical notation for representing such data models in the form of entity
relationship diagrams. Such models are typically used in the first stage of
Management information management system design; they are used for
example, to describe information needs and/ or the type of information that is
to be stored in the Database during the requirement analysis. The data
modeling technique, however, can be used to describe any ontology ( i.e an
overview and classification of used term and their relationships) for a certain
universe of discourse (i.e area of interest ).

In the case of design a Management Information Management system that is


based on a database, the conceptual data model is, a later stage( usually called
logical design), mapped to a logical data model such as, relational data model;
this is turn in mapped to a physical model during physical design. Note that
sometimes, both of the phases are referred a “physical design”. There are
number of convention for entity-relation diagrams (ERDs). The classical
notation is describe in the remainder of this article, and mainly related to the
conceptual modeling. There is a range of notation more typically employed in
physical and logical database design.

The mapping of E-R diagram to the entities are:

 Attributes

 Relations

 Many-to-many

 Many-to-one

 One-to-many
 One-to-one

 Weak entities

 Sub-type and super-type

ER Diagrams Symbols & Notations


Entity Relationship Diagram Symbols & Notations mainly contains three basic
symbols which are rectangle, oval and diamond to represent relationships
between elements, entities and attributes. There are some sub-elements
which are based on main elements in ERD Diagram. ER Diagram is a visual
representation of data that describes how data is related to each other using
different ERD Symbols and Notations.

Following are the main components and its symbols in ER Diagrams:

Rectangles: This Entity Relationship Diagram symbol represents entity types

Ellipses : Symbol represent attributes

Diamonds: This symbol represents relationship types


Lines: It links attributes to entity types and entity types with other
relationship types

Primary key: attributes are underlined

Double Ellipses: Represent multi-valued attributes


name Username
Address

DOB Signup ADMIN Email


User

Contact
Password
Email

Send
parce
Parcel
l
type

Parcel Parcel
request User weigh
t

Receiver
Generate address
ID
Not valid parcel
ID
See
parcel Status

Admin Status Parcel

Type
update
parcel Weight
status
Visitor

Track
Contact parcel
using ID
Security Testing of the Project
Testing is vital for the success of any software. no system design is ever
perfect. Testing is also carried in two phases. first phase is during the
software engineering that is during the module creation. second phase is after
the completion of software. this is system testing which verifies that the
whole set of programs hanged together.

White Box Testing:

In this technique, the close examination of the logical parts through the
software are tested by cases that exercise species sets of conditions or loops.
all logical parts of the software checked once. errors that can be corrected
using this technique are typographical errors, logical expressions which
should be executed once may be getting executed more than once and error
resulting by using wrong controls and loops. When the box testing tests all the
independent part within a module a logical decisions on their true and the
false side are exercised , all loops and bounds within their operational bounds
were exercised and internal data structure to ensure their validity were
exercised once.

Black Box Testing:

This method enables the software engineer to device sets of input techniques
that fully exercise all functional requirements for a program. black box testing
tests the input, the output and the external data. it checks whether the input
data is correct and whether we are getting the desired output.

Alpha Testing:

Acceptance testing is also sometimes called alpha testing. Be spoke systems


are developed for a single customer. The alpha testing proceeds until the
system developer and the customer agree that the provided system is an
acceptable implementation of the system requirements.
Beta Testing:

On the other hand, when a system isto be marked as a software product,


another process called beta testing is often conducted. During beta testing, a
system is delivered among a number of potential users who agree to use it.
The customers then report problems to the developers. This provides the
product for real use and detects errors which may not have been anticipated
by the system developers.

Unit Testing:

Each module is considered independently. it focuses on each unit of software


as implemented in the source code. it is white box testing.

Integration Testing:

Integration testing aims at constructing the program structure while at the


same constructing tests to uncover errors associated with interfacing the
modules. modules are integrated by using the top down approach.

Validation Testing:

Validation testing was performed to ensure that all the functional and
performance requirements are met.

System Testing:

It is executing programs to check logical changes made in it with intention of


finding errors. a system is tested for online response, volume of transaction,
recovery from failure etc. System testing is done to ensure that the system
satisfies all the user requirements.
Project Planning & Project Scheduling

PERT CHART

A project plan needs to be created to ensure the timely completion of


the project. As part of project analysis, we break the project down to a number
of stages and use a Gantt chart and PERT chart to describe specific tasks and
status.

The Work Breakdown Structure of our proposed management system


“E-Commerce” is shown below:

ID Task Name Duration Start Finish Predecessors Resource


Names
1 Project 2 days Sat 6/02/2021 Mon
Initiation
08/02/2021
2 Draft Project 2 days Tue 09/02/2021 Thu
Plan
11/02/2021
3 Analysis Phase 7 days Fri12/02/2021 Fri19/02/2021
4 Plan User 2 days Sat20/02/2021 Mon22/02/2021
Interviews
5 Schedule users 3 days Tue 23/02/2021 Fir26/06/2021
Interviews
6 Conducting 2 days Mon1/03/2021 Wed04/03/2021
users
Interviews
7 Management 20 days Fri 05/03/2021 Sat 27/03/2021 6
system Design
8 Modules Design 10 days Wed31/03/2021 Sat10/04/2021

9 Data Structure 3 days Mon Thu15/04/2021 8


Design 12/04/2021
10 User Interface 3 days Fri16/04/2021 Mon19/04/2021
Design
11 Coding Phase 36 days Tue20/04/2021 Thu25/05/2021

12 Testing Phase 9 days Wed26/05/2021 Fri

04/06/2021
13 Integration 5 days Sat05/06/2021 Thu 10/06/2021
Testing
14 Management 4 days Fri 11/06/2021 Thu 15/06/2021
systemLevel
Testing
15 Implementation 4 days Fri16/06/2021 Sun20/06/2021

16 Post- 2 days Mon21/06/2021 Wed23/06/2021


Implementation
Review
Advantages of Parcel tracking system
There are many advantages of the Parcel management system. Thus,
summarized below which can avoid the company from lagging from big delays
in consignment delivery.

This would help the managing the human resource and billing system etc. just
using one system i.e. Parcel Management System.
There are several advantages of using the Parcel management system in a
business setting are:

Cost savings:

This system manages the human and other resources in such a way that the
cost of delivery of each consignment decreases and helps the company to get
more profit.

Increased efficiency:

The Parcel management system allows the process of delivery of consignment


faster than before. This also increases the customer satisfaction level.

Data security:

By supplementary with the restricted user rights, company managers can


allow many employees to contribute to Parcel management.

They can process the consignment and update the status only with the
authenticated process to make user data secure which is our main concern in
this era.
DATABASE TABLES
1. Admin and User Login Table

class Signup(models.Model):
user=models.ForeignKey(User,on_delete=models.CASCADE)
mobile = models.CharField(max_length=20,null=True)
image = models.FileField(null=True)
gender = models.CharField(max_length=10,null=True)
dob = models.DateField()
address = models.CharField(max_length=50,null=True)
def _str_(self):
return self.user.username
2. Parcel request table:-

class ParcelRequest(models.Model):
first_name=models.CharField(max_length=40,null=True)
last_name=models.CharField(max_length=40,null=True)
email=models.CharField(max_length=40,null=True)
mobile=models.CharField(max_length=40,null=True)
parcel_type=models.CharField(max_length=40,null=True)
request_date=models.CharField(max_length=50,null=True)
gov_id=models.CharField(max_length=40,null=True)
gov_no=models.CharField(max_length=40,null=True)
weight=models.CharField(max_length=40,null=True)
address=models.CharField(max_length=200,null=True)
status=models.CharField(max_length=40,null=True)
parcel_id=models.IntegerField(max_length=50,null=True)
3. Receiver table

class Receiver(models.Model):
name=models.CharField(max_length=50,null=True)
contact=models.CharField(max_length=50,null=True)
pin=models.CharField(max_length=50,null=True)
house=models.CharField(max_length=50,null=True)
city=models.CharField(max_length=50,null=True)
state=models.CharField(max_length=50,null=True)
send_date=models.CharField(max_length=50,null=True)
parcel_id=models.IntegerField(max_length=50,null=True)
parcel_status=models.CharField(max_length=200,null=True)
parcel_date=models.CharField(max_length=200,null=True)
parcel_msg=models.CharField(max_length=200,null=True)
4. Feedback table

class Feedback(models.Model):
feedback_name = models.CharField(max_length=20,null=True)
feedback_contact = models.CharField(max_length=30, null=True)
feedback_email = models.CharField(max_length=10,null=True)
feedback_comment = models.CharField(max_length=15,null=True)
Project Screenshots
1. Home page –

2. User Home page –


3. Send Parcel Request form

4. Admin Home page


5. Parcel Request –

6. Parcel request confirm or cancel –


7. My Parcel –

8. Genrate Parcel ID –
9. View Users –

10. Update Parcel Status –


11. Check Parcel Status –

12. Track Parcel by ID –


Coding of Project
Admin.py –
from django.contrib import admin
from .models import *

admin.site.register(Signup)
admin.site.register(Feedback)
admin.site.register(ParcelRequest)
admin.site.register(Receiver)

models.py –
from django.db import models
from django.contrib.auth.models import User

class Signup(models.Model):
user=models.ForeignKey(User,on_delete=models.CASCADE)
mobile = models.CharField(max_length=20,null=True)
image = models.FileField(null=True)
gender = models.CharField(max_length=10,null=True)
dob = models.DateField()
address = models.CharField(max_length=50,null=True)
def _str_(self):
return self.user.username

class Feedback(models.Model):
feedback_name = models.CharField(max_length=20,null=True)
feedback_contact = models.CharField(max_length=30, null=True)
feedback_email = models.CharField(max_length=10,null=True)
feedback_comment = models.CharField(max_length=15,null=True)

class ParcelRequest(models.Model):
first_name=models.CharField(max_length=40,null=True)
last_name=models.CharField(max_length=40,null=True)
email=models.CharField(max_length=40,null=True)
mobile=models.CharField(max_length=40,null=True)
parcel_type=models.CharField(max_length=40,null=True)
request_date=models.CharField(max_length=50,null=True)
gov_id=models.CharField(max_length=40,null=True)
gov_no=models.CharField(max_length=40,null=True)
weight=models.CharField(max_length=40,null=True)
address=models.CharField(max_length=200,null=True)
status=models.CharField(max_length=40,null=True)
parcel_id=models.IntegerField(max_length=50,null=True)

class Receiver(models.Model):
name=models.CharField(max_length=50,null=True)
contact=models.CharField(max_length=50,null=True)
pin=models.CharField(max_length=50,null=True)
house=models.CharField(max_length=50,null=True)
city=models.CharField(max_length=50,null=True)
state=models.CharField(max_length=50,null=True)
send_date=models.CharField(max_length=50,null=True)
parcel_id=models.IntegerField(max_length=50,null=True)
parcel_status=models.CharField(max_length=200,null=True)
parcel_date=models.CharField(max_length=200,null=True)
parcel_msg=models.CharField(max_length=200,null=True)

views.py –
from django.shortcuts import render,redirect
from django.contrib.auth.models import User,auth
from django.contrib.auth import authenticate,login,logout
from .models import *
import datetime
def index(request):
return render(request,'index.html')

def login(request):
error=""
if request.method == "POST":
ur = request.POST['uname']
pd = request.POST['pwd']
user = auth.authenticate(username=ur,password=pd)
try:
if user.is_staff:
auth.login(request,user)
error = "no"
elif user is not None:
auth.login(request,user)
return redirect('user_home')
error = "not"
else:
error = "yes"
except:
error = "yes"
d = {'error':error}
return render(request,'login.html',d)

def signup(request):
error = ""
if request.method=='POST':
f=request.POST['fname']
l=request.POST['lname']
e = request.POST['email']
con = request.POST['contact']
p = request.POST['pwd']
gen = request.POST['gender']
i=request.FILES['image']
addr=request.POST['address']
d=request.POST['dob']
try:

user=User.objects.create_user(first_name=f,last_name=l,username=e,passwor
d=p)

Signup.objects.create(user=user,mobile=con,image=i,gender=gen,address=ad
dr,dob=d)
error="no"
except:
error="yes"
d={'error':error}
return render(request,'signup.html',d)

def admin_home(request):
if not request.user.is_authenticated:
return redirect('login')
return render(request,'admin_home.html')

def Logout(request):
logout(request)
return redirect('index')

def view_users(request):
if not request.user.is_authenticated:
return redirect('admin_login')
data = Signup.objects.all()
d = {'data':data}
return render(request,'view_users.html',d)

def delete_user(request,pid):
if not request.user.is_authenticated:
return redirect('admin_login')
student = User.objects.get(id=pid)
student.delete()
return redirect('view_users')

def change_passwordadmin(request):
if not request.user.is_authenticated:
return redirect('user_login')
error=""
if request.method=="POST":
c = request.POST['currentpassword']
n = request.POST['newpassword']
try:
u = User.objects.get(id=request.user.id)
if u.check_password(c):
u.set_password(n)
u.save()
error="no"
else:
error="not"
except:
error="yes"
d = {'error':error}
return render(request,'change_passwordadmin.html',d)

def user_home(request):
if not request.user.is_authenticated:
return redirect('login')
return render(request,'user_home.html')

def change_passworduser(request):
if not request.user.is_authenticated:
return redirect('user_login')
error=""
if request.method=="POST":
c = request.POST['currentpassword']
n = request.POST['newpassword']
try:
u = User.objects.get(id=request.user.id)
if u.check_password(c):
u.set_password(n)
u.save()
error="no"
else:
error="not"
except:
error="yes"
d = {'error':error}
return render(request,'change_passworduser.html',d)

def feedback(request):
if not request.user.is_authenticated:
return redirect('feedback')
error=""
if request.method=='POST':
n = request.POST['fname']
p = request.POST['fphone']
e = request.POST['femail']
c = request.POST['fcomment']
try:

Feedback.objects.create(feedback_name=n,feedback_contact=p,feedback_emai
l=e,feedback_comment=c)
error = "no"
except:
error="yes"
d = {'error':error}
return render(request,'feedback.html',d)
def view_feedback(request):
if not request.user.is_authenticated:
return redirect('admin_login')
data = Feedback.objects.all()
d = {'data':data}
return render(request,'view_feedback.html',d)

def delete_feedback(request,id):
if not request.user.is_authenticated:
return redirect('admin_login')
feedback = Feedback.objects.get(id=id)
feedback.delete()
return redirect('view_feedback')

def send_parcel(request):
if not request.user.is_authenticated:
return redirect('login')
user = request.user
time = datetime.datetime.today()
error=""
if request.method=='POST':
f=request.POST['fname']
l=request.POST['lname']
e=request.POST['email']
c=request.POST['contact']
pt=request.POST['ptype']
rd=request.POST['rdate']
gi=request.POST['gid']
gn=request.POST['gidn']
w=request.POST['weight']
add=request.POST['address']
try:
ParcelRequest.objects.create(first_name=f,last_name=l,email=e,mobile=c,parc
el_type=pt,request_date=rd,gov_id=gi,gov_no=gn,weight=w,address=add,statu
s="Pending")
error="no"
except:
error="yes"
d={'time':time,'user':user,'error':error}
return render(request,'send_parcel.html',d)

def view_my_parcel(request):
if not request.user.is_authenticated:
return redirect('login')
data = ParcelRequest.objects.all()

d={'data':data}
return render(request,'view_my_parcel.html',d)

def view_parcel_admin(request):
if not request.user.is_authenticated:
return redirect('login')
data = ParcelRequest.objects.all()
data2 = Receiver.objects.all()
d={'data':data,'data2':data2}
return render(request,'view_parcel_admin.html',d)

def change_status(request,id):
if not request.user.is_authenticated:
return redirect('admin_login')
booking=ParcelRequest.objects.get(id=id)
error=""
if request.method == "POST":
rs = request.POST['rstatus']
booking.status = rs
try:
booking.save()
error = "no"
except:
error = "yes"
d = {'booking': booking,'error':error}
return render(request,'change_status.html',d)

def delete_parcel(request,id):
data=ParcelRequest.objects.get(id=id)
data.delete()
return redirect('view_my_parcel')

def sender_detail(request,id):
if not request.user.is_authenticated:
return redirect('login')
pr = ParcelRequest.objects.get(id=id)
w= int(pr.weight)*100
time = datetime.datetime.today()
error=""
if request.method=='POST':
n=request.POST['fname']
c=request.POST['contact']
pin=request.POST['pin_code']
hou=request.POST['house']
city=request.POST['city']
st=request.POST['state']
sd=request.POST['send_date']
pid=444+int(id)
try:
Receiver.objects.create(name=n,contact=c,pin=pin,house=hou,
city=city,state=st,send_date=sd,parcel_id=pid,
parcel_status="Your Parcel is Shipped")
pr.parcel_id=pid
pr.save()
error="no"
except:
error="yes"
d={'time':time,'w':w,'error':error}
return render(request,'sender_detail.html',d)

def check_status_user(request,pid):
if not request.user.is_authenticated:
return redirect('login')
data=Receiver.objects.get(parcel_id=pid)
d={'data':data}
return render(request,'check_status_user.html',d)

def change_track_status(request,pid):
if not request.user.is_authenticated:
return redirect('login')
error=""
time=datetime.datetime.today()
data = Receiver.objects.get(parcel_id=pid)
if request.method=="POST":
sv=request.POST['status_value']
dt=request.POST['date_time']
msg=request.POST['message']
try:
data.parcel_status=sv
data.parcel_date=dt
data.parcel_msg=msg
data.save()
error="no"
except:
error="yes"
d={'data':data,'time':time,'error':error}
return render(request,'change_track_status.html',d)
def visitor_track(request):
error="yes"
try:
if request.method=='POST':
vid=request.POST['vid']
vid=int(vid)
data = Receiver.objects.all()
d={'vid':vid,'data':data}
return render(request,'parsel_location.html',d)
except:
error="no"
d={'error':error}
return render(request,'visitor_track.html',d)

def parsel_location(request):
data=Receiver.objects.all()
d={'data':data}
return render(request,'parsel_location.html',d)
FUTURE ENHANCEMENT OF PARCEL TRACKING SYSTEM
It is still mature and fully enthusiastically. Any requirements, this project is
completed but still, they want to update and modify some modules. We are
always thinking about association requirements also growing day by day.

We always want to implement something more. This project is completed


when you watch, but we want to implement more things.

CONCLUSION OF PARCEL TRACKING SYSTEM


The project titled ‘Parcel Management Service’ was developed to the Parcel
services and direction and with their help. The system was tested and the
performance of the system was found to be acceptable.

All the necessary output was created. The system was found to be user-
friendly with a help message for the customer. The menu Driven Architecture
of the system provide an easy-to-use environment for the users.

The system was implemented successfully. The manpower and working hours
needed to operate the system were less and it was seen to be more secure.
Thus, the project was completed successfully.

You might also like