brave-delivery

byMayur Gole

build food delivery app

Landing
Landing

Comments (0)

No comments yet. Be the first!

System Requirements

System Requirement Document
Page 1 of 6

System Requirements Document (SRD)

brave-delivery

1. Introduction

The brave-delivery project is a food delivery application designed as part of Mayur Gole's college project in India. The system aims to provide a clean, modern, and user-friendly interface for ordering food from local restaurants, managing deliveries, and ensuring efficient operations. The app will focus on simplicity, practicality, and real-world usability, targeting students and young professionals who value convenience and speed.

The primary goal is to create a robust food delivery system that includes essential features like restaurant listing, menu management, order placement, real-time tracking, and secure payment integration. Advanced features such as personalized food recommendations and an offers system will enhance user engagement and competitiveness.

2. System Overview

The brave-delivery system consists of three main modules:

  1. User Module: Enables users to browse restaurants, search for food, place orders, and track deliveries.
  2. Admin Module: Provides administrative control for managing users, restaurants, orders, and payments.
  3. Delivery Partner Module: Facilitates delivery personnel in managing assigned orders and updating delivery statuses.

The system will leverage modern technologies to ensure scalability, security, and performance. It will include a web application for users and administrators, and a mobile application for delivery partners.

Page 2 of 6

3. Functional Requirements

Core Features:

  • As a User, I should be able to register and log in securely using email, phone, or OTP.
  • As a User, I should be able to view a list of restaurants with details like name, ratings, location, and cuisine type.
  • As a User, I should be able to browse restaurant menus with food items, prices, descriptions, and images.
  • As a User, I should be able to search for food or restaurants by name and apply filters like price range, rating, and veg/non-veg.
  • As a User, I should be able to add/remove food items to/from my cart, update quantities, and view the total price automatically.
  • As a User, I should be able to place an order with a delivery address and optionally choose a delivery time.
  • As a User, I should be able to make secure online payments using UPI, debit/credit cards, or cash on delivery.
  • As a User, I should be able to track my order in real-time (e.g., preparing, out for delivery, delivered).
  • As a User, I should receive SMS, email, or app notifications for order confirmations and delivery updates.
  • As a User, I should be able to rate food and write reviews.

Advanced Features:

  • As a User, I should receive personalized food recommendations based on my preferences and order history.
  • As a User, I should be able to access offers and coupons for discounts on orders.

Administrative Features:

  • As an Admin, I should be able to manage users, restaurants, orders, and payments through a dedicated admin panel.

Delivery Partner Features:

  • As a Delivery Partner, I should be able to view assigned orders and update delivery statuses.

4. User Personas

Page 3 of 6

1. User

  • Description: Regular customers who use the app to order food.
  • Key Goals: Browse restaurants, place orders, track deliveries, and provide feedback.

2. Admin

  • Description: System administrators responsible for managing users, restaurants, orders, and payments.
  • Key Goals: Ensure smooth operations and resolve issues.

3. Delivery Partner

  • Description: Delivery personnel responsible for delivering food orders to users.
  • Key Goals: Manage assigned deliveries and update statuses.

5. Visuals Colors and Theme

Color Palette:

  • primary: #2A9D8F (Teal Green — modern and refreshing)
  • primary_light: #A8DADC (Light Teal — hover states and secondary UI)
  • secondary: #E76F51 (Coral — emphasis for headlines and links)
  • accent: #F4A261 (Amber — vibrant pop for CTAs and badges)
  • highlight: #FFB703 (Golden Yellow — hover states, notifications)
  • bg: #F1FAEE (Off-White — page background)
  • surface: rgba(42, 157, 143, 0.8) (Teal Green — card/panel background)
  • text: #264653 (Dark Slate — primary text/heading color)
  • text_muted: #6D6875 (Muted Gray — secondary text, labels, timestamps)
  • border: rgba(38, 70, 83, 0.2) (Subtle Slate — border color)
Page 4 of 6

6. Signature Design Concept

Interactive Food Map Homepage

The homepage will feature an interactive food map that visually represents restaurants as clickable pins on a dynamic map. Users can:

  • Hover over pins to reveal restaurant names, ratings, and cuisine types.
  • Click on pins to open a detailed restaurant profile with menu options.
  • Use filters (price range, veg/non-veg, etc.) to dynamically update the map view.

The map will include subtle animations, such as pins bouncing slightly when hovered over and smooth transitions when zooming or panning.

Libraries:

  • Mapbox GL for interactive map rendering.
  • Framer Motion for hover animations and transitions.
  • GSAP ScrollTrigger for scroll-driven interactions.

7. Interaction Model & Motion Direction

Interaction Model:

  • Landing/Home Page: Parallax with layered depth via scroll. The interactive food map will be the centerpiece, complemented by floating UI elements like search bars and filters.
  • Internal Pages: Animated with scroll-triggered reveals, hover transitions, and spring physics for interactive elements.

Motion Direction:

  • Smooth transitions between pages and sections.
  • Hover effects on buttons, cards, and map pins.
  • Scroll-triggered animations for content reveals.
Page 5 of 6

8. Non-Functional Requirements

  • Performance: The system should load pages within 2 seconds under normal conditions.
  • Scalability: Support up to 10,000 concurrent users.
  • Security: Implement secure authentication and payment methods.
  • Availability: Ensure 99.9% uptime.
  • Localization: Default locale set to India (IN), supporting INR currency and IST timezone.

9. Tech Stack

Frontend:

  • React for Web
  • React Native for Mobile App

Backend:

  • Python
  • FastAPI

Database:

  • MySQL or MariaDB (RDBMS)
  • MongoDB (NoSQL for caching and recommendations)

AI Models:

  • GPT 5.4 for personalized food recommendations
  • Claude 4.6 Opas for advanced coding assistance
Page 6 of 6

AI Tools:

  • Langchain for AI workflow orchestration

Orchestration:

  • Docker for local development
  • Kubernetes for server-side orchestration

10. Assumptions and Constraints

  • The app will primarily target users in India.
  • The system will support both web and mobile platforms.
  • Payment integration will comply with Indian regulations (e.g., UPI).
  • Delivery tracking will rely on GPS data from delivery partners' mobile devices.

11. Glossary

  • OTP: One-Time Password for secure authentication.
  • UPI: Unified Payments Interface, a popular payment method in India.
  • IST: Indian Standard Time.
  • RDBMS: Relational Database Management System.
  • NoSQL: Non-relational database for flexible data storage.
Login: Sign In
Dashboard: View Stats
Users: Manage Users
Restaurants: Manage Restaurants
Orders: View Orders
Payments: View Payments
Restaurants: Add Restaurant
Restaurants: Edit Restaurant
Orders: Update Status
Users: Edit User
Offers: Manage Coupons