Pick Requesting and Delivery System

Pick&GO

Project Date 20th February 2022
Platform Web Application
Type Responsive
Client Pick&GO
Languages & Tools

Abstract

The following project is a software development task based on developing an online pick requesting and delivering system for Pick&GO package delivery service. Automated online-based management systems are vastly advantageous for businesses and companies as they automate daily tasks, saving time and expenses. As technology keeps developing, automated management systems are becoming an essential section of businesses to handle daily activities. These systems allow employees to avoid manual procedures which would be a time waste, and instead maintain automated systems for daily business tasks.

This project’s online pick requesting and delivering system could be designed using a web application. Users would be able to access the web application remotely through the internet. The development would majorly include Java, HTML, CSS, JavaScript, Ajax with PHP languages. MySQL could be used as the application database management system to store system, user and cooperation data. Visual studio code could be used as the development environment.

1 Overview

Pick&GO is a package delivery service provider establish in Sri Lanka where they provide goods delivery island wide. They have several operational service centres at all districts and number of staff employed vary according to the general capacity of business operations. Pick&GO wishes to introduce an online pick requesting and delivering system for the requirement of goods delivery. Customers are to be given facilities to request a pickup of an item and track the delivery to the destination. The pickup schedule starts with a request initiated through the system or a phone call query to the nearest centre from the customer. In the online system, the nearest operational centre will be selected based on the customer location. The pickup request is to be given a scheduled pickup time within one-hour duration from the request.

Pick&GO requires the pickup time to not exceed 12 hours from the request time which is a norm of the company. Once the picked items collected to each operational centre, those are distributed to nearest operational centre of the destination through regular delivery vehicles, which are happening during the night. The vehicle routes and coverage of centres by each vehicle is available for each centre. These vehicles take packages of own centre and the intermediate centres within the route. Each operational centre has to notify the packages to be loaded into each vehicle by 7PM. Some packages are delivered transits of intermediate operational centres based on the vehicle route coverages. Once the packages are received by the operational centres, those will be delivered to the receiver within 12 hours of receiving it.

Pick&GO requires each customer and the receiver can track the package status and location through the web and mobile apps. The users to be able to indicate their availability for the pickup of the items and all the contact details are to be provided including the receiver. Both the sender and receiver will be issued with a tracking code once the item collection confirmed. The details of the items to be delivered with their weights and type of items which important for the quality of service required are entered during the pickup.

The charges are applied based on the weight, size, and distance parameters where a tariff schedule is a common schedule for each centre. Once the item is delivered, task completion will be signed by the receiver and uploaded into the system with a receiver’s photograph.

2 Requirements Specification

2.1 Purpose

Pick&GO is a package delivery service which provides island wide goods delivery services. Pick&GO currently requires an online pick requesting and delivering system for the requirement of goods delivery. Their customers should be facilitated to request a pickup of an item and track the delivery to the destination.

The purpose of the current project is to develop an online pick requesting and delivering system for Pick&GO to enhance their service providing experience with customers.

Key Requirements:

  1. Provide user roles for Pick&GO administrator, service member staff and customers.
  2. User login for administrator, service member staff and customers, assigning login credentials.
  3. Create and manage operational centre branches, based on centre location.
  4. Add and manage operational centre staff members, based on centre branches.
  5. Create and manage item pickup records, based on item dimensions and costs.
  1. Create and manage item delivery records, based on item pickup status.
  2. Allow customers to create system account and request item pickups.
  3. Provide a unique tracking number for item pickup records, based on item information.
  4. Allow administrators and staff members to update delivery tracking status.
  5. Initiate item tracking system for item deliveries, based on unique tracking number.

2.2 Scope

Using an online pick requesting and delivering system, the potential advantages include;

  • Real-time visibility of operational activities.
  • Increased accessibility.
  • Access to customer data to optimize business and operational procedures.
  • Enhanced customer experience.
  • Optimization of logistical operations and time-management.
  • Eliminate duplication of orders.
  • Maintain a systematic record of inventory./li>
  • Eliminating the duplication of orders.

Key Procedures:

  • User login based in user permissions for admin, centre staff and customer.
  • Create and manage operational centre branches based on centre location.
  • Create and manage operational centre staff members based on centre branch.
  • Create and manage pickup item records based on item dimensions and cost.
  • Search and track item deliveries using unique pickup tracking number.

2.3 Project Risks

Below mentioned are certain risks to be considered while working on the current project;

  • There's a chance that the system will fail or malfunction.
  • The risk of damage due to weather, pests & other factors.
  • Employees' technical capabilities being insufficient to handle the system.
  • Internet & connectivity issue depending on the geographical locations of the centres.

Application Audience Users:

  • Pick&GO Administrator
  • Pick&GO Operational Centre Staff
  • Pick&GO Customer

2.4 Functional Requirements

  1. User Roles and Permissions.
    • Pick&GO Administrator
    • Pick&GO Operational Centre Staff
    • Pick&GO Customer
  1. Operational Service Centre.
    • Add new operational service centre branch record.
    • View existing operational service centre branch records.
    • Edit existing operational service centre branch record.
    • Delete existing operational service branch centre record.
  1. Operational Service Centre Staff.
    • Add new operational service centre staff member record.
    • View existing operational service centre staff records.
    • Edit existing operational service centre staff record.
    • Delete existing operational service centre staff record.
  1. Item Pickup.
    • Add new item pickup record.
    • View existing item pickup records.
    • Edit existing item pickup records.
    • Delete existing item pickup record.
  1. Item Delivery.
    • View pickup item delivery status records.
    • Update pickup item delivery record.
    • Delete pickup item delivery record.
  1. Item Delivery Tracking.
    • View delivery item tracking status records.
    • Update delivery item tracking status record.

2.5 Non-Functional Requirements

  1. System Hardware/Software Requirements:
    • Intel (Pentium 4 or newer), MacOS (OS X El Capitan 10.11 or newer) or Linux (64-bit Ubuntu 18.04+ or newer).
    • • Windows 7 operating system or later.
    • 4GB RAM minimum
    • 250GB hard disk storage minimum.
    • Internet connection.
    • Google Chrome internet browser.
  1. Application Security:

The entire pick requesting and delivering system should be secured with a strong user login page. This way system users would only be able to access the functionalities using a unique password assigned to them. User role-based functions are also provided for the users to protect the system from vulnerabilities.

  1. Data Safety:

All essential data related with the online pick requesting and delivering system is stored in the system database, which is based on MySQL. Pick&GO could store backups of the system database to store backups in case of a system data loss. This ensures that the customer and centre related data would be protected.

  1. User Experience:

An efficient user experience for the application users is an essential requirement in application development. The current application also contains high user experience standards including straightforward functions, faster functional loading times and clean user interfaces.

2.6 Security Mechanisms

As a primary security mechanism, the entire online pick requesting and delivering system is secured with a user login page, where all system users are required to enter a unique password assigned to them. The users would not be able to access any functionalities of the system without logging in with an account. This mechanism ensures that only allowed parties are able to access the system data.

The functionalities of the online pick requesting and delivering system would be categorised by the system users based on their user role and permission. This concept has been considered for the application develop considering the security to system data. Only the system administrators should have access for Pick&GO crucial functionalities, in order to avoid vulnerabilities for the application.

3 Software Design Document

3.1 Problem Definition

Pick&GO is a package delivery service which provides island wide goods delivery services. Pick&GO currently requires an online pick requesting and delivering system for the requirement of goods delivery. Their customers should be facilitated to request a pickup of an item and track the delivery to the destination. The purpose of the current project is to develop an online pick requesting and delivering system for Pick&GO to enhance their service providing experience with customers.

The system requires Pick&GO to handle their operational service centre branch information based on their branches and location. Moreover, service centre branches should also contain centre staff members information. Pick&GO requires their staff members to add and manage item pickup records. Customers are required to be able to initiate pickup requests and track their deliveries using a tracking number system.

3.2 Intended Solution

The intended solution is to develop an Online Pick Requesting and Delivering system, with the essential requirements necessary to carry out daily operations for Pick&GO package delivery service. The developed software would be a web application, which users can access remotely through the internet. This project’s online pick requesting and delivering system could be designed using a web application. Users would be able to access the web application remotely through the internet. The development would majorly include Java, HTML, CSS, Bootstrap, JavaScript, Ajax and PHP languages. MySQL could be used as the application relational database management system to store Pick&GO centre and customer related data. Visual studio code could be used as the development environment.

The planned functionalities of the application are mentioned below.

  • User login based in user permissions for admin, centre staff and customer.
  • Create and manage operational centre branches based on centre location.
  • Create and manage operational centre staff members based on centre branch.
  • Create and manage pickup item records based on item dimensions and cost.
  • Search and track item deliveries using unique pickup tracking number.

3.3 Development Tools and Technologies

Web Application:

Web applications are programs that utilize the internet in order to send and retrieve system data. These applications run on web browser software. The program is connected to the internet through a web server with the application's source code and allows it to run. Web applications are widely popular among software development projects due to their simple user accessibility and efficient development approaches. Web application are included with client-side and server-sided technologies. The client of a web application would be the end user accessing the application while the server-side hosts the application. Web application platform development has been chosen for the current project as Pick&GO requires an online system to be accessed through the internet.

JavaScript (JS):

JavaScript is a straightforward dynamic programming language which initiates logical concepts for the structures and contents of a web application. JavaScript assists the application to insert dynamic web components that could interact in real-time. Visual interface component functionalities would be greatly reduced without the implementation of JavaScript. JavaScript has been selected for the current project to develop dynamic features, that wouldn’t be possible with just HTML and CSS. The intended application would not be visually efficient without the implementation of dynamic web components using JavaScript.

HTML (HyperText-Markup Language):

HTML is a text-oriented language which is used to code the front-end interfaces of web applications. HTML is used to implement the visual structures of an application, based on what the end-user is required to see, based on the requirements. HTML basically instructs web browsers on how visual contents should be structured and viewed for the end user. HTML has been chosen for the current project’s online pick requesting and delivering application, as it is an efficient pick to implement the front-end development.

CSS (Cascading Style Sheets):

CSS is a simple concept of “style sheets” implemented along with HTML language, for front-end based implementation of an application. CSS assists to create efficient visual contents of an application. For example, visual contents such as web content colours, alignments or text decorations could be described using CSS in integration with HTML language. CSS has been selected along with HTML or the current project as it would be an easier task to design the visual interfaces of the web application.

MySQL:

MySQL is a free and open-source database management system, which is based on relational database management technologies. MySQL has been selected as the current projects database system, considering that the Pick&GO application requires essential data to be integrated within the system and a database management system, following a connection required within the system and application data.

Visual Studio Code:

Visual studio code, also known as vs code is an open-source and free application source-code editing software development environment developed by Microsoft. The editor includes essential features along with an efficient interface. Visual studio code has been selected as the development environment for the current project due to its advanced features with simple system structural concepts.

3.4 Design Specification

3.4.1 Use Case Diagram

Image

3.4.2 Data Flow Diagram

Image

3.4.3 Class Diagram

Image

3.5 System Architecture

In consideration of the project requirements, the MVC (Model, View, Controller) architectural pattern would be the most suitable architectural design pattern selection, suitable for Pick&GO online pick requesting and delivery web application system. The MVC design pattern promotes code modularity and maintainability. MVC is considered as a popular and widespread architectural design pattern that could be implemented to a wide range of programming languages as well as related software frameworks. The intended Pick&GO web application would consist multiple types of software components required to connect and execute together. These components would be required to execute a wide range of varying business logics and database connection events.

The front-end based visual interface screens for the functionalities of the web application that the end user is displayed is required to depend on the user permissions and roles. Considering essential business logics and standards the system database functions, application screens and the specific software architecture rationally separates the system source code and functionalities. Programmers would be able to accomplish the final application codes with less difficulties as there are an efficient modularity. Moreover, even multiple developers would have the ability to develop and update components of the system source code simultaneously, which decreases the development period while having an efficient team productivity.

The following are a few more reasons to use the MVC design pattern:

  1. The MVC framework makes it simple to create different view components for your model component. It allows you to create several view components, allowing you to reduce code duplication by separating data and business logic.
  1. The code is defined as numerous levels in source files and supports test-driven development for unit testing and debugging.
  2. Low code and quick development equate to lower costs. MVC facilitates rapid development, resulting in a shorter time to market. Even more so, with less money spent and a shorter learning curve.

3.6 Software Development Methodologies

In profession consideration of the requirements of Pick&GO package delivery service. “Traditional” system development methodology would be implemented in the current project to develop an online pick requesting and delivering system. Traditional system development approaches employ a linear approach, with all operations and stages pre-organized and carried out in a sequential order. The analysis techniques are unidirectional, only following the stages that have been pre-planned. The project flow procedures would not be repeated once a planned stage has been completed.

Under different types of tradition development methodologies, “Waterfall” method is intended the suit the requirements of Pick&GO. The waterfall model would be advantageous for the current project as it suggests a sequential project flow. The entire process would be broken down into multiple phases. Each phase should be completed before moving on to the next, without any overlapping. Once the initial requirements are collected properly, waterfall methodology allows a simple and straightforward approach.

The phases for the current project are described below;

  1. Requirement Collection: The requirements for the system development are derived in consideration of Pick&GO system expectations to get a fundamental idea of the application design.

  2. System Analysis: Collected system and user requirements are effectively analysed against the intended solution of the current project, to assist the project planning.

  3. System Design: System plans are initiated to develop the application. This includes identifying system analysis methods, development methodologies and system architecture design.
  1. Implementation: This phase includes the process of developing the planned system. Identified requirements and methodologies would be effectively used to start implementing the required system.

  2. Software Testing: Once the application development is completed, the final application will be tested in order to test the functional effectiveness of the application.
3.6.1 Project Milestones

Extended stages based on the project phases are mentioned below.

  1. Requirement Collection.
    • To evaluate the requirements provided by Pick&GO.
    • To identify different users included in the system.
    • To identify user requirements of the system.
    • To identify the system requirements of the application.

  2. System Analysis.
    • To identify suitable system development approaches.
    • To identify suitable development tools and technologies.

  3. System Design.
    • To identify the architectural requirement of the application.
    • To design the system architecture of the application.
    • To design the user interfaces of the application.
  1. Implementation.
    • To design and integrate a system database.
    • To develop the system functionalities.

  2. Software Testing.
    • To test functional effectiveness of the system.
    • To test the overall acceptance of the application.

3.7 Project Workplan

Image

4 Implementation

4.1 User Interfaces

4.2 Database Structure

MySQL has been chosen as the preferred database system technology for the current application development. MySQL is an open-source and relational database system, developed by Oracle.

The database structure of current application is shown below;

Image

5 Conclusion

This project was dedicated to develop an online pick requesting and delivering system. This includes the essential requirements necessary to carry out daily operations for Pick&GO package delivery service. The developed software would be a web application, which users can access remotely through the internet. The project timeline started with the process of collecting user and client requirements for the implementation. Collected requirements were then illustrated using multiple diagrams.

Following, system interfaces were designed along with the application implementation. Moreover, software testing designs was also applied to ensure the application functionalities are working properly, meeting the requirements. Proper software development and collaborative tools were utilized for an effective and efficient development procedure.