Swiggy Clone APPLICATION (SRS) 1 PDF
Swiggy Clone APPLICATION (SRS) 1 PDF
Swiggy Clone APPLICATION (SRS) 1 PDF
SPECIFICATION DOCUMENT
Application Requirements Specification
1. Scope
1.1 Overview
1.2 Objectives
1.3 Limitations and Assumptions
1.4 Benefits
2. Software Requirement Specification
2.1 Purpose of SRS
2.2 Purpose of Swiggy Clone Application
2.3 Process Involved
2.4 Functional Requirements
2.4.1 General
2.4.2 Customer
2.4.3 Restaurant
2.4.5 Delivery Boy
2.4.6 Admin
2.4.7 Dispute Panel
2.5 Non-Functional Requirements
2.5.1 Safety
2.5.2 Compatibility and Security
2.5.3 Human Engineering Requirements
2.5.4 Performance Requirements
3. UML Analysis Models
3.1 Use case for Customers
3.2 Use case for Restaurant
4. Class diagrams
4.1.1 Class descriptions
5. Design Flow
5.1 Design Flow for User
5.2 Design Flow for Provider
5.3 Design Flow for Delivery Boy
6. Phase wise Deliverables
7. Time
8. Cost
9. Support
10. Future Enhancement
11. Contract Signing
APPLICATION REQUIREMENT SPECIFICATION
1. SCOPE
1.1 OVERVIEW
The Swiggy Clone is a software package to facilitate ordering within a location nearby
restaurant. This specification will cover the customer and restaurant registration related
portions. The detailed informationabout how customers and restaurant will register to the
application and various approvals will be provided. The specification describes how the
customer choose specific restaurant and order food and how those orders are managed and
delivered by restauarant,then how the order will be picked up and delivered to the specific
user by delivery boy. It will be also described what the dispute panel will do and how it
works.
The system contains full accountability and logging systems, and supports
supervisor actions to account for exceptional circumstances, such as a order being refunded
or walked out on. Customers are presented with an attractive and easy-to-use surface
computer GUI with option to choose from theirmenus. Once customers done with order, they
can place order from their cart, and payment is done once order is delivered. In the
meanwhile, if items ordered by customer are not available unfortunately, Dispute panel is
responsible for handling the issue and order can be replaced by available dishes or Cancelled
and if delivery doesn’t respond within timeline, dispute panel reassign the order to another
delivery boy.
1.2 OBJECTIVES
• To implement mobile app for Swiggy Clone app and is to satisfy customers
wish by ordering food by the way you are
• To deliver full content management for Restaurant and disputers/Admin
• To display attractive, appealing dishes in restaurant dashboard
• To design a base platform for SWIGGY CLONE application, suiting such Food
delivery system
• To send helpful Push notifications to users in most important events during the
application workflow.
• To support logging of errors/warnings/exceptions and audit all the user actions
during the application execution.
• To achieve high performance of the application and scalability.
Initially:
For future:
• The maximum expected count of users will be several thousand until the end of first
year. The system must be scalable.
• The maximum expected count of concurrent users for the application is 500.
• The new application will be specially designed for users of 18…60+years old.
• GUI has to be attractive, user friendly and fun.
1.3LIMITATIONS AND ASSUMPTIONS
The limitations of the entire SWIGGY CLONE application are listed below:
• The application is in English only. The application is for USA users by default.
• This is a first conceptualization for SWIGGY CLONE and, therefore, not all details
are covered now – future contests will explain them.
• There can be restrictions to collect some sort of personal data for users and that can
limit application functionality.
• No pre-approval of blog/forum posts by System Admin will be supported in the first
version of the application.
Assumptions critical to the success of the entire SWIGGY CLONE application are
listed below:
• Cloud hosting space (Amazon aws) will be used to entirely host the application.
• The application will be fully workable on PC, Mac machines/Android/iOS. The
minimal required hardware resources can be assumed as the same as for using for the
Project we have.
• Web-pages are required to properly fit on mobile devices, working on iOS and
Android platforms.
• Application has to be implemented in PHP (Web), Java (Android), Objective-C/Swift
(iOS) technologies.
• MySQL 5.1 will be used as a database.
• The design has to be simple and avoid abstraction or persistence framework
BENEFITS
The purpose of this SRS is to outline both the functional and non-functional
requirements of the subject Swiggy Clone. In addition to said requirements, the document
also provides a detailed profile of the external interfaces, performance considerations and
design constraints imposed on the subsequent implementation. It is the intention that the
presented set of requirements possesses the following qualities, correctness,
unambiguousness, completeness, consistency, verifiability, modifiability and traceability.
Consequently, the document should act as a foundation for efficient and well-managed
project completion and further serve as an accurate reference in the future. The primary
audience of this SRS document will be the development team employed to implement the
specified SWIGGY CLONE. It will not only provide an extensive capacity for project
planning and progress assessment but it will further assist with developer/Clients
interactions. To this audience group, this SRS should convey and confirm the required
functionality and represent a contractual agreement between the involved members.
• Unregistered Users also Can view(You can click skip option and g view
restaurant)
• Register to Application
• Display Nearby Restaurant
• Request to restaurant
• Accept/Reject order by restaurant(Rejection done on the basis if ordered items
not available or no availability of delivery boy)
• Order Assigned to Delivery boy
• Pickup and deliver order by Delivery Boy
• Reassign order by dispute panel
• Manage orders, rejection by dispute panel
• Push notification for user and delivery boy
This subsection presents the identified functional requirements for the subject Swiggy Clone.
Initially, general requirements that pertain to the whole system are given. Where possible,
subsequent requirements have been demarcated based on their relevance to the users of the
system, that is, Customers, Restaurants, Admin, Delivery boy and Dispute panel
2.4.1 General:
The following are theidentified functional general requirements that directly relate to the
entire Swiggy Clone System.
Requirement Description
G1 A server shall host the Swiggy Clone App and provide system
data processing and storage capability.
2.4.2 Customer:
The following are theidentified functional Customer requirements that directly relate to the
entire Swiggy Clone System.
RequirementsDescription
C01 Customer Shall be able to login or skip from registration to enter the menu
dashboard
C02 Customer shall be able to view nearby restaurants(Specified Distance)
C03 Customers shall be able to choose their favourite restaurant or restaurant
they wish to order food
C04 Customer shall be able to view menu and categories and subcategories
involved
C05 Customer shall be able to order foods and add to cart
C06 Customer shall be able to remove orders from cart
C07 Customer shall be able to navigate between menu and can add items to cart
C08 Customer shall be able to engage bill mode to finalise payment through their
engaged menu by cash
C09 Customer shall be able to disengage bill mode to cancel the billing process
through their engaged menu by card
C14 Customer shall able to cancel order and if cancelled money will be
transferred to wallet to order food for next time(If Card Payment)
C15 Customer shall able to receive delivery boy details once order picked up
C17 Customer shall able to give rating for restaurant and delivery boy
C19 Customer receives notification for order accepted and once order picked and
delivered
C20 Customer shall able to use offers for restaurants have
2.4.3 Restaurant:
The following are theidentified functional Restaurant requirements that directly relate to the
entire Swiggy Clone System
RequirementsDescription
R1 Restaurant shall able to CRUD items from menu
R2 Restaurant shall be able to receive orders from customers
R3 Restaurant shall be able to view the orders which has been ordered by
customers
R4 Restaurant shall be able accept or cancel order depends upon the order
received and availability of order
R5 Restaurant shall be able to assign delivery boy to deliver order
R6 Restaurant shall be able to receive acknowledgement from Delivery Boy
R7 Restaurant shall be able to view the payment
R8 Restaurant shall able able to receive notifications once order delivered
Requirements Description
D1 Delivery boy shall able to start the shift
D4 Delivery boy shall able to acknowledge for request within 3 sec of time
D6 Delivery boy shall able to reach the restaurant and check with order details
D10 Delivery boy shall able to receive notification for restaurant details,
payment details of customer
D11 Delivery boy shall able to receive payment if order is done with cash
2.4.5 Admin
The following are theidentified functional Admin requirements that directly relate to the
entire Swiggy Clone System
Requirements Description
A1 Admin shall able to Manage users
A2 Admin shall able to Manage providers
A3 Admin shall able to Mange accounts
A4 Admin shall able to CRUD items for restaurant
A5 Admin shall to manage restaurant details
A6 Admin shall to manage restaurant rate and reviews
A7 Admin shall able to manage Delivery boy details
A8 Admin shall able to display top rated restaurant
A9 Admin shall able to display offers for specific restaurant
A10 Admin shall able to contact between Delivery boy and restaurant to replace
or cancel order if items are not available
2.4.6 Dispute
The following are theidentified functional Dispute requirements that directly relate to the
entire Swiggy Clone System
Requirements Description
DI1 Dispute panel shall able to reassign order in the case, if delivery boy dint
acknowledge the request
This subsection presents the identified non-functional requirements for the Swiggy Clone
App. The subcategories of non-functional requirements given are safety, security, interface,
human engineering, qualification, operational and maintenance.
2.5.1 Safety
The following are the identified non-functional safety requirements that directly
relate to the entire Swiggy Clone System.
Requirements Description
S1 The system shall log every state and state change of action, tablet and display
to provision recovery from system failure.
S2 The system shall be capable of restoring itself to its previous state in the
event of failure (e.g. a system crash or power loss).
S3 The system shall be able to display a menu at all times to facilitate manual
order taking should the need arise.
CS2 The system shall able to do authentication process for login and payment
through bankcard
CS3 The user shall able to do payment with secured bank payment mode
CS4 The system shall able to do encryption and decryption of data for password
which is given by user for login
User can choose their own wish list restaurant and order foods. Once the order is done,
restaurant will accept the request based on the order done by user. User can change menu
based on the replacement menu given and can have different dish or else say to cancel the
order.
If user accepts replacement, restaurant will assign the order to Delivery boy.
Delivery boy should acknowledge the order request and reach the restaurant. Once reached
the restaurant, he checks for the order details which he received and receives customer
details from restaurant. Then, he picks the order and delivers to the user. The payment can be
done through cash or card, which should be chosen once the order, is done.
Once customer confirms order, restaurant receives the order request. Restaurant checks with
order and confirms the availability and assign the order to Delivery boy. Delivery boy needs
to acknowledge the order and reach the restaurant to pick the order. Once delivery boy
reaches the restaurant, he checks for the order details and deliver the order to specified user
4 CLASS DIAGRAM
4.1.1Class descriptions
The following subsection presents descriptions for the classes identified for the Swiggy
Clone system
Customer:
This class represents that the customer can order food of their own choice from nearby
restaurant. They are responsible for view menu; add/delete order from the cart. Once order
delivered payment can be done to delivery boy if cash. Then customer can rate for the
restaurant and delivery boy.
Restaurant:
This class represents that the restaurant can CRUD (CREATE, READ, UPDATE, DELETE)
items form the dashboard. Restaurant can able to receive order from the customer and has the
authority to accept/reject order. Once order received, assigns delivery boy to pick up the
ordered food. Restaurant can give offers for the dishes
Delivery Boy:
This class represents that the delivery boy will be acknowledging the request or ignores the
request. Once he acknowledge the request, he will move towards the restaurant and checks
for the user order details and if everything is done he picks the order and deliver to the user.
Delivery boy receives rating from customer
This class represents that the admin will CRUD restaurants, menus, dishes, categories and
subcategories. Dispute panel will reassign the order to other delivery boy if the one who
assigned doesn’t respond. And if any item ordered by customer is not available the dispute
panel will act as a intermediate between customer and restaurant to have a conference call
and restaurant has the responsibility to give different dish to replace else customer can cancel
the order
Feedback:
This class represents that the delivery boy and restaurant gets star ratings from customer.
Based upon ratings given by users, restaurants will be displayed in the dashboard
Cart:
This class represents that the ordered items will be displayed in the cart and also customer
has the option to add or remove items from cart. The final payment will be displayed in the
cart for customer finalization
Payment
This class represents a payment to be made to the restaurant. It may contain any number
orders and is related to exactly one Account. A Payment maintains its total value of the
paying customer. The card payment class represents an extension of the Payment class for
customer payments that are to be paid using a bankcard. The Cash Payment class represents
an extension of the Payment class for customer payments that are to be paid using cash.
The wallet class represents if any order cancelled and if payment is done with card, the
amount will be refunded to wallet and can order the next day or otherday.Thepromo code
class represents that the code is given by restaurant as compensation to users and can have
offers to orders or specific order
5 DESIGN SPECIFICATION
LOGIN OTP
FEEDBACK
5.3 Design Flow for Delivery Boy