KisanKart

byGod Of War

Build a modern, responsive full-stack web application that connects local farmers directly with customers. Farmers can sell agricultural products, while customers can discover and purchase products available near their location. The platform should have 3 roles: **Farmer/Seller, Customer/Buyer, and Admin.** ### 1. Farmer/Seller Farmers should be able to: * Register/login and create a farmer profile * Add farm name, location, PIN code, city and state * Add products with name, category, description, images, price, unit, quantity, minimum order quantity, quality/grade, harvest date and organic status * Edit/delete products * Manage inventory * Set delivery or farm-pickup options * Receive, accept/reject and manage orders * Update order status * View sales, orders and revenue * Receive notifications Create a simple farmer dashboard showing products, orders, sales, revenue and low-stock products. ### 2. Customer/Buyer Customers should be able to: * Register/login * Set location using PIN code and/or GPS * Select a search radius such as 5, 10, 25, 50 or 100 km * Discover nearby products * Search and filter products by category, price, distance, rating, availability and organic status * Sort by price, distance, rating and newest * View farmer and product details * Add products to cart * Change/remove quantities * Checkout and select delivery/pickup * Make online payments * Track orders * View order history * Download PDF invoices * Rate and review products/farmers after purchase ### 3. Location-Based Marketplace This is the main feature. Products should be shown based on the actual geographic distance between the customer and farmer. Store PIN code and, where possible, latitude/longitude for both users. Do NOT calculate distance only by comparing PIN codes. Use geographic coordinates and distance calculation. Customers can choose a radius such as 5–100 km. Product cards should clearly show distance: **Fresh Tomatoes — ₹40/kg — 6.2 km away** **Organic Mangoes — ₹120/kg — 14.5 km away** Only show/prioritize products within the selected radius. ### 4. Homepage Create a clean agricultural marketplace homepage with: * Platform logo/name * Search bar * Location selector * Login/Register * "Sell Your Products" button * Categories * Nearby products * Featured products * Popular products * Nearby farmers * How it works * Benefits for farmers/customers Use a trustworthy, modern marketplace design rather than a generic corporate SaaS design. ### 5. Product Details Show: * Product images * Name * Price and unit * Available quantity * Farmer information * Farmer rating * Distance/location * Description * Quality/grade * Harvest date * Organic status * Delivery/pickup options * Quantity selector * Add to Cart / Buy Now ### 6. Cart & Checkout Support multiple products and products from multiple farmers. Show: * Subtotal * Delivery charges * Discounts/taxes where applicable * Final amount Checkout should include: 1. Address 2. Delivery/Pickup 3. Order summary 4. Payment 5. Confirmation If products come from different farmers, automatically separate orders by seller. ### 7. Payments Support Indian payment methods such as: * UPI * Credit/debit cards * Net banking * Other supported gateway methods * Optional Cash on Delivery/Pickup Use a secure payment gateway such as Razorpay. Never store card numbers, CVV or sensitive payment credentials. Verify payments on the backend before marking an order as paid. ### 8. Orders Order flow: **Placed → Payment Confirmed → Seller Accepted → Preparing → Ready/Out for Delivery → Delivered → Completed** Also support cancellation, rejection and refunds. Customers should see an order timeline. Farmers should be able to update order status. ### 9. Invoice / Bill Generate a professional PDF invoice after purchase. Include: * Invoice/order number * Date * Customer details * Farmer details * Products * Quantity * Unit price * Subtotal * Delivery fee * Tax/discount if applicable * Final amount * Payment method/status Provide a **Download Invoice PDF** button. ### 10. Admin Dashboard Admin should be able to: * Manage farmers and customers * Approve/suspend farmers * Manage product categories * Manage products * View orders and payments * Handle complaints/reports * View basic analytics Show total users, farmers, products, orders, revenue, popular products and active locations. ### 11. Reviews & Notifications Customers can give 1–5 star ratings after completed purchases. Send notifications for orders, payments, cancellations, delivery updates and refunds. ### 12. Security & UI Implement: * Secure authentication * Password hashing * Role-based access control * Input validation * API authorization * Rate limiting * Secure file uploads * Server-side permission checks * Secure payment handling * Environment variables for secrets The UI must be mobile-first, responsive, simple and easy for farmers who may not be technically experienced. Use **₹ INR**, Indian addresses and PIN codes. Design the system so regional languages such as Telugu, Kannada, Hindi and Tamil can be added later. ### MVP PRIORITY First build a fully functional MVP containing: **Authentication → Farmer onboarding → Product listing → Location/radius search → Product details → Cart → Checkout → Payment → Orders → PDF invoice → Farmer dashboard → Customer dashboard → Admin dashboard.** Do not create placeholder buttons. Core features must actually work. Use realistic demo farmers, products and locations for testing. The main goal is: **"Buy fresh local products directly from nearby farmers."**

No preview

Comments (0)

No comments yet. Be the first!

System Requirements

System Requirement Document
Page 1 of 8

KisanKart System Requirements Document

1. Introduction

KisanKart is a modern, responsive full-stack web application designed to connect local farmers directly with customers. The platform facilitates the sale of agricultural products by farmers and enables customers to discover and purchase products available near their location. The application supports three roles: Farmer/Seller, Customer/Buyer, and Admin.

2. System Overview

Page 2 of 8

2a. Product Interpretation and Delivery Boundary

  • Domain Descriptors:

    • Location-Based Marketplace: Facilitates discovery and purchase of products based on geographic proximity.
    • Farmer and Customer Interaction: Enables farmers to manage products and customers to discover and purchase them.
  • What is being built:

    • A location-based agricultural marketplace connecting farmers and customers.
    • A platform with three roles: Farmer/Seller, Customer/Buyer, and Admin.
  • Excluded Assumptions:

    • Generic corporate SaaS features.
    • Non-location-based product discovery.
  • Access:

    • Application-owned identity with secure authentication and role-based access control.
  • Behavior Contracts:

    • Farmer Registration and Profile Creation: Farmers can register and create profiles with farm details.
    • Product Management by Farmers: Farmers can add, edit, and manage product listings.
    • Customer Product Discovery: Customers can search for products based on location and criteria.
    • Order Management by Farmers: Farmers can manage orders and update statuses.
    • Checkout and Payment: Customers can checkout and make payments securely.
    • Admin Platform Management: Admins can manage platform data and user accounts.
    • Secure Authentication and Access Control: Ensures secure access for all users.
Page 3 of 8

2b. Source Content Inventory

No explicit content sources were provided.

2c. Page Content and Component Coverage

  • Farmer Dashboard:

    • Overview of products, orders, sales, revenue, and low-stock alerts.
    • Actions: Add/Edit/Delete products, manage inventory, update order status.
  • Customer Dashboard:

    • Track orders, view order history, and manage account settings.
    • Actions: Search products, filter and sort results, add to cart, checkout.
  • Admin Dashboard:

    • Manage farmers, customers, product categories, and view analytics.
    • Actions: Approve/suspend users, handle complaints, view orders and payments.
  • Checkout Page:

    • Display cart items, subtotal, delivery charges, and final amount.
    • Steps: Address entry, delivery/pickup selection, order summary, payment, confirmation.
  • Authentication Page:

    • User registration and login with secure authentication.
    • Actions: Enter credentials, recover password, access protected resources.
Page 4 of 8

3. Functional Requirements as Story Points

  • As a Farmer/Seller, I should be able to register/login and create a farmer profile.
  • As a Farmer/Seller, I should be able to add farm name, location, PIN code, city, and state.
  • As a Farmer/Seller, I should be able to add products with details like name, category, description, images, price, unit, quantity, minimum order quantity, quality/grade, harvest date, and organic status.
  • As a Farmer/Seller, I should be able to edit/delete products.
  • As a Farmer/Seller, I should be able to manage inventory.
  • As a Farmer/Seller, I should be able to set delivery or farm-pickup options.
  • As a Farmer/Seller, I should be able to receive, accept/reject, and manage orders.
  • As a Farmer/Seller, I should be able to update order status.
  • As a Farmer/Seller, I should be able to view sales, orders, and revenue.
  • As a Farmer/Seller, I should be able to receive notifications.
  • As a Customer/Buyer, I should be able to register/login.
  • As a Customer/Buyer, I should be able to set location using PIN code and/or GPS.
  • As a Customer/Buyer, I should be able to select a search radius such as 5, 10, 25, 50, or 100 km.
  • As a Customer/Buyer, I should be able to discover nearby products.
  • As a Customer/Buyer, I should be able to search and filter products by category, price, distance, rating, availability, and organic status.
  • As a Customer/Buyer, I should be able to sort products by price, distance, rating, and newest.
  • As a Customer/Buyer, I should be able to view farmer and product details.
  • As a Customer/Buyer, I should be able to add products to cart and change/remove quantities.
  • As a Customer/Buyer, I should be able to checkout and select delivery/pickup.
  • As a Customer/Buyer, I should be able to make online payments.
  • As a Customer/Buyer, I should be able to track orders and view order history.
  • As a Customer/Buyer, I should be able to download PDF invoices.
  • As a Customer/Buyer, I should be able to rate and review products/farmers after purchase.
  • As an Admin, I should be able to manage farmers and customers.
  • As an Admin, I should be able to approve/suspend farmers.
  • As an Admin, I should be able to manage product categories and products.
  • As an Admin, I should be able to view orders and payments.
  • As an Admin, I should be able to handle complaints/reports.
  • As an Admin, I should be able to view basic analytics.
Page 5 of 8

4. User Personas

  • Farmer/Seller: Primary user managing product listings and sales.
  • Customer/Buyer: Primary user discovering and purchasing products.
  • Admin: User managing platform operations and user accounts.

5. Core User Flows

Farmer/Seller Flow

  1. Register/Login → Create Profile → Add/Edit Products → Manage Inventory → Receive Orders → Update Order Status → View Sales and Revenue

Customer/Buyer Flow

  1. Register/Login → Set Location → Discover Products → View Product Details → Add to Cart → Checkout → Make Payment → Track Orders → Download Invoice

Admin Flow

  1. Access Dashboard → Manage Users → Approve/Suspend Farmers → Manage Products → View Orders and Payments → Handle Complaints → View Analytics
Page 6 of 8

6. Visuals Colors and Theme

  • Primary: #4CAF50 (Green)
  • Primary Light: #81C784 (Light Green)
  • Secondary: #FFEB3B (Yellow)
  • Accent: #FF5722 (Orange)
  • Highlight: #FFC107 (Amber)
  • Background: #FFFFFF (White)
  • Surface: #F5F5F5 (Light Grey)
  • Text: #212121 (Dark Grey)
  • Text Muted: #757575 (Grey)
  • Border: #E0E0E0 (Light Grey)

7. Signature Design Concept

The KisanKart homepage will feature a clean, modern agricultural marketplace design. The layout will include a prominent search bar, location selector, and categories section. The design will emphasize trustworthiness and simplicity, using a green and yellow color palette to reflect freshness and growth. The homepage will also showcase featured and popular products, nearby farmers, and benefits for both farmers and customers. The design will be responsive and mobile-first, ensuring accessibility for all users.

8. Interaction Model & Motion Direction

The interaction model for KisanKart will be animated, featuring moderate scroll-triggered reveals and hover transitions. The homepage will include a restrained 2D Hero motion to enhance user engagement without overwhelming the user experience. Internal pages like dashboards will prioritize clarity and data presentation with minimal motion.

Page 7 of 8

9. Non-Functional Requirements

  • Secure authentication and access control for different roles.
  • Password hashing and secure payment handling.
  • Mobile-first responsive UI design.
  • Use of INR and Indian addresses.
  • Support for regional languages such as Telugu, Kannada, Hindi, and Tamil.

10. Tech Stack

  • Frontend: React for Web
  • Backend: Python with FastAPI
  • Database: MySQL or MariaDB
  • Payment Gateway: Razorpay
  • Containerization: Docker and docker-compose

11. Assumptions and Constraints

  • The application will use geographic coordinates for accurate distance calculations.
  • Secure payment handling will be implemented using Razorpay.
  • The UI will be designed to accommodate regional languages in the future.
Page 8 of 8

12. Glossary

  • Farmer/Seller: A user who lists and sells agricultural products on the platform.
  • Customer/Buyer: A user who purchases products from farmers on the platform.
  • Admin: A user who manages the platform, including users and products.
  • PIN Code: Postal Index Number used for location identification in India.
  • UPI: Unified Payments Interface, a real-time payment system in India.
  • Razorpay: A payment gateway used for processing transactions securely.

No completed page designs yet.

Completed design pages will appear here when they are ready to preview.

Admin dashboard: Admin dashboard
Authentication: Authentication

No completed page designs yet.

Completed design pages will appear here when they are ready to preview.

Admin dashboard: Admin dashboard
Authentication: Authentication