Consumer-To-Consumer Food Delivery System on Salesforce.
1. 1
Strategic ICT & eBusiness Implementation
Part 1 & 2
Project Specification and Implementation Report
20th, April 2019
Consumer-To-Consumer
Food Delivery System
By
Darshankumar Gorasiya (x18134751)
Purvesh Borkar (x18133801)
Sanket Dayama (x18143652)
2. 2
Table of Contents
1. Organisation Background.................................................................................................3
1.1. Background Information.........................................................................................3
1.2. Mission of the Organisation....................................................................................3
1.3. Existing Marketplace...............................................................................................4
1.4. Scope of the Process...............................................................................................5
2. Infrastructure....................................................................................................................6
2.1. Rational for Selecting Infrastructure.......................................................................6
2.2. Risks associated with the cloud infrastructure.......................................................6
3. System Design...................................................................................................................7
3.1. Integrating Customers & Vendors ..........................................................................7
3.2. Process Diagrams....................................................................................................7
3.2.1. New Customer Registration......................................................................7
3.2.2. Cooking & Supplier Vendors Registration Process ...................................9
3.2.3. Food Ordering Process Flow...................................................................10
3.2.4. Delivery Team Registration.....................................................................12
3.2.5. Payments Process Flow...........................................................................14
3.2.6. Food Menu Update/Add.........................................................................16
3.3. Data Capture Points (DCPs)...................................................................................18
3.4. Entity-Relationship Diagrams................................................................................19
3.5. Data Dictionary .....................................................................................................20
4. Analytics Requirements (Management Dashboard)......................................................26
5. Development Process.....................................................................................................27
6. System Architecture .......................................................................................................29
7. Lightning Components: Visualforce Pages.....................................................................62
8. Reports and Dashboards ................................................................................................72
9. Team Work ……………………………………………………………………………………………………………….76
10 References......................................................................................................................75
3. 3
1. Organisation Background
1.1. Background Information
Start-ups are the source of innovation into the domain of identifying the problems and
setting up unrealistic ideas into the real world, which make the world a better place to live.
The main revenue generated by the start-ups is invested efficiently into the product and
other resources, to increase the flexibility, scalability and operability in all terms implicated to
generate more revenue.
Home2Home is an extra ordinary platform that provides the opportunity for all chefs who are
willing to start their business as a cook but are lagging because of finance or infrastructure
concerns and were just limiting back their ethnic cooking recipes to individual kitchens. This
idea also extended to deliver food to people around the city. The tenet is designed keeping in
mind the ethnic diversity of people in the city and individual preferences of food items. The
food delivery application provides real convenience for international people willing to order
food of special food cuisine taking them back in time to homely feeling.
Based on the idea we are developing an application that provides opportunity for cooks
around the Dublin to be registered with Home2Home application and upload their weekly
menu on the portal making it available for people around the city. The application then allows
the customers to make online selection of food from different ethnicity and thus giving an
exceptional experience to taste especially home cooked food. The freshly cooked food will
then be delivered to customers in a comprehensive manner.
1.2. Mission of the Organisation
Business models gains great advantage over market competitors by building strategic
business objectives and goals. Setting up a smart business objective helps to break the vision
into small set of tasks and strategic planning. However, it is extremely important to review
and make necessary timely amendments to business objectives and associated goals. We can
say that goal setting as most important tool to any business models.
Home2Home is developed with the Business Objectives,
To provide premium home styled quality food in Dublin.
To serve food at optimum cost so to make it affordable to every individual pocket.
To maximise area coverage for food delivery.
Mission Statement –
“Our mission is to implement a strategic business model in order to deliver quality food to
maximum ethnicity coming from different nationality with the most affordable prices.”
4. 4
1.3. Existing Marketplace
The food delivery applications currently available in market are exceptionally old and not do
not cater to modern requirement of customer. The existing business model lags the novelty
to attract customers from international backgrounds and has limited food option as, not all
restaurants prefer to serve online because of their well-established hold in the offline
business or due to lack of human resources to promptly serve online orders.
Our application stands out from conventional online food delivery application in the way, that
the people of different nationality are captured which automatically results into increasing
the market base, with an opportunity for people of different community to taste authentic
food and renders a chance to chefs to showcase their authentic cuisine cooking skills.
Tactical and effective planning comes in handy when dealing with different type of
competitors prospects. Referring to the Porter’s competitive forces model, those are the key
things an organisation should take the input from in order to be successful and keep
sustaining in the market.
Figure 0: Porter’s competitive forces model.
Reference: https://www.pocketbook.co.uk/blog/2017/02/14/michael-porter-competitive-
strategy
As it says, a company should develop the costs of the services lower than the competitors
that is the costs of the food delivering to customers should be affordable to everybody but at
the same time the vendor pay and the wages of the other services such as deliveries should
be managed in order to have a large customer base and make profits.
5. 5
It is equally important to have a niche business idea and the revenue generation model in
order to dominate the existing market, as clearly visible in Home2Home model.
1.4. Scope of the Process
The idea is to create a streamlined platform through various processes and to develop well-
governed organisational work tasks for areas of operations including administration, Cooking
vendors, supply deliveries and managing customers.
The application is categorised into three main components thriving for best possible
customer services and for business expansion.
• Vendor services – Registered cook and delivery services shall be acting as a key participant in
this business model. Order Delivery can be completed either by delivery individual assigned
through supplier vendor or employee directly working on the Home2Home payroll.
• The Administrators – Administrators are responsible to govern the entire workforce and to
manage the operational tasks in order to make sure that business runs smoothly.
• The Customer – The customers are the key to revenue generation in Home2Home business
and thus seats as the most important stakeholders. The governing processes are to be
working keeping in mind the prime benefactor convenience and to provide maximum
services.
The listed below illustrate different sets of operations –
Administration:
a) Add/remove vendor.
b) Add/remove delivery employees.
c) Cooking vendor validations.
d) Supply vendor validations.
Customers:
a) Customer registration.
b) Customer Authentication.
c) Order food from Menus.
d) Close Order.
Vendor (Cooking)
a) Vendor registration.
b) Add/remove/update weekly menu.
c) Order approval.
d) Order closed.
e) Analytics watch login.
Vendor (Supply)
a) Vendor registration.
b) Notify Admins of team detail
c) Receive order approved by Vendor (Cooking).
6. 6
d) Delivery notification to Admin and Vendor (Cooking) and delivery employee.
e) Order closed.
Payments
a) Payment received by Vendor (Supply).
b) Payment received to Home2Home.
c) Payment received by Vendor (Cooking).
d) Analytical watch of business performance.
2. Infrastructure
The infrastructure in IT consists of the hardware components and software required to run
the overall idea and the business concepts, which are mapped, to a digitized solution. This
includes servers, computers, various software and their licences, ERP/CRM software services
and cloud services provided and the routers.
2.1. Rational for Selecting Infrastructure
a) Affordability: It is affordable, as the organization does not require building infrastructure
from scratch, which would require huge investment. There are many cloud services provider
available in market offering competitive prices for pay as you go services.
b) Scalability: Available cloud infrastructures are built with high-end hardware configurations
hence it makes scalability easy as and when system demands.
c) Accessibility : The access to the cloud based systems can be granted from anywhere in the
world as it is a centralized server which can be accessed from different places with different
devices and can be used efficiently and also provided support can be given anywhere in the
world.
d) Disaster recovery: It is an important feature of the cloud infrastructure where if a natural
calamity or the disaster happens in case of such situations the backup of the cloud is always
kept at a different levels to regain the connectivity and there is not any business impact
suffered by both the customers and the organizations.
2.2. Risks associated with the cloud infrastructure
a) Reliability: Cloud infrastructure almost assures the maximum up time whenever there is a
need in terms of availability. However, there has been time when negligible human error has
caused downtime of the cloud services and the business has suffered.
b) Compliance and legal risks: The most important factor of the organisation is its data. It is their
responsibility to secure the data of entire business. In the face of GDPR, holding customer
data in cloud premise could cause compliance issue and hence need to be taken care in depth
beforehand.
c) Compatibility and Security: The entire cloud infrastructure has to be built carefully to be
compatible with existing system following stander procedures to avoid any downtime due to
constant patches and upgrade that infrastructure might need to be secure all the time.
7. 7
3. System Design
3.1. Integrating Customers & Vendors
Home2Home follows Consumer-To-Consumer model and core goal is to facilitate a platform
where customers and vendors both can locate each other. Vendors and customers are key
business drivers and they has been given highest focus while designing technical architecture
for the H2H business. Challenges both the vendors (Cooking/Supplier) and target consumers
faces in existing process has been studied in detail to address them to the fullest.
3.2. Process Diagrams
3.2.1. New Customer Registration
Figure 1 shows the process flow for registration of new customer in the system. The customer
has to fill application-stating details and upon submission of the details, System
acknowledges the registration request and new customer details are then validated by the
H2H administration team. If the administration team finds any missing or erroneous
information in the application, then the request to customer is made to correct details or
share additional information. Once re-submitted and everything is corrected and verified
then admins makes a new customer details entry in the system. Customers are informed at
the end of process of their successfully registration into H2H System.
9. 9
3.2.2.Cooking & Supplier Vendors Registration Process
Figure 2, shows the process flow for cooking & supplier (vendor) registration process. Once
the vendors register themselves in the system for membership, System acknowledges and
sends application to H2H admin for validation and review. Upon successful verification of
vendor provided data, Admins make vendor entry in system. Unsuccessful application are
notified back to vendors for re-submission with additional details.
10. 10
3.2.3.Food Ordering Process Flow
Figure 3 describes the food ordering process flow. The customer (buyer) will login into system with customer login details. Once logged in
successfully customer can order food from list of items posted by cooking vendor. Later customer placed order will be notified to the vendor
(cook) for confirmation and confirmed order details will be supplied to H2H admins for assigning an available delivery person for delivery.
Assigned delivery person will collect orders from the vendor (cook) and deliver it to the customer. Once cash received by delivery person and
order closed by the vendor (supply) notification is sent to H2H admins.
12. 12
3.2.4.Delivery Team Registration
Figure 4 shows a process for adding or updating delivery team in the system. Supply vendor
team shares available team details on registration form. Once acknowledged in system
admins will validate the shared details and upon successful validation of details admins will
make/update entries in system and notify the vendor (supply) of successful addition/update
of delivery team.
14. 14
3.2.5.Payments Process Flow
Figure 4 Describes the process flow of payments. Vendor (supply) initiates the weekly
payment to H2H admins as per the contract. Admins are notified of process initiation by
system and admins verifies the payment sent by vendor (supply). As per the contract with
vendor (cook) H2H initiates monthly payments to vendors (cooking) based on the orders
served and after receiving payment amount, If no issues in payment raised and received
closure notification from vendor (cook) for closure then H2H admins closes final payment in
system for the month.
16. 16
3.2.6.Food Menu Update/Add
Vendor (cooking) will update weekly menu. Figure 6 shows the process flow of addition/update of weekly menu. Vendor (cook) fills the weekly
menu form and passes system validation test then it freezes for the next week else system will request for corrected/additional details before
freezing weekly menu.
18. 18
3.3. Data Capture Points (DCPs)
The Data Capture Points are represented by a red circle in the process flow diagrams. Below
table details DCPs,
Process Flow Diagram DCP Data Captured
Vendors Registration
(Cooking/Supply)
Fill/Update Registration Application
Vendor (Supply/Cook)
Details
Request Corrected Application
Vendor (Supply/Cook)
Details
Make New Vendor Entry
Add Vendor (Supply/Cook)
Details as new Vendor
Weekly Food Menu Update/Add
Fill Upcoming Weekly Menu Form Weekly Menu Details
Correct Upcoming Weekly Menu
Details Weekly Menu Details
Freeze Upcoming Week Food Menu Add Weekly Menu Details
Delivery Team Registration
Fill Delivery Team Registration Form Delivery Team Details
Request Corrected Details Delivery Team Details
Add/Update Supply Team Details Add Delivery Team Details
Customer – Food Order
Customer Only Login
Customer Logged-in Time
and Details
Confirm Order
Customer Sent Order
Details
Receive Order Received Order Details
Acknowledge Order Confirmed Order Details
Collect Order Amount Total Order Amount
Order Closed from Delivery Vendor Order Status (Supply)
Order Closed from Admins
Order Status (H2H
Admins)
Payments
Weekly Bills Closure
Closing Bills Amount (By
Supply Vendors)
Send Payment to H2H Payment Sent Flag
Re-Validate Weekly Bills Detail
Closing Bills Amount (By
Supply Vendors)
Close Monthly Payment (Vendor -
Cook)
Closing Bills Amount (By
Cook Vendors)
Send Monthly Payment to Vendor
(Cook) Payment Sent Flag
19. 19
Re-Process Monthly Payment for
Vendor (Cook)
Closing Bills Amount (By
Cook Vendors)
Close Payment from H2H Payment Close Flag Set
Customer Registration (Buyer)
Fill/Update Registration Application Customer (Buyer) Details
Request Corrected Application Customer (Buyer) Details
Make New Customer (Buyer) Entry
Add Customer (Buyer)
Details as new Customer
Table: Data Capture Points
3.4. Entity-Relationship Diagrams
An entity relationship diagram shows the relationship between the entities and the attributes
associated with it. It is a high-level conceptual design used to design the database structure.
Entities are the terms that are referred to as the tables in the database and the attributes its
properties, hence those will be the columns defined in the table.
The entities have the relationships with other entities in the database.
Figure 1: ER Diagram
With our relationships decided, we could now move on to creating a more detailed database
diagram. This Database diagram is built upon the ERD from above, with added details about
the more descriptive attributes of each member/table. Relationships are also shown here,
but in this case, the relationships will point to the attributes in each table that the
20. 20
Relationship is dependent on. This lower level design will be the final design on which the
data storage system will be created.
Figure 2: Database Diagram
3.5. Data Dictionary
A data dictionary consists of the definition of the elements in the database and their allowed
values. It is a metadata of the database from which the developer can design the relational
database according to the requirements of stakeholders. It provides the important details
such as field name, data type, allowed values and the description of that field.
21. 21
Table: Order Data Dictionary
Table: Customer Data Dictionary
Attribute (Field Name) Attribute Name Data Type Allowed values Description Data validation check
Order number Order_ID Integer Numeric Order numbers in sequential increment order Is NOT NULL
Menu ID Menu_ID Varchar Alpha-Numeric Menu identification number Menu Id is present in Menu Table
Delivery ID Delivery_ID Varchar Alpha-Numeric Menu identification number Delivery ID is present in Delivery Table
Customer Id Cust_ID Varchar Alpha-Numeric Menu identification number Customer ID is present in Customer Table
Order quantity Order_Quantity Integer Numeric Desribe the number of items in specific order
Order Cost Order_Cost Char Numeric Describe the cost related to specific order
Delivery Status Order_Status Boolean
Incomplete and
Complete used to identify the status of order completion
Order Table
Attribute (Field Name) Attribute Name Data Type Allowed values Description Data validation check
Customer Number Cust_ID char Alpha numeric Used to track every individual customer Is NOT NULL
Customer name Cust_Fname char Alphabets Identifies Customer First name
Customer Middle Name Cust_Mname char Alphabets Identifies Customer Middle name
Customer Last Name Cust_Lname char Alphabets Identifies Customer Last name
Customer Address Cust_Add Varchar Alpha numeric Customer address for order delivery Is NOT NULL
Customer Contact number Cust_Contact integer Numeric phone contact for order Is NOT NULL
Customer Email address Cust_Email Varchar Alpha numeric Email address of customer Is NOT NULL
Customer Table
22. 22
Table: Profile Data Dictionary
Table: Cook Vendor Data Dictionary
Attribute (Field Name) Attribute Name Data Type Allowed values Description Data validation check
Profile identification number Profile_ID Varchar Alpha numeric Unique identification number for profile Is NOT NULL
Type of user Profile_Type Varchar Alpha numeric Uniquely identifies type of profiles
Profile Password Profile_Pwd Varchar Alpha numeric Unique password for profiles
Profile Table
Attribute (Field Name) Attribute Name Data Type Allowed values Description Data validation check
Vendor registration id CVdr_ID Varchar Alpha Numeric values uniquely identifies each cooking vendor Is NOT NULL
Vendor Organisation name CVdr_Org Varchar Alpha Numeric values Cook organisation name if any
Vendor First Name CVdr_FName Char characters values first name of cook
Vendor Middle Name CVdr_Mname Char characters values Middle name of cook
Vendor last Name CVdr_Lname Char characters values Last name of cook
Vendor Cooking preferences CVDR_Cook_Pref Varchar
cooking specialisation
with vendors identifies cooking speciality of cook Is NOT NULL
Cook availability status CVdr_Status Boolean Yes or No
represents if the cook is available for
orders or not
Cook_Vendor Table
23. 23
Table: Supplier Vendor Data Dictionary
Table: Facilities Data Dictionary
Attribute (Field Name) Attribute Name Data Type Allowed values Description Data validation check
Supply Vendor registration id SVdr_ID Varchar Alpha Numeric values uniquely identifies each vending vendor Is NOT NULL
Supply Vendor Organisation
name SVdr_Org Varchar Alpha Numeric values Cook organisation name if any
Supply Vendor registration id SVdr_Reg_ID Varchar Alpha Numeric values unique supply vendor registration Id Is NOT NULL
Supply Vendor Avaibility status SVdr_Status Boolena Yes and No
Represents the contract status with Supply
vendor
Delivery person identification
number Dlvry_ID Varchar Alpha numeric Identify unique delivery person
Supplier_Vendor Table
Attribute (Field Name) Attribute Name Data Type Allowed values Description Data validation check
Menu ID Menu_Id Varchar Alphanumeric Uniquely identifies each menu Is NOT NULL
Cook Id Cook_Id Varchar Alphanumeric relates to cook id assigned for menu id Is present in Cook Vendor table
Menu type Menu_Type Varchar Alphanumeric represents the ethnicity of individual menu
Menu Description Menu_Desc Varchar Alphanumeric
free text area to represent the menu with
individual food item
Calendar date Calendar_Date Date
Date in DD/MM/YYYY
format Date representing menu on particular date
Menu Cost Menu_Cost Float Numeric Decimal Represent cost of individual menu
Menu Status Menu_Status Boolean Yes or No
represents availability of specific menu on
respective dates
Menu Table
24. 24
Table: Delivery person Data Dictionary
Table: Administrator Data Dictionary
Attribute (Field Name)
Attribute Name
(Field Id) Data Type Allowed values Description Data validation check
Delivery person identification
number Dlvry_ID Varchar Alpha numeric Identify unique delivery person Is NOT NULL
Delivery person First name Dlvry_Fname String Characters Delivery person First name
Delivery person Middle name Dlvry_Mname String Characters Delivery person second name
Delivery person Last name Dlvry_Lname String Characters Delivery person last name
Delivery Contact number Dlvry_Contact integer numeric values Contact number of delivery person
Delivery Address number Dlvry_Addrs Varchar Alpha numeric values Multi text area
Area served by delivery person Dlvry_Area_Pref varchar Alpha numeric values free text representing the individual area
Supply Vendor registration id SVdr_ID Varchar Alpha Numeric values uniquely identifies each vending vendor
Is Present from Supplier Vendor
Table
Delivery_Person Table
Attribute (Field Name) Attribute Name Data Type Allowed values Description Data validation check
Administrator identification
Number Admin_ID Varchar Alpha-numeric
Used to uniquely identify individual Admin
member Is NOT NULL
Administrator First name Admin_FName char characters Administrator First Name
Administrator Second name Admin_MName char characters Administrator Middle Name
Administrator Last name Admin_LName char characters Administrator last Name
Administrator Table
25. 25
Table: Payments Data Dictionary
Attribute (Field Name) Attribute Name Data Type Allowed values Description Data validation check
Administrator identification
Number Pymt_Transc_ID Integer Numeric
Used to uniquely identify the Transaction
number Is NOT NULL
Administrator Fname Vdr_ID Varchar Alpha-numneric Relates to cook ID and Vendor ID
Vdr_ID should be present in Cook vendor
or Supplier Vendor table
Administrator Sname Pymt_Amount Float Numeric
Denotes the payment to be made to
vendors
Administrator Lname Pymt_Process_ID Varchar Alpha-numneric
Relates to Admin ID who is processing the
payment Should be present in Admin table
Payments Table
26. 26
4. Analytics Requirements (Management Dashboard)
The organization will be making continues decisions in order to carry out their business
profitably. It is crucial to get the insights of different parameters of business for making
effective and efficient business decisions.
For H2H Delivery System, Dashboards will be designed to address analytical need of major
key two components of business - Vendors (Cooking/Supply) & H2H Business itself.
Vendors (Cooking/Supply) will have quick access to core performance dashboards. Which
should mainly answer below questions,
o What are their most favourite menus?
o Where their main customer base is located?
o Monthly/Yearly total orders or customer served, or orders delivered?
o Region wise earnings.
H2H Business will be having access to all the dashboards pulled from vendors & customers
data that will help business get access to below insights,
o Customer (Buyer) analytics to identify regions where to invest for direct marketing and better
customer relationship management.
o Supply and Demand dashboard for the strategic planning (region-based customer per Cook,
Supply vendor per cooking vendor, etc.)
o Revenue stream analysis (vendors and customers)
o Region wise customer growth.
o Total customer base by its region, gender, age, nationality & locality.
o Average delivery time by vendors (Supply).
Quick access to below Key Performance Indicators,
o Top performing cooking vendors.
o Top supply vendors with delivery team having below average delivery time.
o Key customer regions.
o Cooking vendor with most returning customer.
o In-Demand cuisines or vendor (cook).
27. 27
5. Development Process
The system is developed keeping in mind the nitty gritty of the system designed proposed in
section 3[System Design]. The application implementation is performed in Salesforce
development environment by utilising the inbuilt component and creation of several
customise components. This gives the system a hybrid mode of memory utilisation, thus
raising the system capability to highly optimised performance and substitution of customised
object as an when required.
Several objects are being developed in the process. Objects like Profile, Menu, Orders,
Vendor (Cook), Vendor (Supply), Orders, Delivery person, Administrators and Payments are
being created considering the customisation requirement as per project design. Object
contact is designed by modifying the inbuilt contact object.
Following Figure represents the list of custom objects–
Salesforce security is utilised to a greater extent in the development.
Admin profile which is a delivered utility is utilised and in addition three new profiles are
created viz-
Custom: Customers
Custom: Vendor (Cook)
Custom: Vendor (Transport).
These profiles are then assigned to individual objects. This helps in access management with
proper roles assignment based on the concept of – who should know what.
28. 28
5.2 Benefits of the solution implemented.
5.2.1 Operational benefits
The accessibility is divided into four types under the profile object. They consist of customer,
administrators, vendor(cook) and vendor(supply). The denotes that the operational
procedures are divided for smooth functioning of the process independently.
5.2.2 Solution oriented benefits
The key advantage of building such solution is multiple users can work on the same problem
at the same time. As the solution is implemented in cloud, simultaneously different objects
were worked upon and were accessible from different locations and from different devices.
This shows that it is a cost effective and durable solution in which there is a minimum risk of
failure by any chances of disaster as the backup of the solution will be taken into salesforce.
The tool and process of development in it is user friendly in order to develop a beneficial low
cost high yielding solution.
The end users can easily choose and fill in the details in order to use the product and make
revenue or fulfil the requirements of the customers.
5.3 Future scope
The start-up gives a platform to various people to show that their cooking skills can fulfil a
business requirement which can get them a job or revenue can be generated. The
requirement of food for the people can be served by having different food items from
different cooks.
29. 29
6. System Architecture
Design of overall system is described in following section as follows-
6.1 System Object contact modified as Customer object
Customer object is accessed by new customers while making registration and making choice
for food orders. We have used contact(default) object and made few adjustments to the
fields as per project requirements. Below figure shows details data structure for the object –
Meta Data structure for Customer object – Below figure represents the attribute associated
with customer object
30. 30
6.1.1 Customer Object View-
The process of adding new customer can be represented using below object view. The
screen is from salesforce object which shows multiple attribute associated to customer table-
6.1.2 Data Validations-
Several data validations are implemented to avoid special characters in Name and
incomplete email id validations. Not NULL fields are also set for required fields keeping in
mind the necessary system design.
35. 35
6.2.3 View Created for Administrator Object -
6.3 Custom object: Vendor (Transportation)-
Object definition for Vendor (Transportation)– The object is used in the project to add
multiple transportation organization. post registration of those transport organization, they
are provided a web page to add delivery person which will then get reflected through delivery
person object.
37. 37
6.3.2 Data Validation for Object Vendor (Transportation)-
Data validation related to special characters and non numeric values is implemented . NOT
NULL validations are also applied on the objects attributes .
6.3.3 New data member creation for Object Vendor (Transportation)-
38. 38
6.3.4 View Created for Object -Vendor (Transportation)-
6.4 Custom object: Vendor (Cook)-
Vendor (Cook) object is created in order to track individual cook registration with the
organisation. There are several fields like cooking specialities and cook avaibility -
6.4.1 Custom object definition for Vendor (Cook)-
40. 40
Data Validations – Data validation like warning message on using special characters and NULL
values are applied on several necessary fields.
6.4.3 New data member creation for Object Vendor (Cook) -
42. 42
6.5 Custom object – Menu:
Menu Object allows cook to upload menu they shall be serving to customers. This provides
feasibility to update menu item and description. options like menu availability and specific
date selection is also feasible.
6.5.1 Metadata structure for object Menu –
43. 43
6.5.2 Metadata structure for object Menu-
Data Validations- Validation helps to make sure the menu is available on current date only to
users. Each menu can be updated with specific description associate to menu type .
46. 46
6.6 Object – Delivery person –
Delivery person object help in adding new delivery individual to order object. Those delivery
individuals are added by Vendor(Transportation). Fields like delivery area preference helps in
further resource management and optimising delivery time .
6.6.1 Object definition for Delivery person–
6.6.2 Metadata structure for object Delivery person -
50. 50
6.7 Custom Object – Orders:
Orders object table is used for creation of new orders and tracking them. Those orders are
associated with vendor(cook) object and Payment object.
6.7.1 Object definition for Order-
51. 51
6.7.2 Metadata structure for object Order-
6.7.3 Object Validation –
Validation are assigned to individual attribute, specifically with Order quantity being only
numeric values and mobile contact to be only of 10 digit.
52. 52
6.7.4 New data member creation for Object Order - –
6.7.5 View Created for Order Object –
54. 54
6.8 Custom Object – Profile
Profile object contains value associated to customer, vendor (Cook) and vendor
(Transportation). The encrypted passwords are stored in the table.
6.8.1 Object definition for Profile -
6.8.2 Metadata structure for object Administrator –
57. 57
6.9 Custom Object Payments – payment object utlises object order ,
6.9.1 Object definition for Payment– Payment object is
6.9.2 Metadata structure for object Payments–
58. 58
6.9.3 Data Validations-
Data validations related to weekly payment is created. Below figure is shows details related
to object.
6.9.4 New payment screen for payment object–
60. 60
6.10 Objects Security-
Object security helps is maintaining access to individual object . those are defined on profile
level. four profiles are used in the project with ADMIN profile being the default inbuilt profile.
Definition of security profiles are mentioned in below screenshots as below -
6.10.1 Customer Profile access-
61. 61
6.10.2 Profile access to custom Vendor(Cook) object -
6.10.3 Profile access to custom Vendor(Transport) object -
62. 62
Email notification template sent to users when the profile is created.
7. Lightning Components: Visualforce Pages
Visualforce pages are lightning developer component provided by salesforce to implement
external visual web integration with salesforce backend objects. Integration achieved with
visualforce will integrate users and vendors from web portal to read, update and add menus,
orders, cooks, delivery persons and vendors list.
63. 63
7.1. Home Page:
Users will first land on homepage where details of application and access to login and
registration for different users are presented.
7.2 Login Page:
Login page will allows user to log into access different application functionality including list
of orders and available menus.
64. 64
7.3 Login Page (Responsive to Mobile Devices)
7.4 Logged in Supply Vendor
Once logged in supply vendor have access to list of delivery persons and list of all orders
portals with navigational access for adding new delivery persons.
7.5 Register Customer:
Registration portal will allow new users to register themselves into system as GraBia
customer.
65. 65
7.6 Add Delivery Person:
Delivery person web access will allow vendors to add their delivery person tagging vendor
organisation id with lookup.
7.7 List of orders
Order data will allow vendors to access list of all the orders in system and assigned delivery
person and customer ordered details with total calculated cost of order.
66. 66
7.8 Add Menu:
Cooking vendor can add menu with cost and description with availability date while status
will be auto generated with formula in backend system.
7.9 List of all Menus to Customer
67. 67
List of all menus will be visible to all customer to have with access to cook detail extracted
with lookup relationship.
7.10 List of Delivery Person:
Vendor supply will access all the delivery person in system with assigned transportation detail
available on screen.
68. 68
7.11 List of Cooks
List cooks will be assessable to customers with their cooking preferences and availability
status.
8. Reports and Management dashboards.
The reports and dashboards were created by selecting the tabs on the navigation bar. At first,
they were present in the “+” tab where we had to add them from the list to display it on the
navigation bar.
8.1 Report Setup
The screenshot below gives us the idea of how the reports were created. It consists of
different folders in which the reports of this project were saved in the other reports folder.
The reports were created by using two objects. A combination of primary object and relating
it with the secondary object was the process followed. The reports include relationships like
order and customer, Menu and customer, Menu and orders and delivery person with number
of orders.
69. 69
The list of reports is shown below which comes from the other reports folder. It consists of
four columns, action which gives us the feature to export the report into an excel file. The
name column consists of the reports having their unique names. The folder column gives the
information about where the reports were saved in, that is the my personal custom reports
folder.
70. 70
8.2 Building the reports
An example of building a report is shown below as to how the fields were selected and
combined by using group by on a field to create a meaningful report of customers from
different cities in Ireland. The other features such as summarizing, joined and tabular format
were experimented and whichever best was chosen. The other reports are present with
different objects and fields which are combined in the dashboard.
Before running the report it shows a preview on limited data so as to get an idea of it. After
running the report the values get populated and different types of charts can be chosen
whichever goes for the best fit by the structure of the data. The example of the report built
for customers from different cities in Ireland is shown.
71. 71
8.3 Building the dashboards.
We built one dashboard from the reports we created. The reports created were acting as the
data sources for the dashboard. These reports were chosen from the My Personal Custom
Reports folder where all the reports were saved. The reports were dragged into the tiles of
the dashboard and the below image shows loading in red of one report into a tile of a
dashboard consisting the name customers by order cost. The other reports were dragged into
the dashboard in the same process.
72. 72
The properties of the tiles were modified by clicking the spanner icon which opens up the
component editor and some properties were selected such as selecting appropriate type of
graph, legend positions and data labels.
8.4 Reports and Dashboards
There are 5 reports created and one dashboard, in which three reports were merged into a
dashboard. As discussed in the analytics requirements in the design phase the queries like
most customer base located in different cities, number of orders in quantity and which menu
is most ordered by the customers. The dashboard created using these parameters is shown
below. It is a customer centric analysis based on the mentioned parameters.
73. 73
The first tile consists of different cities in Ireland such Belfast, Burlington, Cork, Galway and
other which are having minimal customers. We can conclude that there is a large customer
base in Galway and the secondly in Cork. Various marketing strategies should be
implemented to increase the customer base in the cities showing low measures.
The second tile shows which menu item was mostly chosen by the customers and is popular
amongst the orders. We can analyse that the most favoured dish was chiken hakka noodles
for the customers. It shows that the cook of Chinese cuisine is favoured.
The third tile shows the order quantity in four months ordered by customers. Number of
offers can be implemented to give discounts to the customer making highest orders.
There are two reports generated on different parameters such as menu food ordered by
cuisines and delivery person with number of orders. The report of menu food ordered by
cuisines show that people were favouring to order food of selected cuisines and showed
interest in them before and after ordering it.
74. 74
This report shows that the Indian and Italian cuisine was most favoured from the menu by the
customers. The other cuisines like british, singaporean, chinese and thai should be marketed
according to their specialities and uniqueness.
Another report consisting of area served by delivery person with the quantity of orders is
created to analyse the deliveries completed by the person.
75. 75
9. Team Work
The meetings related to project work were conducted in the college at NCI in classroom or in
the quiet space area and sometimes as per the availability of group study room.
To fulfil the project requirements and implementing the work, we created a single id on
salesforce with a common password to it. The project modules were distributed and worked
upon individually and then combined.
As all them team members were located in different locations we communicated through
skype used screen sharing feature , whatsapp for communication of small details and issue
handling of project and gmail to exchange the worked files.
9.1 Team Contribution
10 References
1) https://www.techopedia.com/definition/29199/it-infrastructure
2) https://www.pocketbook.co.uk/blog/2017/02/14/michael-porter-
competitive-strategy/
3) Paper : Startups and open innovation: a review of the literature
(https://www.emeraldinsight.com/doi/full/10.1108/EJIM-12-2015-
0131?fullSc=1)
4) https://www.inc.com/gordon-tredgold/7-ways-data-analytics-can-
boost-your-business-growth.html
5) https://hcis-journal.springeropen.com/articles/10.1186/s13673-
018-0143-8
6) https://www.w3schools.com/css/
7) https://trailhead.salesforce.com/en/home
8) https://www.w3schools.com/css/
Name Student_id Work contribution
Darshan Gorasiya x18134751 33.33%
Purvesh Borkar x18133801 33.33%
Sanket Dayama x18143652 33.33%