Project Name: D Mart Grocery App
Platforms:
● iOS: Version 12.0 to the latest (using Flutter)
● Android: Version 6.0 to the latest (using Flutter)
API:
● Backend: NodeJS v14+ with Express Framework
● Database: MySQL for transactional data / MongoDB for product catalog (if needed for
scalability)
● Web Portal: User-side in React/Next.js, Admin Panel in Laravel (PHP v7.4)
● API Format: JSON for all communication
● Orientation: Portrait-only support (responsive design)
● Currency: Single currency (INR)
Supported Browsers (Web Portals):
● Google Chrome: Version 65+ (latest version)
● Mozilla Firefox: Version 60+ (latest version)
● Safari: Version 11+
Languages: English, Hindi (with provisions for adding more languages in the future)
Deliverables:
● User Android App
● User iOS App
● Admin Web Panel
● API Development
● Database Development (SQL and NoSQL for performance optimization)
● Documentation (User guides, API documentation, deployment guides)
Detailed Features:
1. User App Features:
1.1 Splash Screen:
● The app opens with a branded splash screen displaying the D Mart logo and tagline.
● Splash screen will remain for 3-5 seconds during app initialization.
1.2 Onboarding/Tutorial:
● Series of screens introducing the app's key features.
● Visuals and text explaining how to browse categories, add to cart, and make payments.
● Option to skip the tutorial or swipe through the instructions.
1.3 User Registration:
● Sign-Up options: via email, phone number (with OTP verification).
● Registration form includes:
○ Full Name
○ Email Address
○ Mobile Number (with OTP-based verification)
○ Password (8+ characters, with password strength indicator)
○ Referral Code (optional)
● Terms & Conditions and Privacy Policy will be available for review before submission.
1.4 Login:
● Sign-in Options: Email and password or phone number with OTP.
● Integration with Google and Facebook sign-in for easy access.
● "Forgot Password" feature to reset using email or SMS.
1.5 Home Screen:
● Main Categories: Icons for key sections like Vegetables, Groceries, Beverages, Snacks,
and more.
● Featured Products: Carousel displaying current promotions, new arrivals, or
best-sellers.
● Flash Sales: Time-limited deals displayed with countdown timers.
● Banner Ads: For highlighting special offers or seasonal promotions.
1.6 Search Functionality:
● Search bar at the top of the screen.
● Search by product name, brand, category, or tags.
● Auto-suggestions for products as users type.
● Voice search option using Google Voice API.
1.7 Product Listing:
● Product Grid View with thumbnail images, product names, and price (with discounts if
applicable).
● Filters by price, brand, discount percentage, and customer ratings.
● Sort by options: Price (Low to High), Popularity, New Arrivals.
1.8 Product Details Page:
● Detailed product view showing:
○ High-resolution images (zoomable)
○ Product description (details on brand, weight, ingredients, etc.)
○ Price, including discount and original price.
○ Availability status (In-stock/Out of stock)
○ Customer ratings and reviews.
● Add to Cart button with quantity selection.
● Wishlist option to save for later.
1.9 Shopping Cart:
● View all selected items, adjust quantities, and remove items.
● Price breakdown:
○ Product total
○ Discounts applied
○ Delivery charges (if applicable)
● Apply coupons: Option to enter promo codes for discounts.
● Proceed to Checkout button.
1.10 Checkout Process:
● Delivery Address: Select or add new addresses (with validation for PIN codes).
● Delivery Slot Selection: Pick available time slots for order delivery.
● Payment Options:
○ UPI (Google Pay, PhonePe)
○ Credit/Debit Card
○ Netbanking
○ Cash on Delivery (COD)
● Order Review: Summary of items, delivery time, and payment details before placing the
order.
1.11 Order History:
● View past orders with detailed breakdown.
● Status updates like "Ordered", "Shipped", "Out for Delivery", "Delivered".
● Option to reorder previous items directly.
1.12 Profile Management:
● Edit personal details (Name, Email, Mobile).
● Manage addresses (Add, Edit, Delete saved delivery addresses).
● View payment methods (linked cards, UPI, etc.).
1.13 Wishlist:
● Save favorite items for future purchases.
● Easy access from the home screen.
1.14 Notifications:
● Real-time updates for:
○ Order confirmations
○ Shipping updates
○ Promotions and flash sales
● Integrated using Firebase Push Notifications.
1.15 Payment Gateway:
● Secure payments: Integration with Razorpay or PayU.
● Store transaction history for each order.
● 3D Secure authentication for card payments.
1.16 Order Tracking:
● Real-time status updates from shipment to delivery.
● Map integration to track the delivery person's location.
1.17 Product Reviews & Ratings:
● Users can leave a rating (1 to 5 stars) and written reviews.
● Reviews are displayed on the product detail page with filters for most recent or top-rated.
1.18 Offers Section:
● Separate tab for ongoing offers, displaying products with discounts.
● Coupon codes can be applied directly from this section.
1.19 Settings:
● Notification Preferences: Toggle push notifications on or off.
● Language Settings: Option to switch between available languages (English, Hindi).
● Account Management: Change password, update personal information.
1.20 Help & Support:
● Access to FAQ for common issues.
● Contact Support: Form to send inquiries, integrated with email notifications.
2. Admin Panel Features:
2.1 Admin Login:
● Admins can log in using email and password with 2FA (Two-Factor Authentication).
● Password recovery mechanism with email-based reset.
2.2 Dashboard:
● Overview of:
○ Total Users registered on the platform.
○ Total Orders and their status (pending, shipped, completed).
○ Revenue Breakdown (daily, weekly, monthly).
○ Low-stock products warning.
2.3 Manage Products:
● Add/Edit/Delete Products: Full CRUD functionality for managing products.
● Upload product images, enter descriptions, prices, and set discounts.
● Organize products into categories and subcategories.
● Stock Management: Set stock limits and receive low-stock alerts.
2.4 Manage Orders:
● View order details (customer info, product list, delivery address).
● Update the order status (processing, shipped, delivered).
● Cancel or refund orders.
2.5 Manage Users:
● View registered users' details (name, email, order history).
● Option to block/unblock users.
● Send push notifications or promotional emails to selected users.
2.6 Manage Offers:
● Create and manage promotional campaigns.
● Define coupon codes with start/end dates, and usage limits.
● Track the performance of offers (number of times used, total discount).
2.7 Reports:
● Generate data-driven reports on sales, revenue, and user engagement.
● Export reports in Excel, CSV, or PDF formats.
2.8 Role-Based Access Control:
● Create Sub-Admins with role-based access:
○ Access rights to manage orders, products, or users.
○ Define what sub-admins can view, edit, or delete.
2.9 Send Notifications:
● Admins can send custom notifications to all users or select groups.
● Announce promotions, new products, or important updates.
2.10 Manage Page Content:
● Update content for static pages like:
○ About Us
○ Contact Us
○ Privacy Policy
○ Terms & Conditions
Security:
● All communication between the app and server will use REST API with JWT-based
authentication.
● Data will be encrypted using AES encryption for both requests and responses.
● SSL certificates will be installed on the server for enhanced security.
Deployment:
1. Server Deployment:
○ Setup on AWS with EC2 instances, MySQL on RDS.
○ Daily backups of the database and logs.
2. App Store Submission:
○ Assistance with uploading to Google Play Store and Apple App Store.
○ Configuration of app store descriptions, screenshots, and metadata.
Assumptions:
● Client will provide third-party tools' access (payment gateway, SMS API).
● Translation of content to Hindi will be provided by the client if needed.
● All product-related data entry will be done by the client.
This detailed SOW covers every aspect of developing and deploying the D Mart-like grocery
app. Let me know if you need any further customizations or additions!