1. Admin Module Functionality Admin Login Admin can log in using email/username and password. Password stored securely in the database (hashed). After login, admin can access the admin dashboard. Admin can log out. Fruit Category Management Add new fruit categories (e.g., Citrus, Berries, Seasonal, Imported). View list of all categories. Edit category name. Delete a category (only if no fruits are linked or handle with a warning). Fruit Product Management Add new fruits with details: Name Category (dropdown from existing categories) Price per unit (e.g., per kg / per dozen) Stock quantity Short description Simple image upload (store image path in database). View list of all fruits with search and filter by category. Edit fruit details (price, stock, description, category). Activate / deactivate fruit (control visibility on user side instead of deleting). Delete fruit (optional if you want permanent removal). Order Management View list of all orders placed by users. See order details: Customer name & contact Delivery address Ordered items (fruit name, quantity, price) Total amount Order date & time Current order status. Update order status: Pending → Packed → Out for Delivery → Delivered / Cancelled. Filter orders by status (Pending, Delivered, Cancelled). Customer Management View list of all registered users. See basic user info (name, email, mobile number, total orders). Option to deactivate a user account (user cannot log in if deactivated). Basic Dashboard (Simple Stats) Show total number of: Registered users Fruits available Total orders Pending orders. All of this can be done with simple count queries (no advanced analytics). 2. User (Customer) Module Functionality User Registration New users can sign up with: Name Email Mobile number Password. Check for unique email. Store password securely (hashed) in the database. User Login & Logout Registered users can log in using email and password. Maintain user session using token (JWT) or session logic. User can log out. User Profile Management View and update: Name Mobile number Default delivery address. Change password (old password verification + new password). Browse Fruits View all available fruits with: Name Price Category Thumbnail image Short description. Filter by category. Search fruits by name (simple text search on frontend/backend). View Fruit Details On clicking a fruit, user can see: Full image Detailed description Price per unit Available stock (optional display) Add to Cart button. Shopping Cart Add fruits to cart from listing or detail page. View cart with: Fruit name Unit price Quantity (user can increase/decrease) Item subtotal. Update quantity of each item. Remove fruit from cart. View cart total amount. Place Order (Checkout) User selects: Delivery address (from profile or enters a new one). Review order summary: items + total amount. Confirm order (you can keep Cash on Delivery only, no payment gateway). After confirmation: Order stored in database Cart is cleared Order status starts as Pending. Order History View list of all past orders. For each order, show: Order ID Date & time Total amount Current status (Pending / Packed / Out for Delivery / Delivered / Cancelled). Click on an order to see full details (items, quantities, etc.).