Courier Service System
Courier Service System
Submitted in partial fulfillment of the Requirements for the award of the degree in
Bachelor of Technology
In
COMPUTER SCIENCE & ENGINEERING
By
B. AISHWARYA 20681A0506
T. VARSHITHA 20681A0560
G. ARCHANA 20681A0517
S. ANAND SWAROOP 20681A0554
MD. RAHEEM 20681A0543
Under the Esteemed Guidance of
Mr. H. SATHISH
(Assistant Professor)
2023-2024
CHRISTU JYOTHI INSTITUTE OF TECHNOLOGY & SCIENCE
2023-2024
CERTIFICATE
This is to certify that it is a Bonafide record of project work entitled “Courier Service
during the academic year 2023-2024, in partial fulfilment for the requirement for the
External Examiner
CHRISTU JYOTHI INSTITUTE OF TECHNOLOGY & SCIENCE
2023 – 2024
DECLARATION
We hereby declare that the document entitled “Courier Service System” submitted
to the Christu Jyothi Institute of Technology & Science in partial fulfilment of the
Science and Engineering is a record of an original work done by us under the guidance
of Mr. H. Sathish (Assistant Professor) and Mr. E. Madhu (Assistant Professor) and
this document has not been submitted to any other university for the award of any other
degree.
B. AISHWARYA 20681A0506
T. VARSHITHA 20681A0560
G. ARCHANA 20681A0517
S. ANAND SWAROOP 20681A0554
MD. RAHEEM 20681A0543
ACKNOWLEDGEMENT
On the submission of our project entitled “Courier Service System” we would like to
thank our Director Rev. Fr. D. VIJAYA PAUL REDDY for giving us the opportunity
to carry out our project work.
We would also like to extend our sincere thanks to Mr. M. RAMARAJU., Assistant
Professor, Head of the Department, Computer Science & Engineering, for his valuable
suggestions and motivating guidance during our project work.
We would like to extend our gratitude and sincere thanks to our guide Mr. H.
SATHISH and Mr. E. MADHU, Department of Computer Science and Engineering for
their valuable and timely suggestions.
We are very thankful to our teachers for providing the required background during the
project work. We would also like to extend our gratitude to our friends and those who are
directly or indirectly helped us in completing our project work.
B. AISHWARYA 20681A0506
T. VARSHITHA 20681A0560
G. ARCHANA 20681A0517
S. ANAND SWAROOP 20681A0554
iv
CHRISTU JYOTHI INSTITUTE OF TECHNOLOGY & SCIENCE
Vision
To admit and groom students from rural background and be a truly rural technical
Mission
The mission of the institution is to create, deliver and refine knowledge. Being a rural
1. Enhance our position to one of the best technical institutions and to measure
2. Provide highest quality learning environment to our students for their greater
v
CHRISTU JYOTHI INSTITUTE OF TECHNOLOGY & SCIENCE
Vision
To be a center of eminence to mould young, fresh minds into challenging computer science
Mission
vi
CHRISTU JYOTHI INSTITUTE OF TECHNOLOGY & SCIENCE
PEO 1 Graduates of B. Tech (CSE) are able to formulate, analyze, and solve hardware and
PEO3 Show the awareness of life-long learning needed for a successful professional
career and exhibit ethical values, excellence, leadership, and social responsibilities.
vii
CHRISTU JYOTHI INSTITUTE OF TECHNOLOGY & SCIENCE
Colombo Nagar, Yeshwanthapur, Jangoan – 506167
PROGRAM OUTCOMES
PO No Program Outcomes
PO1 Engineering knowledge apply the knowledge of mathematics, science, engineering
fundamentals, and an engineering specialization to the solution of complex engineering
problems.
PO2 Problem analysis identity, formulate, review research literature, and analyze complex
engineering problems reaching substantiated conclusions using first principles of
mathematics, natural sciences, and engineering sciences
PO3 Design/development of solutions design solutions for complex engineering problems
and design system components or processes that meet the specified needs with
appropriate consideration for the public health and safety, and the cultural, societal,
and environmental considerations.
PO4 Conduct investigations of complex problems use research-based knowledge and
research methods including design of experiments, analysis and interpretation of data,
and synthesis of the information to provide valid conclusions.
PO5 Modern tools usage Create, Select, and apply appropriate techniques resources, and
modern engineering and IT tools including predictions and modeling to complex
engineering activities with an understanding of the limitations.
PO6 The engineer and society apply reasoning informed by the contextual knowledge to
assess societal and environment contexts, and demonstrate the knowledge of, and
need for sustainable development.
PO7 Environment and sustainability understand the impact of the professional engineering
solutions in societal and environmental contexts, and demonstrate the knowledge of,
and need for sustainable development.
PO8 Ethics apply ethical principles and commit to professional ethics and responsibilities and
norms of the engineering practice.
P09 Individual and team work function effectively as an individual, and as a member or
leader in diverse teams, and in multidisciplinary settings
PO10 Communication communicates effectively on complex engineering activities with the
engineering community and with society at large, such as, being able to comprehend
and write effective reports and design documentation, make effective presentations.
PO11 Project management and finance demonstrate knowledge and understanding of the
engineering and management principles and apply these to one’s own work, as a
member and leader in a team, to manage projects and in multidisciplinary
environments.
PO12 Life-long learning recognizes the need for, and have the preparation and ability to
engage and lifelong learning in the broadest context of technology change.
viii
CHRISTU JYOTHI INSTITUTE OF TECHNOLOGY & SCIENCE
PSO 1 Proficiency Skill: Understand, analyze and develop computer programs in the
areas related to algorithms, system software, multimedia, web design, big data analytics
ix
ABSTRACT
In today's rapidly advancing world, the demand for efficient courier services has never
been greater. Traditional courier systems often struggle to meet the demands of modern
consumers and businesses, leading to inefficiencies and customer dissatisfaction. To
address these challenges, this project introduces an Enhanced Courier Service System
Application, leveraging cutting-edge technologies including ReactJS for the frontend, Java
Spring Boot for the backend, and MongoDB for the database. The primary objective of this
project is to develop a robust and scalable courier service system that offers enhanced
features and functionalities to meet the evolving needs of users. By adopting a modular and
integrated approach, the application aims to streamline the entire courier service process,
from order placement to delivery tracking, while optimizing efficiency and customer
satisfaction. Utilizing ReactJS for the frontend enables the development of responsive and
intuitive user interfaces, enhancing the overall user experience. Java Spring Boot, with its
robust framework and extensive libraries, powers the backend, providing scalability,
security, and performance. MongoDB, a NoSQL database, offers flexibility and scalability,
allowing for the storage and retrieval of large volumes of data. The modular design of the
system enables easy maintenance and future enhancements, ensuring adaptability to
changing requirements and technologies. By incorporating industry-standard practices such
as UML diagrams, data flow diagrams, and sample test cases, the project aims to deliver a
high-quality, reliable, and user- friendly courier service system application. Through the
integration of ReactJS, Java Spring Boot, and MongoDB, the application delivers enhanced
features, improved efficiency, and greater customer satisfaction. This project lays the
foundation for future innovations in the courier industry, setting new standards for
reliability, speed, and convenience.
x
TABLE OF CONTENTS
1. INTRODUCTION ..............................................................................................................1
6. CODING .........................................................................................................................22
6.1 FRONTEND CODE ....................................................................................................22
7. TESTING .........................................................................................................................34
9. CONCLUSION ...................................................................................................................46
In today's fast-paced world, the efficiency and reliability of courier services play a
crucial role in facilitating commerce, communication, and connectivity. As businesses and
consumer increasingly rely on timely and secure delivery of goods and documents, the need
for advanced courier service systems become more pressing. Traditional systems often
struggle to keep pace with the demands of modern logistics, resulting in inefficiencies,
delays, and customer dissatisfaction. To address these challenges, this project introduces
an Enhanced Courier Service System Application, leveraging the power of ReactJS, Java
Spring Boot, and MongoDB to deliver a comprehensive solution that meets the evolving
needs of users and businesses. The purpose of this introduction is to provide context for the
development of the Enhanced Courier Service System Application and to outline the
objectives and scope of the project. This section will discuss the importance of efficient
courier services in today's global economy, highlight the limitations of existing systems,
and introduce the technologies and methodologies employed in the development of the
proposed solution.
Importance of Efficient Courier Services:
Courier services play a vital role in facilitating trade, commerce, and communication
on a global scale. From delivering packages and documents to enabling e-commerce
transactions, courier companies serve as the backbone of modern logistics networks. In
today' interconnected world, businesses rely on timely and reliable delivery services to
meet customer expectations and stay competitive in the marketplace. Additionally,
individuals depend on courier services for personal and professional purposes. Despite their
importance, traditional courier systems face numerous challenges that hinder their
effectiveness and efficiency. These challenges include outdated technology. The
infrastructure, manual and error-prone processes, limited visibility into shipment status,
and lack of real-time tracking capabilities. As a result, courier companies struggle to
provide accurate delivery estimates, optimize route planning, and respond quickly to
changing customer demands. Moreover, the rise of e-commerce has further amplified these
challenges, with increasing pressure on courier services to handle a growing volume of
shipments with speed and accuracy.
1
1.1 Objectives of Courier Service System
Courier service systems play a pivotal role in facilitating the swift and secure
transfer of goods, documents, and parcels across various distances. These systems are
designed with several objectives in mind to ensure efficiency, reliability, and customer
satisfaction. Here are the primary objectives of a courier service system:
• Timely Delivery: One of the foremost objectives of a courier service system is to
ensure the timely delivery of parcels and documents to their intended destinations.
Prompt delivery is crucial for meeting customer expectations and maintaining trust
in the service.
• Safety and Security: Ensuring the safety and security of packages throughout the
delivery process is paramount. Courier service systems implement robust security
measures to safeguard shipments from theft, damage, or loss, thereby instilling
confidence in customers regarding the protection of their valuable items.
• Efficient Routing and Logistics: Efficient routing and logistics management are
essential for optimizing delivery routes, minimizing transit times, and reducing
operational costs. Courier service systems leverage advanced technology and
algorithms to streamline route planning, vehicle scheduling, and package tracking,
2
• Cost-effectiveness: Balancing service quality with cost-effectiveness is a key
objective for courier service systems. By optimizing operational processes,
minimizing overhead expenses, and leveraging economies of scale, couriers aim to
provide competitive pricing without compromising on service quality.
1.2 Scope
The scope of a courier service system encompasses a wide range of activities and
functions involved in the transportation and delivery of parcels, documents, and goods
across various geographical locations. This includes the collection of shipments from
senders, sorting and processing packages at distribution centers, efficient routing and
scheduling of deliveries, real- time tracking of shipments, safe and secure transportation
via various modes of transportation such as trucks, planes, and delivery vehicles, and
finally, the timely delivery of parcels to their intended recipients. Additionally, the scope
extends to customer service operations, including inquiry handling, issue resolution, and
providing support throughout the delivery process. With the advent of technology, the
scope of courier service systems also includes digital platforms for online booking, package
tracking, and electronic documentation. Furthermore, the scope encompasses compliance
with regulatory standards, adherence to environmental sustainability practices, and
continuous improvement initiatives to enhance service quality and efficiency. Overall, the
scope of a courier service system is broad, covering all aspects of the delivery process to
ensure seamless, reliable, and customer-centric service.
3
2. LITERATURE SURVEY
Security and data integrity are paramount concerns in courier service transactions, as
highlighted by Chen et al. (2019). Their research proposes the integration of blockchain
technology to enhance security and transparency, addressing vulnerabilities associated
with traditional transactional systems. By leveraging blockchain, courier companies can
ensure tamper-proof data records and foster trust among stakeholders.
4
3.Patel, Rajesh. (2022). "Customer Relationship Management in Courier
Services:
Moreover, the integration of Internet of Things (IoT) devices and cloud computing in
courier logistics, as explored by Zhang and Li (2022), enables real-time monitoring of
shipments and inventory management. This integration enhances operational efficiency and
enables proactive decision-making, thereby improving overall service quality and customer
satisfaction.
4.International-Courier-Association.(2023).Courier-Service-Regulations
Sustainability considerations have also emerged as a key focus area in courier services,
as evidenced by the work of Jones et al. (2023). Their research underscores the importance
of eco-friendly delivery strategies and vehicle fleet management practices to mitigate
environmental impact. By adopting sustainable practices, courier companies can reduce
carbon emissions and contribute to environmental conservation efforts. In summary, the
literature on enhanced courier service system applications provides valuable insights into
optimization strategies, technological advancements, customer-centric approaches,
security measures, and sustainability considerations. By synthesizing these insights, courier
companies can enhance their service offerings, improve operational efficiency, and meet
the evolving needs of customers and stakeholders in the digital
5
3. SYSTEM ANALYSIS
3.1 EXISTING SYSTEM
The existing system of courier service relies predominantly on manual processes for
order placement, package handling, and delivery tracking. Customers typically interact
with courier companies through phone calls or online portals to initiate shipments, which
are then processed manually by staff members. Packages are sorted and assigned to
delivery routes based on predetermined schedules, often without real-time optimization.
Tracking capabilities are limited, providing customers with minimal visibility into the
status and location of their shipments. Communication between courier companies,
drivers, and customers may be fragmented, leading to misunderstandings and delays.
Scalability is a challenge for legacy systems, making it difficult for companies to adapt
to changing demand or expand their operations efficiently. Security measures may be
lacking, posing risks to both customer information and package integrity. Overall, the
existing system of courier service is characterized by manual processes, limited tracking
capabilities, inefficiencies in routing, communication challenges, scalability issues, and
security concerns.
3.1.1 DISADVANTAGES OF EXISTING SYSTEM
• Manual Processes: Traditional courier systems often rely heavily on manual
processes for order placement, package sorting, and delivery scheduling. This
manual intervention can lead to errors, delays, and inefficiencies in the overall
process.
• Limited Tracking Capabilities: Many existing courier systems lack robust
tracking capabilities, making it difficult for customers to monitor the status and
location of their shipments in real-time. This lack of visibility can lead to
frustration and dissatisfaction among customers who expect timely updates on
their deliveries.
6
• Poor Communication: Communication between courier companies, drivers, and
customers may be limited or unreliable in traditional systems. This can result in
misunderstandings, missed deliveries, and difficulty resolving issues or inquiries
related to shipments.
• Limited Scalability: Legacy courier systems may have limited scalability, making it
challenging for companies to adapt to changes in demand or expand their
operations. Security Concerns: Traditional courier systems may lack robust
security measures to protect sensitive customer information and prevent
unauthorized access to packages. This can pose a risk to both customers and courier
companies, particularly in cases of lost or stolen shipments.
7
3.2 PROPOSED SYSTEM
The proposed system for the courier service application aims to revolutionize the
traditional courier service industry by leveraging advanced technologies to enhance
efficiency, reliability, and customer satisfaction. The system will be developed using a
modern tech stack, including ReactJS for the frontend, Java Spring Boot for the backend,
and MongoDB for database management.
3.2.1 ADVANTAGES
1. User-Friendly Interface: The system will boast a user-friendly interface
developed using ReactJS, providing users with an intuitive and seamless
experience throughout their interaction with the application.
2. Comprehensive User Management: Users will have the ability to register, log
in securely, and manage their profiles, addresses, and preferences conveniently
within the application.
3. Efficient Order Placement and Tracking: Users can easily place new orders,
track the status and location of their shipments in real-time, and receive timely
notifications about order updates.
4. Secure Payment Processing: The system will integrate with secure payment
gateways to facilitate smooth and secure payment transactions, ensuring the safety
of users' financial information.
5. Streamlined Admin Dashboard: Administrators will have access to a
centralized dashboard equipped with robust functionalities for managing users,
orders, shipments, payments, and feedback efficiently.
8
7. Efficient Order Placement and Tracking: Users can easily place new orders,
track the status and location of their shipments in real-time, and receive timely
notifications about order updates.
8. Secure Payment Processing: The system will integrate with secure payment
gateways to facilitate smooth and secure payment transactions, ensuring the safety
of users' financial information.
9. Streamlined Admin Dashboard: Administrators will have access to a
centralized dashboard equipped with robust functionalities for managing users,
orders, shipments, payments, and feedback efficiently.
10. Advanced Shipment Management: The system will implement advanced
shipment management features, including route optimization algorithms and
delivery scheduling, to optimize delivery routes and minimize delivery times.
11. Interactive Feedback System: Users will have the ability to provide feedback,
ratings, and reviews on their delivery experiences, enabling administrators to
gather valuable insights and continuously improve service quality.
12. Scalability and Reliability: The proposed system will be designed with scalability
and reliability in mind, ensuring that it can accommodate a growing user base and
handle high volumes of transactions without compromising performance.
13. Enhanced Security Measures: Robust security measures, including encryption
techniques, role-based access control, and regular security audits, will be
implemented to safeguard user data and protect against cyber threats.
14. Continuous Improvement and Innovation: The system will prioritize
continuous improvement and innovation, with regular updates and enhancements
based on user feedback, technological advancements, and industry best practices.
Overall, the proposed system aims to set new standards for courier service
applications, offering users a seamless and enjoyable experience while empowering
administrators with powerful tools to streamline operations and deliver exceptional
service.
9
3.3 MODULES AND FUNCTONALITIES
Each module in a courier service system project is explained in the below
1. Admin Dashboard:
The Admin Dashboard serves as the central control panel for administrators to manage
oversee all aspects of the courier service system.
Functionalities include user management, tracking system performance, generating
reports, managing courier agents, monitoring shipments, and configuring system settings.
Administrators can view real-time analytics, track key performance indicators (KPIs),
and make data-driven decisions to optimize operations.
2. User Module:
The User Module enables individuals or businesses to register, create accounts, and
access the courier service system. Users can update their profile information, manage
addresses, and view order history. Functionalities include registration, login/logout,
password management, profile editing, and account deletion.
3. Login Module:
The Login Module provides authentication and access control mechanisms for users
and administrators to securely access the courier service system.
Users are required to provide valid credentials (username/email and password) to
authenticate themselves and gain access to their accounts. The module ensures data
security by verifying user credentials and preventing unauthorized access.
4. Product Module:
The Product Module facilitates the management of products or parcels to be shipped
through the courier service system. Users can create new shipment orders, specify package
details (e.g., dimensions, weight), and schedule pickup/drop-off locations.
Functionalities include adding/editing product information, specifying delivery
preferences (e.g., express delivery, package insurance), and estimating shipping costs.
10
5. Payment Module:
The Payment Module facilitates secure online payment processing for courier services.
Users can choose from various payment methods (e.g., credit/debit cards, digital wallets)
and complete transactions securely. Functionalities include integrating with payment
gateways, handling payment authorization and validation, and generating payment
receipts.
6. Shipment/Track Module:
The Shipment/Track Module enables users to track the status and location of their
shipments in real-time. Users can input tracking numbers or order IDs to access shipment
tracking information, including current status, estimated delivery time, and delivery route
.Functionalities include tracking shipments, providing shipment updates (e.g., out for
delivery, delivered), and notifying users of delivery status changes.
7. Feedback Module
The Feedback Module allows users to provide feedback and ratings on their courier
service experience. Functionalities include collecting feedback through surveys or forms,
analyzing customer satisfaction scores, and addressing customer concerns to improve
service quality. These modules collectively form the backbone of a courier service
system, enabling efficient order management, secure transactions, transparent tracking,
and seamless communication between users and administrators.
11
3.3.1 Entity-Relationship Diagram
13
4.1.1 USECASE DIAGRAM
Figure 2: Use Case Diagram for representing the actors performing their work
14
4.1.1 Activity Diagram:
15
4.1.2 Sequence Diagram:
A Sequence diagram is a kind of interaction diagram that shows how processes operate
with one another and in what order. It is a construct of Message Sequence diagrams are
sometimes called event diagrams, event sceneries and timing diagram.
16
4.1.3 class diagram
Class diagrams are a type of UML (Unified Modeling Language) diagram used in software
engineering to visually represent the structure and relationships of classes within a system
i.e. used to construct and visualize object-oriented systems.
17
4.2 DATAFLOW DIAGRAM
A data flow diagram (DFD) maps out the flow of information for any process or
system. It uses defined symbols like rectangles, circles and arrows, plus short text labels, to
show data inputs, outputs, storage points and the routes between each destination. Data
flowcharts can range from simple, even hand-drawn process overviews, to in-depth, multi-
level DFDs that dig progressively deeper into how the data is handled. They can be used to
analyze an existing system or model a new one.
18
4.2.2 First- Level DFD
19
4.2.3 Second-Level DFD
20
5 . HARDWARE AND SOFTWARE REQUIREMENTS
A Software Requirements Specification (SRS) is a document that specifies the functional and
non- functional requirements of a software system. It often comprises a description of the
system's features, restrictions, and performance needs, as well as any external interfaces and
dependencies. The SRS document acts as a template for the development team and a foundation
for validating that the system satisfies the demands of the stakeholders. Some significant
components to consider are functional requirements, dysfunctional requirements, user interface,
data needs, and performance.
• Database : Mongo-Db
21
6. CODE
6.1 FRONT-END
1. Courierdetail.js
import React, { useState } from 'react' import Box
from '@mui/material/Box'
import Typography from '@mui/material/Typography' import { toast }
from 'react-toastify'
import 'react-toastify/dist/ReactToastify.css' import
{
Button, Card,
CardContent,
Dialog,
DialogTitle,
InputLabel,
MenuItem,
Paper, Select,
Tab, Tabs,
TextField,
} from '@mui/material'
import { Formik } from 'formik' import *
as yup from 'yup'
import { useSelector } from 'react-redux' import {
apiHost } from '../apiLoc'
function TabPanel(props) {
const { children, value, index, ...other } = props
return (
<div role='tabpanel'
hidden={value !== index}
id={`simple-tabpanel-${index}`}
aria-labelledby={`simple-tab-${index}`}
{...other}
>
{value === index && (
<Box sx={{ p: 3 }}>
22
<Typography>{children}</Typography>
</Box>
)}
</div>
)
}
23
</Typography>
</CardContent>
</Card>
)
}
const initValues = {
item: props.data && props.data.item, weight:
props.data && props.data.weight,
status: props.data && props.data.status[`${depId}`],
}
24
})
return (
<div>
<Dialog open={props.modalOpen}
onClose={props.handleModalClose}>
<DialogTitle>Courier Details</DialogTitle>
<Box>
<Box sx={{ borderBottom: 1, borderColor: 'divider' }}>
<Tabs value={value} onChange={handleTabChange} centered>
25
<Tab
label='Package Details'
{...additionalTabWiseAttributes(0)}
/>
<Tab label='Sender Details' {...additionalTabWiseAttributes(1)}
/>
<Tab
label='Receiver Details'
{...additionalTabWiseAttributes(2)}
/>
</Tabs>
</Box>
26
<form onSubmit={handleSubmit}>
<Box display='grid'
gap='30px'
gridTemplateColumns='repeat(4, minmax(0, 1fr))'
>
<TextField fullWidth
variant='standard'
type='text'
label='Item Description'
onBlur={handleBlur}
onChange={handleChange}
name='item' value={values.item}
error={!!touched.item && !!errors.item}
helperText={touched.item && errors.item} sx={{
gridColumn: 'span 2' }}
/>
<TextField fullWidth
variant='standard'
type='text'
label='Weight'
onBlur={handleBlur}
onChange={handleChange}
name='weight'
value={values.weight}
error={!!touched.weight && !!errors.weight}
helperText={touched.weight && errors.weight} sx={{
gridColumn: 'span 2' }}
/>
</Box>
<Box display='grid'
gap='30px'
gridTemplateColumns='repeat(4, minmax(0, 1fr))' marginTop={1}
>
<InputLabel id='status-label' sx={{ fontSize: 12 }}>
27
Status
</InputLabel>
<Select labelId='status-
label' fullWidth
variant='standard'
type='text' label='Status'
onBlur={handleBlur}
onChange={handleChange}
name='status'
value={values.status}
error={!!touched.status && !!errors.status}
helperText={touched.status && errors.status} sx={{
gridColumn: 'span 4' }}
>
<MenuItem value={'Accepted'}>Accepted</MenuItem>
<MenuItem value={'Dispatched'}>Dispatched</MenuItem>
<MenuItem value={'Unsuccessful'}>
Unsuccessful
</MenuItem>
</Select>
</Box>
<Box display='flex' justifyContent='end' mt='20px'>
<Button type='submit'
variant='contained'
sx={{
color: 'white',
backgroundColor: 'black',
borderRadius: '20px',
}}
>
Update
</Button>
</Box>
</form>
)}
</Formik>
</Box>
28
</Box>
</TabPanel>
<TabPanel value={value} index={1}>
<UserCard customer={props.data && props.data.sender} />
</TabPanel>
<TabPanel value={value} index={2}>
<UserCard customer={props.data && props.data.receiver} />
</TabPanel>
</Box>
</Dialog>
</div>
)
}
2. deliveryagentmain.js
return (
<>
<div className='app'>
<Sidebar />
<main className='content'>
<Routes>
<Route exact path='/pickup' element={<Pickup />} />
<Route exact path='/deliver' element={<Deliver />} />
29
</div>
</>
)
}
6.2 BACKEND
1. Models-couriermodel.js
30
},
departmentStatus: {
type: Object, // {depId:status}
required: true, // accepted, out of delivery, dispatched, unsuccessful, delivered
},
status: { type: String,
required: true,
},
pickupDate: { type: Date, required: false,
},
deliveredDate: { type: Date, required: false,
},
updatedAt: { type: Date,
default: Date.now(),
},
createdAt: { type: Date,
default: Date.now(),
},
})
2. customermodel.js
const mongoose = require('mongoose')
city: {
type: String, required: true,
},
state: {
type: String, required: true,
},
pincode: { type: String, required: true,
},
country: { type: String, required: true,
},
})
31
module.exports = mongoose.model('Customer', customerSchema)
3. deliverymodel.js
const mongoose = require('mongoose')
4. departmentmodel.js
const mongoose = require('mongoose')
required: true,
},
registrationNumber: { type: String, required: true,
contactNumber: { type: String, required: true,
},
contactEmail: { type: String, required: true,
},
city: {
type: String, required: true, default: 'New Delhi',
},
state: {
type: String, required: true, default: 'Delhi',
},
pinCode: { type: Number, required: true,
},
country: { type: String, required: true,
default: 'India',
},
})
module.exports = mongoose.model('Department', departmentSchema
32
5. departmentmodel.js
const mongoose = require('mongoose')
33
7. TESTING
7.1 TESTING
Testing is a process of executing a program with the intent of finding an error. A good test
case is one that has a high probability of finding an as-yet –undiscovered error. A successful
test is one that uncovers an as-yet- undiscovered error. System testing is the stage of
implementation, which is aimed at ensuring that the system works accurately and efficiently
as expected before live operation commences. It verifies that the whole set of programs hang
together. System testing requires a test consists of several key activities and steps for run
program, string, system and is important in adopting a successful new system. A good test case
design is one that as a probability of finding an yet undiscovered error. A successful test is one
that uncovers a yet undiscovered error.
34
7.1.3 SOFTWARE TESTING STRATEGIES:
A software testing strategy provides a road map for the software developer. Testing is a set
activity that can be planned in advance and conducted systematically. For this reason a
template for software testing a set of steps into which we can place specific test case design
methods should be strategy should have the following characteristics.
7.1.4 INTEGRATION TESTING:
Integration testing is a systematic technique for constructing the program structure while at
the same time conducting tests to uncover errors associated with. Individual modules, which
are highly prone to interface errors, should not be assumed to work instantly when we put
them together. The problem of course, is “putting them together”- interfacing. There may be
the chances of data lost across on another’s sub functions, when combined may not produce
the desired major function; individually acceptable impression may be magnified to
unacceptable levels; global data structures can present problems.
7.1.5 UNIT TESTING:
Unit testing is conducted to verify the functional performance of each modular component of
the software. Unit testing focuses on the smallest unit of the software design (i.e.), the module.
The white-box testing techniques were heavily employed for unit testing.
35
7.2 TESTCASES
7 Track package Enter the invalid If entered the Unsuccessful attempt Fail
reference id invalid id, it
will not track
36
the status of the
product
37
Figure 10: testcase for entering invalid emailid
38
Figure 12: Testcase for entering incorrect mobile number
39
8.OUTPUT SCREENS
40
Figure 16: Profile page
41
Figure 18: recent updates and delivery status
42
Figure 20: adding package
43
Figure 21: Invoice generation
44
Figure 23: Track Page
45
9.CONCLUSION
46
10.FUTURE SCOPE
These are the future enhancements:
47
11.REFERENCES
48