SlideShare a Scribd company logo
1 of 82
Download to read offline
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
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
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
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
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
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
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.
8
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
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.
11
Figure 3: Ordering Food (Customer)
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.
13
Figure 4: Delivery Team Registration
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.
15
Figure 5: Payment Process Flow
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.
17
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
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
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
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
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
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
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
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
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
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
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
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
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.
31
6.1.3 New data member creation for Object Customer -
32
6.1.4 View Created for Customer Object -
6.2 Custom object: Administrator-
33
6.2.1 Data Validation for object Administrator –
Not Null Validation is set for administration object in Saleforce.
34
6.2.2 New data member creation for Object Customer -
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.
36
6.3.1 Metadata structure for object Vendor (Transportation)-
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
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)-
39
6.4.2 Metadata structure for object Cooking -
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) -
41
6.4.4 View Created for Vendor (Cook) Object–
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
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 .
44
6.5.3 New data member creation for Object Menu–
45
6.5.4 View Created for Menu Object–
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 -
47
6.6.3 Delivery person -
48
6.6.4 New data member creation for Object Delivery Person–
49
6.6.5 View Created for Delivery Person Object-
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
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
6.7.4 New data member creation for Object Order - –
6.7.5 View Created for Order Object –
53
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 –
55
6.8.3 Object Validations-
6.8.4 New data member creation for Object Profile –
56
6.8.5 View Created for Profile Object –
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
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–
59
6.9.5 View Created for Payment Object –
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
6.10.2 Profile access to custom Vendor(Cook) object -
6.10.3 Profile access to custom Vendor(Transport) object -
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
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
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
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
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
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
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
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
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
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
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
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
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
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%
76
9) Used study material from NCI where the lecturer uploaded some
useful links.
10.1 Appendix
Visualforce Pages Code:
Home Page
<apex:page standardController="Contact" showheader="False">
<apex:pagemessages ></apex:pagemessages>
<apex:stylesheet value="https://www.w3schools.com/w3css/4/w3.css"/>
<link rel="stylesheet" href="https://www.w3schools.com/w3css/4/w3.css"></link>
<style>
body {font-family: "Times New Roman", Georgia, Serif;}
h1, h2, h3, h4, h5, h6 {
font-family: "Playfair Display";
letter-spacing: 5px;
}
.gbi-image {
max-width: 100%;
height: 500px;
}
.padding-64 {
padding-top: 2px!important;
padding-bottom: 2px!important;
}
</style>
<body>
<!-- Navbar -->
<div class="w3-top">
<div class="w3-bar w3-white w3-padding w3-card" style="letter-spacing:4px;">
<a href="#home" class="w3-bar-item w3-button">Grá Bia - Food Delivery</a>
<div class="w3-right w3-hide-small">
<a href="https://c.eu16.visual.force.com/apex/Grabia_Registration" class="w3-bar-item
w3-button">Registration</a>
<a href="https://eu16.salesforce.com/apex/LoginPage" class="w3-bar-item w3-
button">Login</a>
</div>
</div>
</div>
<header class="w3-display-container w3-content w3-wide" style="max-width:1600px;min-
width:500px" id="home">
<img class="gbi-image"
src="https://c.eu16.content.force.com/sfc/servlet.shepherd/version/renditionDownload?renditi
on=ORIGINAL_Jpg&versionId=0681t000006E5BN&operationContext=CHATTER&contentId=05T1t00000CVlQ6
" alt="Hamburger Catering" width="1600px" height="500px"></img>
<div class="w3-display-bottomleft w3-padding-large w3-opacity">
<h1 class="w3-xxlarge">Grá Bia</h1>
</div>
</header>
<!-- Page content -->
<div class="w3-content" style="max-width:1100px">
<!-- Menu Section -->
77
<div class="w3-row padding-64" id="menu">
<div class="w3-col l6 w3-padding-large">
<h1 class="w3-center">Our Menus</h1><br/>
<h4> Indian </h4>
<p class="w3-text-grey">Assortment home made fresh baked Indian food.</p><br/>
<h4> Chinese </h4>
<p class="w3-text-grey">Chinese chefs made authentic dishes.</p><br/>
<h4> Thai </h4>
<p class="w3-text-grey">Authentic thai home made food.</p><br/>
<h4> Italian </h4>
<p class="w3-text-grey">Italian cuisine made with native authentic touch.</p><br/>
</div>
</div>
</div>
<!-- End page content -->
</body>
<!-- Footer -->
<footer class="w3-center w3-light-grey w3-padding-32">
<p>Powered by Grá Bia - Food Delivery</p>
</footer>
</apex:page>
Cooking Vendors apex:
<apex:form >
<apex:pageBlock >
<apex:pageBlockSection showHeader="true" title="Please Add Menu" columns="1"
collapsible="False">
<apex:inputField value="{!Menu__c.Menu_Type__c}"
style="width:300px;height:20px;" Required="True"/>
<apex:inputField value="{!Menu__c.Calendar_Date__c}"
style="width:300px;height:20px;" Required="True"/>
<apex:inputField value="{!Menu__c.Menu_Cost__c}"
style="width:300px;height:20px;" Required="True"/>
<apex:inputField value="{!Menu__c.Menu_Description__c}"
style="width:300px;height:20px;" Required="True"/>
</apex:pageBlockSection>
<div align="center">
<apex:commandbutton value="ADD Menu" action="{!save}" />
</div>
</apex:pageBlock>
</apex:form>
Supply Vendors apex:
<apex:form >
<apex:pageBlock >
<apex:pageBlockSection showHeader="true" title="Please Add Delivery person"
columns="1" collapsible="False">
<apex:inputField value="{!Delivery_Person__c.Vendor_Transportation__c}"
style="width:300px;height:20px;" Required="True"/>
<apex:inputField value="{!Delivery_Person__c.Dlvry_Fname__c}"
style="width:300px;height:20px;" Required="True"/>
78
<apex:inputField value="{!Delivery_Person__c.Dlvry_Mname__c}"
style="width:300px;height:20px;" Required="True"/>
<apex:inputField value="{!Delivery_Person__c.Dlvry_Lname__c}"
style="width:300px;height:20px;" Required="True"/>
<apex:inputField value="{!Delivery_Person__c.Dlvry_Contact__c}"
style="width:300px;height:20px;" Required="True"/>
<apex:inputField value="{!Delivery_Person__c.Dlvry_Area_Pref__c}"
style="width:300px;height:20px;" Required="True"/>
<apex:inputField value="{!Delivery_Person__c.Dlvry_Addrs__c}"
style="width:300px;height:20px;" Required="True"/>
</apex:pageBlockSection>
<div align="center">
<apex:commandbutton value="Add Delivery Person" action="{!save}" />
</div>
</apex:pageBlock>
</apex:form>
List of Orders
<apex:form >
<div align="center" style="overflow-x:auto;">
<apex:datatable value="{!SLContExt}" var="SLx" cellPadding="3" border="1" >
<apex:column headerValue="Customer Ordering" value="{!SLx.Contact__c}"/>
<apex:column headerValue="Delivery Person Assigned" value="{!SLx.Delivery_Person__c}"/>
<apex:column headerValue="Delivery Status" value="{!SLx.Delivery_Status__c}"/>
<apex:column headerValue="Menu" value="{!SLx.Menu__c}"/>
<apex:column headerValue="Order Quantity" value="{!SLx.Order_Quantity__c}"/>
<apex:column headerValue="Total Order Cost" value="{!SLx.Order_Cost1__c}"/>
</apex:datatable>
</div>
</apex:form>
List of Delivery Persons
<apex:form >
<div align="center" style="overflow-x:auto;">
<apex:datatable value="{!SLContExt}" var="SLx" cellPadding="3" border="1" >
<apex:column headerValue="First Name" value="{!SLx.Dlvry_Fname__c}"/>
<apex:column headerValue="Last Name" value="{!SLx.Dlvry_Lname__c}"/>
<apex:column headerValue="Delivery Area Pref." value="{!SLx.Dlvry_Area_Pref__c}"/>
<apex:column headerValue="Delivery Person Contact" value="{!SLx.Dlvry_Contact__c}"/>
<apex:column headerValue="Delivery Person Address" value="{!SLx.Dlvry_Addrs__c}"/>
<apex:column headerValue="Vendor Transportation" value="{!SLx.Vendor_Transportation__c}"/>
</apex:datatable>
</div>
</apex:form>
List of Menus
<apex:form >
<div align="center" style="overflow-x:auto;">
<apex:datatable value="{!SLContExt}" var="SLx" cellPadding="3" border="1" >
79
<apex:column headerValue="Cook ID" value="{!SLx.CVdr_ID__c}"/>
<apex:column headerValue="Cost" value="{!SLx.Menu_Cost__c}"/>
<apex:column headerValue="Menu Date" value="{!SLx.Calendar_Date__c}"/>
<apex:column headerValue="Menu Description" value="{!SLx.Menu_Description__c}"/>
<apex:column headerValue="Menu ID" value="{!SLx.Menu_ID__c}"/>
<apex:column headerValue="Menu Type" value="{!SLx.Menu_Type__c}"/>
<apex:column headerValue="Menu Status" value="{!SLx.Menu_StatusF__c}"/>
</apex:datatable>
</div>
</apex:form>
List of Cooks
<apex:form >
<div align="center" style="overflow-x:auto;">
<apex:datatable value="{!SLContExt}" var="SLx" cellPadding="3" border="1" >
<apex:column headerValue="Cook's First Name" value="{!SLx.CVdr_First_Name__c}"/>
<apex:column headerValue="Cooks's Last Name" value="{!SLx.CVdr_Lname__c}"/>
<apex:column headerValue="Vendor Org. Name" value="{!SLx.CVdr_Org__c}"/>
<apex:column headerValue="Status" value="{!SLx.CVdr_Status__c}"/>
<apex:column headerValue="Cooking Preference" value="{!SLx.CVdr_Cook_Pref__c}"/>
</apex:datatable>
</div>
</apex:form>
Login
<apex:form >
<apex:pageBlock >
<apex:pageBlockSection showHeader="true" title="Login Details" collapsible="False">
<label for="userNam">User Name: </label>
<apex:inputtext value={!userNam} Required="True"/>
<label for="userNam">Password: </label>
<apex:inputsecret value={!userPass} Required="True"/>
</apex:pageBlockSection>
<div align="center">
<apex:commandbutton value="Login" action="{!LoginAct}" />
</div>
</apex:pageBlock>
</apex:form>
Registration:
<apex:form >
<apex:pageBlock >
<apex:pageBlockSection showHeader="true" title="Please Enter Registration Details"
columns="1" collapsible="False">
<apex:inputField value="{!Contact.FirstName}" style="width:300px;height:20px;"
Required="True"/>
<apex:inputField value="{!Contact.Lastname}"
style="width:300px;height:20px;" Required="True"/>
80
<apex:inputField value="{!Contact.Email}" style="width:300px;height:20px;"
Required="True"/>
<apex:inputField value="{!Contact.MobilePhone}"
style="width:300px;height:20px;" Required="True"/>
<apex:inputField value="{!Contact.Birthdate}"
style="width:300px;height:20px;" Required="True"/>
<apex:inputField value="{!contact.mailingstreet}"
style="width:300px;height:20px;" Required="True"/>
<apex:inputField value="{!contact.mailingcity}"
style="width:300px;height:20px;" Required="True"/>
<apex:inputField value="{!contact.mailingstate}"
style="width:300px;height:20px;" Required="True"/>
<apex:inputField value="{!contact.mailingcountry}"
style="width:300px;height:20px;" Required="True"/>
</apex:pageBlockSection>
<div align="center">
<apex:commandbutton value="SUBMIT" action="{!save}" />
</div>
</apex:pageBlock>
</apex:form>
 Control Classes:
Lookup Cooks Details
public with sharing class CooksLookup {
public PageReference getcooks() {
PageReference nextpage;
nextpage = Page.ListCooks;
return nextpage.setRedirect(True);
}
}
Lookup Delivery Person
public with sharing class DelPerLookup {
public PageReference getdelivery() {
PageReference nextpage;
nextpage = Page.ListDelPer;
return nextpage.setRedirect(True);
}}
Lookup Menu Details
public with sharing class MenuLookup {
public PageReference getmenus() {
PageReference nextpage;
nextpage = Page.ListMenu;
return nextpage.setRedirect(True);
}
}
Lookup Orders Object
81
public with sharing class OrderLookup {
public PageReference getorders() {
PageReference nextpage;
nextpage = Page.ListOrder;
return nextpage.setRedirect(True);
}
}
Retrieve Cooks Details
public with sharing class RetrieveCooks {
public String mnum { get; set; }
private ApexPages.StandardController controller {get; set;}
public RetrieveCooks(ApexPages.StandardSetController controller)
{ mnum = ApexPages.currentPage().getParameters().get('mnum');}
public ApexPages.StandardSetController setConection {
get {
setConnection = new ApexPages.StandardSetController(Database.getQueryLocator(
[Select CVdr_First_Name__c, CVdr_Lname__c, CVdr_Org__c, CVdr_Cook_Pref__c, CVdr_Stat
us__c from Vendor_Cook__c]));
return setConection;
}
set;
}
public List<Vendor_Cook__c> getSLContExt() { return (List<Vendor_Cook__c>) setCon.ge
tRecords();}}
Retrieve Delivery Person Dataset,
public with sharing class RetrieveDelPer {
public String mnum { get; set; }
private ApexPages.StandardController controller {get; set;}
public RetrieveDelPer(ApexPages.StandardSetController controller)
{ mnum = ApexPages.currentPage().getParameters().get('mnum');}
public ApexPages.StandardSetController setConnection {
get {
setConnection = new ApexPages.StandardSetController(Database.getQueryLocator(
[Select Dlvry_Area_Pref__c, Dlvry_Contact__c, Dlvry_Addrs__c, Dlvry_Fname__c, Dlvry_
Lname__c,Vendor_Transportation__c from Delivery_Person__c]));
return setConnection;
}
set;
}
public List<Delivery_Person__c> getSLContExt() {
return (List<Delivery_Person__c>) setCon.getRecords();
}
}
Retrieve Menus Dataset
public with sharing class RetrieveMenus {
public String mnum { get; set; }
private ApexPages.StandardController controller {get; set;}
82
public RetrieveMenus(ApexPages.StandardSetController controller)
{
mnum = ApexPages.currentPage().getParameters().get('mnum');
}
public ApexPages.StandardSetController setConnection {
get {
setConnection = new ApexPages.StandardSetController(Database.getQueryLocator(
[Select CVdr_ID__c, Menu_Cost__c, Calendar_Date__c, Menu_Description__c, Menu_ID__c,
Menu_StatusF__c,Menu_Type__c from Menu__c]));
return setConnection;
}
set;}
public List<Menu__c> getSLContExt() {
return (List<Menu__c>) setCon.getRecords();
}
}
Retrieve Orders Dataset
public with sharing class RetrieveOrders {
public String mnum { get; set; }
private ApexPages.StandardController controller {get; set;}
public RetrieveOrders(ApexPages.StandardSetController controller)
{
mnum = ApexPages.currentPage().getParameters().get('mnum');
}
public ApexPages.StandardSetController setCon {
get {
setCon = new ApexPages.StandardSetController(Database.getQueryLocator(
[Select Contact__c, Delivery_Person__c, Delivery_Status__c, Menu__c, Order_Cost1__c,
Order_Quantity__c from Order__c]));
return setCon;
}
set;
}
public List<Order__c> getSLContExt() {
return (List<Order__c>) setCon.getRecords();
}
}

More Related Content

What's hot

E-Restaurant Management System
E-Restaurant Management SystemE-Restaurant Management System
E-Restaurant Management SystemArno Lordkronos
 
Inventory Management System
Inventory Management SystemInventory Management System
Inventory Management SystemEmmanuel college
 
Restaurant Management System
Restaurant Management SystemRestaurant Management System
Restaurant Management SystemJuliasmith1985
 
ABC Restaurant Food Ordering Management System
ABC Restaurant Food Ordering Management SystemABC Restaurant Food Ordering Management System
ABC Restaurant Food Ordering Management SystemNik Ibrahim
 
Restaurant Project by Amit Mangukiya
Restaurant Project by Amit MangukiyaRestaurant Project by Amit Mangukiya
Restaurant Project by Amit MangukiyaAmit Mangukiya
 
Online Food Ordering Website project
Online Food Ordering Website projectOnline Food Ordering Website project
Online Food Ordering Website projectArpitsaxena79
 
Food delivery application report
Food delivery application reportFood delivery application report
Food delivery application reportAshwinBicholiya
 
online room booking system
online room booking systemonline room booking system
online room booking systemmanuchinna
 
Table Reservation System
Table Reservation SystemTable Reservation System
Table Reservation SystemSagar Singh
 
online job portal system
online job portal systemonline job portal system
online job portal systemKrishna Ranjan
 
Food ordering System
Food ordering SystemFood ordering System
Food ordering SystemArman Ahmed
 
Proposal for Point of Sale and Inventory Management Systems
Proposal for Point of Sale and Inventory Management SystemsProposal for Point of Sale and Inventory Management Systems
Proposal for Point of Sale and Inventory Management SystemsMacWolf1
 
Online vehicle service center management system project report
Online vehicle service center management system project reportOnline vehicle service center management system project report
Online vehicle service center management system project reportmehulgundaliya
 
System requirement system for restaurant management system.
System requirement system for restaurant management system.System requirement system for restaurant management system.
System requirement system for restaurant management system.SAURABH SHARMA
 
An Online Food Ordering Service
An Online Food Ordering ServiceAn Online Food Ordering Service
An Online Food Ordering Serviceshreeram38
 
My Final year project on Android app development
My Final year project on Android app developmentMy Final year project on Android app development
My Final year project on Android app developmentrahulkumargiri
 

What's hot (20)

Online Restaurant Management System
Online Restaurant Management SystemOnline Restaurant Management System
Online Restaurant Management System
 
E-Restaurant Management System
E-Restaurant Management SystemE-Restaurant Management System
E-Restaurant Management System
 
Inventory Management System
Inventory Management SystemInventory Management System
Inventory Management System
 
Restaurant Management System
Restaurant Management SystemRestaurant Management System
Restaurant Management System
 
ABC Restaurant Food Ordering Management System
ABC Restaurant Food Ordering Management SystemABC Restaurant Food Ordering Management System
ABC Restaurant Food Ordering Management System
 
Restaurant Project by Amit Mangukiya
Restaurant Project by Amit MangukiyaRestaurant Project by Amit Mangukiya
Restaurant Project by Amit Mangukiya
 
Food Order Management System
Food Order Management SystemFood Order Management System
Food Order Management System
 
Online Food Ordering Website project
Online Food Ordering Website projectOnline Food Ordering Website project
Online Food Ordering Website project
 
Food delivery application report
Food delivery application reportFood delivery application report
Food delivery application report
 
Online Restaurant
Online  RestaurantOnline  Restaurant
Online Restaurant
 
online room booking system
online room booking systemonline room booking system
online room booking system
 
online marketplace report
online marketplace reportonline marketplace report
online marketplace report
 
Table Reservation System
Table Reservation SystemTable Reservation System
Table Reservation System
 
online job portal system
online job portal systemonline job portal system
online job portal system
 
Food ordering System
Food ordering SystemFood ordering System
Food ordering System
 
Proposal for Point of Sale and Inventory Management Systems
Proposal for Point of Sale and Inventory Management SystemsProposal for Point of Sale and Inventory Management Systems
Proposal for Point of Sale and Inventory Management Systems
 
Online vehicle service center management system project report
Online vehicle service center management system project reportOnline vehicle service center management system project report
Online vehicle service center management system project report
 
System requirement system for restaurant management system.
System requirement system for restaurant management system.System requirement system for restaurant management system.
System requirement system for restaurant management system.
 
An Online Food Ordering Service
An Online Food Ordering ServiceAn Online Food Ordering Service
An Online Food Ordering Service
 
My Final year project on Android app development
My Final year project on Android app developmentMy Final year project on Android app development
My Final year project on Android app development
 

Similar to Consumer-To-Consumer Food Delivery System on Salesforce.

Final degree project (Business Administration)
Final degree project (Business Administration)Final degree project (Business Administration)
Final degree project (Business Administration)Silviu Ungureanu
 
Project Scope&Project Resources, Schedule, and Cost(.docx
Project Scope&Project Resources, Schedule, and Cost(.docxProject Scope&Project Resources, Schedule, and Cost(.docx
Project Scope&Project Resources, Schedule, and Cost(.docxwoodruffeloisa
 
Home depot Strategic Report
Home depot Strategic ReportHome depot Strategic Report
Home depot Strategic ReportAziz Ghani
 
Marketing Plan for New Android App
Marketing Plan for  New Android AppMarketing Plan for  New Android App
Marketing Plan for New Android AppSurabhi Shome
 
Business Plan - MGOP Bakery Supplies
Business Plan - MGOP Bakery SuppliesBusiness Plan - MGOP Bakery Supplies
Business Plan - MGOP Bakery SuppliesMary Grace Pagas
 
2_Q2-Entrep-Autosaved.pptx
2_Q2-Entrep-Autosaved.pptx2_Q2-Entrep-Autosaved.pptx
2_Q2-Entrep-Autosaved.pptxSheraRuthFeolino
 
FRESH GROWERS- Business expansion, Marketing & Promotion Model ,SWOT Analysis...
FRESH GROWERS- Business expansion, Marketing & Promotion Model ,SWOT Analysis...FRESH GROWERS- Business expansion, Marketing & Promotion Model ,SWOT Analysis...
FRESH GROWERS- Business expansion, Marketing & Promotion Model ,SWOT Analysis...National Management Olympiad
 
Service Blueprint for a Business
Service Blueprint for a BusinessService Blueprint for a Business
Service Blueprint for a BusinessGuy Muchineuta
 
Sheroes Cafe - Food Ordering Application
Sheroes Cafe - Food Ordering ApplicationSheroes Cafe - Food Ordering Application
Sheroes Cafe - Food Ordering ApplicationIRJET Journal
 
Home depot Strategy Report
Home depot Strategy ReportHome depot Strategy Report
Home depot Strategy ReportAziz Ghani
 
marketing of services of door step service
marketing of services of door step servicemarketing of services of door step service
marketing of services of door step serviceMayank Garg
 
Project trafalgar operations lead spec sheet
Project trafalgar   operations lead spec sheetProject trafalgar   operations lead spec sheet
Project trafalgar operations lead spec sheetAndrew Price
 
Business Proposal on Poultry & Feed LTD..pptx
Business Proposal on Poultry & Feed LTD..pptxBusiness Proposal on Poultry & Feed LTD..pptx
Business Proposal on Poultry & Feed LTD..pptxRUET
 

Similar to Consumer-To-Consumer Food Delivery System on Salesforce. (20)

National Foods - Introduction To ERP Systems
National Foods - Introduction To ERP SystemsNational Foods - Introduction To ERP Systems
National Foods - Introduction To ERP Systems
 
Final degree project (Business Administration)
Final degree project (Business Administration)Final degree project (Business Administration)
Final degree project (Business Administration)
 
Project Scope&Project Resources, Schedule, and Cost(.docx
Project Scope&Project Resources, Schedule, and Cost(.docxProject Scope&Project Resources, Schedule, and Cost(.docx
Project Scope&Project Resources, Schedule, and Cost(.docx
 
business-plan
business-planbusiness-plan
business-plan
 
Home depot Strategic Report
Home depot Strategic ReportHome depot Strategic Report
Home depot Strategic Report
 
Marketing Plan for New Android App
Marketing Plan for  New Android AppMarketing Plan for  New Android App
Marketing Plan for New Android App
 
Pizza Delivery Quick
Pizza Delivery QuickPizza Delivery Quick
Pizza Delivery Quick
 
Business Plan - MGOP Bakery Supplies
Business Plan - MGOP Bakery SuppliesBusiness Plan - MGOP Bakery Supplies
Business Plan - MGOP Bakery Supplies
 
innovation
innovationinnovation
innovation
 
2_Q2-Entrep-Autosaved.pptx
2_Q2-Entrep-Autosaved.pptx2_Q2-Entrep-Autosaved.pptx
2_Q2-Entrep-Autosaved.pptx
 
FRESH GROWERS- Business expansion, Marketing & Promotion Model ,SWOT Analysis...
FRESH GROWERS- Business expansion, Marketing & Promotion Model ,SWOT Analysis...FRESH GROWERS- Business expansion, Marketing & Promotion Model ,SWOT Analysis...
FRESH GROWERS- Business expansion, Marketing & Promotion Model ,SWOT Analysis...
 
Service Blueprint for a Business
Service Blueprint for a BusinessService Blueprint for a Business
Service Blueprint for a Business
 
Mme3022 business plan
Mme3022 business planMme3022 business plan
Mme3022 business plan
 
Sheroes Cafe - Food Ordering Application
Sheroes Cafe - Food Ordering ApplicationSheroes Cafe - Food Ordering Application
Sheroes Cafe - Food Ordering Application
 
Home depot Strategy Report
Home depot Strategy ReportHome depot Strategy Report
Home depot Strategy Report
 
marketing of services of door step service
marketing of services of door step servicemarketing of services of door step service
marketing of services of door step service
 
Deliveroo Marketing Case Study
Deliveroo Marketing Case StudyDeliveroo Marketing Case Study
Deliveroo Marketing Case Study
 
Project trafalgar operations lead spec sheet
Project trafalgar   operations lead spec sheetProject trafalgar   operations lead spec sheet
Project trafalgar operations lead spec sheet
 
Builtec distribution
Builtec distributionBuiltec distribution
Builtec distribution
 
Business Proposal on Poultry & Feed LTD..pptx
Business Proposal on Poultry & Feed LTD..pptxBusiness Proposal on Poultry & Feed LTD..pptx
Business Proposal on Poultry & Feed LTD..pptx
 

More from Darshan Gorasiya

Analysis of the EU Citizen's Response on the Challenges and Aspirations of EU
Analysis of the EU Citizen's Response on the Challenges and Aspirations of EUAnalysis of the EU Citizen's Response on the Challenges and Aspirations of EU
Analysis of the EU Citizen's Response on the Challenges and Aspirations of EUDarshan Gorasiya
 
FAKE NEWS - Sources, Concerns & Impacts.
FAKE NEWS - Sources, Concerns & Impacts.FAKE NEWS - Sources, Concerns & Impacts.
FAKE NEWS - Sources, Concerns & Impacts.Darshan Gorasiya
 
Analysis of Malware Infected Systems & Classification with Gradient-boosted T...
Analysis of Malware Infected Systems & Classification with Gradient-boosted T...Analysis of Malware Infected Systems & Classification with Gradient-boosted T...
Analysis of Malware Infected Systems & Classification with Gradient-boosted T...Darshan Gorasiya
 
'Drowning Earth' - Magazine-style report on Climate Change. - Data Visualization
'Drowning Earth' - Magazine-style report on Climate Change. - Data Visualization'Drowning Earth' - Magazine-style report on Climate Change. - Data Visualization
'Drowning Earth' - Magazine-style report on Climate Change. - Data VisualizationDarshan Gorasiya
 
Diabetic Retinopathy Detection using CNN image classification algorithm
Diabetic Retinopathy Detection using CNN image classification algorithmDiabetic Retinopathy Detection using CNN image classification algorithm
Diabetic Retinopathy Detection using CNN image classification algorithmDarshan Gorasiya
 
Comparison of Open-Source Data Stream Processing Engines: Spark Streaming, Fl...
Comparison of Open-Source Data Stream Processing Engines: Spark Streaming, Fl...Comparison of Open-Source Data Stream Processing Engines: Spark Streaming, Fl...
Comparison of Open-Source Data Stream Processing Engines: Spark Streaming, Fl...Darshan Gorasiya
 
Quantitative Performance Evaluation of Cloud-Based MySQL (Relational) Vs. Mon...
Quantitative Performance Evaluation of Cloud-Based MySQL (Relational) Vs. Mon...Quantitative Performance Evaluation of Cloud-Based MySQL (Relational) Vs. Mon...
Quantitative Performance Evaluation of Cloud-Based MySQL (Relational) Vs. Mon...Darshan Gorasiya
 

More from Darshan Gorasiya (7)

Analysis of the EU Citizen's Response on the Challenges and Aspirations of EU
Analysis of the EU Citizen's Response on the Challenges and Aspirations of EUAnalysis of the EU Citizen's Response on the Challenges and Aspirations of EU
Analysis of the EU Citizen's Response on the Challenges and Aspirations of EU
 
FAKE NEWS - Sources, Concerns & Impacts.
FAKE NEWS - Sources, Concerns & Impacts.FAKE NEWS - Sources, Concerns & Impacts.
FAKE NEWS - Sources, Concerns & Impacts.
 
Analysis of Malware Infected Systems & Classification with Gradient-boosted T...
Analysis of Malware Infected Systems & Classification with Gradient-boosted T...Analysis of Malware Infected Systems & Classification with Gradient-boosted T...
Analysis of Malware Infected Systems & Classification with Gradient-boosted T...
 
'Drowning Earth' - Magazine-style report on Climate Change. - Data Visualization
'Drowning Earth' - Magazine-style report on Climate Change. - Data Visualization'Drowning Earth' - Magazine-style report on Climate Change. - Data Visualization
'Drowning Earth' - Magazine-style report on Climate Change. - Data Visualization
 
Diabetic Retinopathy Detection using CNN image classification algorithm
Diabetic Retinopathy Detection using CNN image classification algorithmDiabetic Retinopathy Detection using CNN image classification algorithm
Diabetic Retinopathy Detection using CNN image classification algorithm
 
Comparison of Open-Source Data Stream Processing Engines: Spark Streaming, Fl...
Comparison of Open-Source Data Stream Processing Engines: Spark Streaming, Fl...Comparison of Open-Source Data Stream Processing Engines: Spark Streaming, Fl...
Comparison of Open-Source Data Stream Processing Engines: Spark Streaming, Fl...
 
Quantitative Performance Evaluation of Cloud-Based MySQL (Relational) Vs. Mon...
Quantitative Performance Evaluation of Cloud-Based MySQL (Relational) Vs. Mon...Quantitative Performance Evaluation of Cloud-Based MySQL (Relational) Vs. Mon...
Quantitative Performance Evaluation of Cloud-Based MySQL (Relational) Vs. Mon...
 

Recently uploaded

20240419 - Measurecamp Amsterdam - SAM.pdf
20240419 - Measurecamp Amsterdam - SAM.pdf20240419 - Measurecamp Amsterdam - SAM.pdf
20240419 - Measurecamp Amsterdam - SAM.pdfHuman37
 
Schema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfSchema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfLars Albertsson
 
Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...
Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...
Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...Sapana Sha
 
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Callshivangimorya083
 
Beautiful Sapna Vip Call Girls Hauz Khas 9711199012 Call /Whatsapps
Beautiful Sapna Vip  Call Girls Hauz Khas 9711199012 Call /WhatsappsBeautiful Sapna Vip  Call Girls Hauz Khas 9711199012 Call /Whatsapps
Beautiful Sapna Vip Call Girls Hauz Khas 9711199012 Call /Whatsappssapnasaifi408
 
GA4 Without Cookies [Measure Camp AMS]
GA4 Without Cookies [Measure Camp AMS]GA4 Without Cookies [Measure Camp AMS]
GA4 Without Cookies [Measure Camp AMS]📊 Markus Baersch
 
Industrialised data - the key to AI success.pdf
Industrialised data - the key to AI success.pdfIndustrialised data - the key to AI success.pdf
Industrialised data - the key to AI success.pdfLars Albertsson
 
RadioAdProWritingCinderellabyButleri.pdf
RadioAdProWritingCinderellabyButleri.pdfRadioAdProWritingCinderellabyButleri.pdf
RadioAdProWritingCinderellabyButleri.pdfgstagge
 
办理(Vancouver毕业证书)加拿大温哥华岛大学毕业证成绩单原版一比一
办理(Vancouver毕业证书)加拿大温哥华岛大学毕业证成绩单原版一比一办理(Vancouver毕业证书)加拿大温哥华岛大学毕业证成绩单原版一比一
办理(Vancouver毕业证书)加拿大温哥华岛大学毕业证成绩单原版一比一F La
 
PKS-TGC-1084-630 - Stage 1 Proposal.pptx
PKS-TGC-1084-630 - Stage 1 Proposal.pptxPKS-TGC-1084-630 - Stage 1 Proposal.pptx
PKS-TGC-1084-630 - Stage 1 Proposal.pptxPramod Kumar Srivastava
 
9654467111 Call Girls In Munirka Hotel And Home Service
9654467111 Call Girls In Munirka Hotel And Home Service9654467111 Call Girls In Munirka Hotel And Home Service
9654467111 Call Girls In Munirka Hotel And Home ServiceSapana Sha
 
EMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM TRACKING WITH GOOGLE ANALYTICS.pptx
EMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM  TRACKING WITH GOOGLE ANALYTICS.pptxEMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM  TRACKING WITH GOOGLE ANALYTICS.pptx
EMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM TRACKING WITH GOOGLE ANALYTICS.pptxthyngster
 
RA-11058_IRR-COMPRESS Do 198 series of 1998
RA-11058_IRR-COMPRESS Do 198 series of 1998RA-11058_IRR-COMPRESS Do 198 series of 1998
RA-11058_IRR-COMPRESS Do 198 series of 1998YohFuh
 
Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...
Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...
Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...dajasot375
 
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Serviceranjana rawat
 
Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...
High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...
High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...soniya singh
 

Recently uploaded (20)

20240419 - Measurecamp Amsterdam - SAM.pdf
20240419 - Measurecamp Amsterdam - SAM.pdf20240419 - Measurecamp Amsterdam - SAM.pdf
20240419 - Measurecamp Amsterdam - SAM.pdf
 
Schema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfSchema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdf
 
Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...
Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...
Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...
 
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
 
Beautiful Sapna Vip Call Girls Hauz Khas 9711199012 Call /Whatsapps
Beautiful Sapna Vip  Call Girls Hauz Khas 9711199012 Call /WhatsappsBeautiful Sapna Vip  Call Girls Hauz Khas 9711199012 Call /Whatsapps
Beautiful Sapna Vip Call Girls Hauz Khas 9711199012 Call /Whatsapps
 
GA4 Without Cookies [Measure Camp AMS]
GA4 Without Cookies [Measure Camp AMS]GA4 Without Cookies [Measure Camp AMS]
GA4 Without Cookies [Measure Camp AMS]
 
Industrialised data - the key to AI success.pdf
Industrialised data - the key to AI success.pdfIndustrialised data - the key to AI success.pdf
Industrialised data - the key to AI success.pdf
 
RadioAdProWritingCinderellabyButleri.pdf
RadioAdProWritingCinderellabyButleri.pdfRadioAdProWritingCinderellabyButleri.pdf
RadioAdProWritingCinderellabyButleri.pdf
 
办理(Vancouver毕业证书)加拿大温哥华岛大学毕业证成绩单原版一比一
办理(Vancouver毕业证书)加拿大温哥华岛大学毕业证成绩单原版一比一办理(Vancouver毕业证书)加拿大温哥华岛大学毕业证成绩单原版一比一
办理(Vancouver毕业证书)加拿大温哥华岛大学毕业证成绩单原版一比一
 
PKS-TGC-1084-630 - Stage 1 Proposal.pptx
PKS-TGC-1084-630 - Stage 1 Proposal.pptxPKS-TGC-1084-630 - Stage 1 Proposal.pptx
PKS-TGC-1084-630 - Stage 1 Proposal.pptx
 
9654467111 Call Girls In Munirka Hotel And Home Service
9654467111 Call Girls In Munirka Hotel And Home Service9654467111 Call Girls In Munirka Hotel And Home Service
9654467111 Call Girls In Munirka Hotel And Home Service
 
Decoding Loan Approval: Predictive Modeling in Action
Decoding Loan Approval: Predictive Modeling in ActionDecoding Loan Approval: Predictive Modeling in Action
Decoding Loan Approval: Predictive Modeling in Action
 
EMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM TRACKING WITH GOOGLE ANALYTICS.pptx
EMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM  TRACKING WITH GOOGLE ANALYTICS.pptxEMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM  TRACKING WITH GOOGLE ANALYTICS.pptx
EMERCE - 2024 - AMSTERDAM - CROSS-PLATFORM TRACKING WITH GOOGLE ANALYTICS.pptx
 
RA-11058_IRR-COMPRESS Do 198 series of 1998
RA-11058_IRR-COMPRESS Do 198 series of 1998RA-11058_IRR-COMPRESS Do 198 series of 1998
RA-11058_IRR-COMPRESS Do 198 series of 1998
 
Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...
Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...
Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...
 
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
 
E-Commerce Order PredictionShraddha Kamble.pptx
E-Commerce Order PredictionShraddha Kamble.pptxE-Commerce Order PredictionShraddha Kamble.pptx
E-Commerce Order PredictionShraddha Kamble.pptx
 
꧁❤ Aerocity Call Girls Service Aerocity Delhi ❤꧂ 9999965857 ☎️ Hard And Sexy ...
꧁❤ Aerocity Call Girls Service Aerocity Delhi ❤꧂ 9999965857 ☎️ Hard And Sexy ...꧁❤ Aerocity Call Girls Service Aerocity Delhi ❤꧂ 9999965857 ☎️ Hard And Sexy ...
꧁❤ Aerocity Call Girls Service Aerocity Delhi ❤꧂ 9999965857 ☎️ Hard And Sexy ...
 
Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝
 
High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...
High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...
High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...
 

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.
  • 8. 8
  • 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.
  • 11. 11 Figure 3: Ordering Food (Customer)
  • 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.
  • 13. 13 Figure 4: Delivery Team Registration
  • 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.
  • 15. 15 Figure 5: Payment Process Flow
  • 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.
  • 17. 17
  • 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.
  • 31. 31 6.1.3 New data member creation for Object Customer -
  • 32. 32 6.1.4 View Created for Customer Object - 6.2 Custom object: Administrator-
  • 33. 33 6.2.1 Data Validation for object Administrator – Not Null Validation is set for administration object in Saleforce.
  • 34. 34 6.2.2 New data member creation for Object Customer -
  • 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.
  • 36. 36 6.3.1 Metadata structure for object Vendor (Transportation)-
  • 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)-
  • 39. 39 6.4.2 Metadata structure for object Cooking -
  • 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) -
  • 41. 41 6.4.4 View Created for Vendor (Cook) Object–
  • 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 .
  • 44. 44 6.5.3 New data member creation for Object Menu–
  • 45. 45 6.5.4 View Created for Menu Object–
  • 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 -
  • 48. 48 6.6.4 New data member creation for Object Delivery Person–
  • 49. 49 6.6.5 View Created for Delivery Person Object-
  • 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 –
  • 53. 53
  • 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 –
  • 55. 55 6.8.3 Object Validations- 6.8.4 New data member creation for Object Profile –
  • 56. 56 6.8.5 View Created for Profile Object –
  • 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–
  • 59. 59 6.9.5 View Created 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%
  • 76. 76 9) Used study material from NCI where the lecturer uploaded some useful links. 10.1 Appendix Visualforce Pages Code: Home Page <apex:page standardController="Contact" showheader="False"> <apex:pagemessages ></apex:pagemessages> <apex:stylesheet value="https://www.w3schools.com/w3css/4/w3.css"/> <link rel="stylesheet" href="https://www.w3schools.com/w3css/4/w3.css"></link> <style> body {font-family: "Times New Roman", Georgia, Serif;} h1, h2, h3, h4, h5, h6 { font-family: "Playfair Display"; letter-spacing: 5px; } .gbi-image { max-width: 100%; height: 500px; } .padding-64 { padding-top: 2px!important; padding-bottom: 2px!important; } </style> <body> <!-- Navbar --> <div class="w3-top"> <div class="w3-bar w3-white w3-padding w3-card" style="letter-spacing:4px;"> <a href="#home" class="w3-bar-item w3-button">Grá Bia - Food Delivery</a> <div class="w3-right w3-hide-small"> <a href="https://c.eu16.visual.force.com/apex/Grabia_Registration" class="w3-bar-item w3-button">Registration</a> <a href="https://eu16.salesforce.com/apex/LoginPage" class="w3-bar-item w3- button">Login</a> </div> </div> </div> <header class="w3-display-container w3-content w3-wide" style="max-width:1600px;min- width:500px" id="home"> <img class="gbi-image" src="https://c.eu16.content.force.com/sfc/servlet.shepherd/version/renditionDownload?renditi on=ORIGINAL_Jpg&versionId=0681t000006E5BN&operationContext=CHATTER&contentId=05T1t00000CVlQ6 " alt="Hamburger Catering" width="1600px" height="500px"></img> <div class="w3-display-bottomleft w3-padding-large w3-opacity"> <h1 class="w3-xxlarge">Grá Bia</h1> </div> </header> <!-- Page content --> <div class="w3-content" style="max-width:1100px"> <!-- Menu Section -->
  • 77. 77 <div class="w3-row padding-64" id="menu"> <div class="w3-col l6 w3-padding-large"> <h1 class="w3-center">Our Menus</h1><br/> <h4> Indian </h4> <p class="w3-text-grey">Assortment home made fresh baked Indian food.</p><br/> <h4> Chinese </h4> <p class="w3-text-grey">Chinese chefs made authentic dishes.</p><br/> <h4> Thai </h4> <p class="w3-text-grey">Authentic thai home made food.</p><br/> <h4> Italian </h4> <p class="w3-text-grey">Italian cuisine made with native authentic touch.</p><br/> </div> </div> </div> <!-- End page content --> </body> <!-- Footer --> <footer class="w3-center w3-light-grey w3-padding-32"> <p>Powered by Grá Bia - Food Delivery</p> </footer> </apex:page> Cooking Vendors apex: <apex:form > <apex:pageBlock > <apex:pageBlockSection showHeader="true" title="Please Add Menu" columns="1" collapsible="False"> <apex:inputField value="{!Menu__c.Menu_Type__c}" style="width:300px;height:20px;" Required="True"/> <apex:inputField value="{!Menu__c.Calendar_Date__c}" style="width:300px;height:20px;" Required="True"/> <apex:inputField value="{!Menu__c.Menu_Cost__c}" style="width:300px;height:20px;" Required="True"/> <apex:inputField value="{!Menu__c.Menu_Description__c}" style="width:300px;height:20px;" Required="True"/> </apex:pageBlockSection> <div align="center"> <apex:commandbutton value="ADD Menu" action="{!save}" /> </div> </apex:pageBlock> </apex:form> Supply Vendors apex: <apex:form > <apex:pageBlock > <apex:pageBlockSection showHeader="true" title="Please Add Delivery person" columns="1" collapsible="False"> <apex:inputField value="{!Delivery_Person__c.Vendor_Transportation__c}" style="width:300px;height:20px;" Required="True"/> <apex:inputField value="{!Delivery_Person__c.Dlvry_Fname__c}" style="width:300px;height:20px;" Required="True"/>
  • 78. 78 <apex:inputField value="{!Delivery_Person__c.Dlvry_Mname__c}" style="width:300px;height:20px;" Required="True"/> <apex:inputField value="{!Delivery_Person__c.Dlvry_Lname__c}" style="width:300px;height:20px;" Required="True"/> <apex:inputField value="{!Delivery_Person__c.Dlvry_Contact__c}" style="width:300px;height:20px;" Required="True"/> <apex:inputField value="{!Delivery_Person__c.Dlvry_Area_Pref__c}" style="width:300px;height:20px;" Required="True"/> <apex:inputField value="{!Delivery_Person__c.Dlvry_Addrs__c}" style="width:300px;height:20px;" Required="True"/> </apex:pageBlockSection> <div align="center"> <apex:commandbutton value="Add Delivery Person" action="{!save}" /> </div> </apex:pageBlock> </apex:form> List of Orders <apex:form > <div align="center" style="overflow-x:auto;"> <apex:datatable value="{!SLContExt}" var="SLx" cellPadding="3" border="1" > <apex:column headerValue="Customer Ordering" value="{!SLx.Contact__c}"/> <apex:column headerValue="Delivery Person Assigned" value="{!SLx.Delivery_Person__c}"/> <apex:column headerValue="Delivery Status" value="{!SLx.Delivery_Status__c}"/> <apex:column headerValue="Menu" value="{!SLx.Menu__c}"/> <apex:column headerValue="Order Quantity" value="{!SLx.Order_Quantity__c}"/> <apex:column headerValue="Total Order Cost" value="{!SLx.Order_Cost1__c}"/> </apex:datatable> </div> </apex:form> List of Delivery Persons <apex:form > <div align="center" style="overflow-x:auto;"> <apex:datatable value="{!SLContExt}" var="SLx" cellPadding="3" border="1" > <apex:column headerValue="First Name" value="{!SLx.Dlvry_Fname__c}"/> <apex:column headerValue="Last Name" value="{!SLx.Dlvry_Lname__c}"/> <apex:column headerValue="Delivery Area Pref." value="{!SLx.Dlvry_Area_Pref__c}"/> <apex:column headerValue="Delivery Person Contact" value="{!SLx.Dlvry_Contact__c}"/> <apex:column headerValue="Delivery Person Address" value="{!SLx.Dlvry_Addrs__c}"/> <apex:column headerValue="Vendor Transportation" value="{!SLx.Vendor_Transportation__c}"/> </apex:datatable> </div> </apex:form> List of Menus <apex:form > <div align="center" style="overflow-x:auto;"> <apex:datatable value="{!SLContExt}" var="SLx" cellPadding="3" border="1" >
  • 79. 79 <apex:column headerValue="Cook ID" value="{!SLx.CVdr_ID__c}"/> <apex:column headerValue="Cost" value="{!SLx.Menu_Cost__c}"/> <apex:column headerValue="Menu Date" value="{!SLx.Calendar_Date__c}"/> <apex:column headerValue="Menu Description" value="{!SLx.Menu_Description__c}"/> <apex:column headerValue="Menu ID" value="{!SLx.Menu_ID__c}"/> <apex:column headerValue="Menu Type" value="{!SLx.Menu_Type__c}"/> <apex:column headerValue="Menu Status" value="{!SLx.Menu_StatusF__c}"/> </apex:datatable> </div> </apex:form> List of Cooks <apex:form > <div align="center" style="overflow-x:auto;"> <apex:datatable value="{!SLContExt}" var="SLx" cellPadding="3" border="1" > <apex:column headerValue="Cook's First Name" value="{!SLx.CVdr_First_Name__c}"/> <apex:column headerValue="Cooks's Last Name" value="{!SLx.CVdr_Lname__c}"/> <apex:column headerValue="Vendor Org. Name" value="{!SLx.CVdr_Org__c}"/> <apex:column headerValue="Status" value="{!SLx.CVdr_Status__c}"/> <apex:column headerValue="Cooking Preference" value="{!SLx.CVdr_Cook_Pref__c}"/> </apex:datatable> </div> </apex:form> Login <apex:form > <apex:pageBlock > <apex:pageBlockSection showHeader="true" title="Login Details" collapsible="False"> <label for="userNam">User Name: </label> <apex:inputtext value={!userNam} Required="True"/> <label for="userNam">Password: </label> <apex:inputsecret value={!userPass} Required="True"/> </apex:pageBlockSection> <div align="center"> <apex:commandbutton value="Login" action="{!LoginAct}" /> </div> </apex:pageBlock> </apex:form> Registration: <apex:form > <apex:pageBlock > <apex:pageBlockSection showHeader="true" title="Please Enter Registration Details" columns="1" collapsible="False"> <apex:inputField value="{!Contact.FirstName}" style="width:300px;height:20px;" Required="True"/> <apex:inputField value="{!Contact.Lastname}" style="width:300px;height:20px;" Required="True"/>
  • 80. 80 <apex:inputField value="{!Contact.Email}" style="width:300px;height:20px;" Required="True"/> <apex:inputField value="{!Contact.MobilePhone}" style="width:300px;height:20px;" Required="True"/> <apex:inputField value="{!Contact.Birthdate}" style="width:300px;height:20px;" Required="True"/> <apex:inputField value="{!contact.mailingstreet}" style="width:300px;height:20px;" Required="True"/> <apex:inputField value="{!contact.mailingcity}" style="width:300px;height:20px;" Required="True"/> <apex:inputField value="{!contact.mailingstate}" style="width:300px;height:20px;" Required="True"/> <apex:inputField value="{!contact.mailingcountry}" style="width:300px;height:20px;" Required="True"/> </apex:pageBlockSection> <div align="center"> <apex:commandbutton value="SUBMIT" action="{!save}" /> </div> </apex:pageBlock> </apex:form>  Control Classes: Lookup Cooks Details public with sharing class CooksLookup { public PageReference getcooks() { PageReference nextpage; nextpage = Page.ListCooks; return nextpage.setRedirect(True); } } Lookup Delivery Person public with sharing class DelPerLookup { public PageReference getdelivery() { PageReference nextpage; nextpage = Page.ListDelPer; return nextpage.setRedirect(True); }} Lookup Menu Details public with sharing class MenuLookup { public PageReference getmenus() { PageReference nextpage; nextpage = Page.ListMenu; return nextpage.setRedirect(True); } } Lookup Orders Object
  • 81. 81 public with sharing class OrderLookup { public PageReference getorders() { PageReference nextpage; nextpage = Page.ListOrder; return nextpage.setRedirect(True); } } Retrieve Cooks Details public with sharing class RetrieveCooks { public String mnum { get; set; } private ApexPages.StandardController controller {get; set;} public RetrieveCooks(ApexPages.StandardSetController controller) { mnum = ApexPages.currentPage().getParameters().get('mnum');} public ApexPages.StandardSetController setConection { get { setConnection = new ApexPages.StandardSetController(Database.getQueryLocator( [Select CVdr_First_Name__c, CVdr_Lname__c, CVdr_Org__c, CVdr_Cook_Pref__c, CVdr_Stat us__c from Vendor_Cook__c])); return setConection; } set; } public List<Vendor_Cook__c> getSLContExt() { return (List<Vendor_Cook__c>) setCon.ge tRecords();}} Retrieve Delivery Person Dataset, public with sharing class RetrieveDelPer { public String mnum { get; set; } private ApexPages.StandardController controller {get; set;} public RetrieveDelPer(ApexPages.StandardSetController controller) { mnum = ApexPages.currentPage().getParameters().get('mnum');} public ApexPages.StandardSetController setConnection { get { setConnection = new ApexPages.StandardSetController(Database.getQueryLocator( [Select Dlvry_Area_Pref__c, Dlvry_Contact__c, Dlvry_Addrs__c, Dlvry_Fname__c, Dlvry_ Lname__c,Vendor_Transportation__c from Delivery_Person__c])); return setConnection; } set; } public List<Delivery_Person__c> getSLContExt() { return (List<Delivery_Person__c>) setCon.getRecords(); } } Retrieve Menus Dataset public with sharing class RetrieveMenus { public String mnum { get; set; } private ApexPages.StandardController controller {get; set;}
  • 82. 82 public RetrieveMenus(ApexPages.StandardSetController controller) { mnum = ApexPages.currentPage().getParameters().get('mnum'); } public ApexPages.StandardSetController setConnection { get { setConnection = new ApexPages.StandardSetController(Database.getQueryLocator( [Select CVdr_ID__c, Menu_Cost__c, Calendar_Date__c, Menu_Description__c, Menu_ID__c, Menu_StatusF__c,Menu_Type__c from Menu__c])); return setConnection; } set;} public List<Menu__c> getSLContExt() { return (List<Menu__c>) setCon.getRecords(); } } Retrieve Orders Dataset public with sharing class RetrieveOrders { public String mnum { get; set; } private ApexPages.StandardController controller {get; set;} public RetrieveOrders(ApexPages.StandardSetController controller) { mnum = ApexPages.currentPage().getParameters().get('mnum'); } public ApexPages.StandardSetController setCon { get { setCon = new ApexPages.StandardSetController(Database.getQueryLocator( [Select Contact__c, Delivery_Person__c, Delivery_Status__c, Menu__c, Order_Cost1__c, Order_Quantity__c from Order__c])); return setCon; } set; } public List<Order__c> getSLContExt() { return (List<Order__c>) setCon.getRecords(); } }