chitfund/docs/MEMBER_GROUP_DETAILS_PAGE.md

6.2 KiB

📄 Member Group Details Page - Complete

New feature: Members can now view complete details of their chit fund groups!


Features

3 Tabs:

  1. Overview - Group details, member list, personal status
  2. Payments - Payment history (member's own payments)
  3. Draws - Monthly draw results with winner highlights

🎯 Overview Tab

Group Info Card

  • Group name with status badge
  • Total value
  • Monthly installment amount
  • Duration (months)
  • Draw date (day of month)
  • Number of members (current/max)
  • Start date (if started)

My Status Card (Highlighted)

  • Total amount paid
  • Total amount won
  • Join date

Members Card

  • List of all members in the group
  • Current user highlighted with "You" badge
  • Shows member name and mobile number

Quick Stats

  • Total members count
  • Group duration

💳 Payments Tab

Features:

  • Shows only the member's own payments
  • Payment history in chronological order
  • Each payment shows:
    • Month/Year
    • Amount
    • Status badge (Paid/Pending/Failed)
    • Payment date (if paid)
    • Notes (if any)

Empty State:

  • Helpful message when no payments exist
  • "Your payment history will appear here"

Pull to Refresh:

  • Swipe down to reload payment data

🎲 Draws Tab

Features:

  • Monthly draw results
  • Winner highlighted with special badge
  • Shows prize amount
  • Winner's name
  • Draw date

Winner Highlight:

  • Gold/amber background for your wins
  • "Winner!" badge with trophy icon
  • Different styling

Empty State:

  • "No Draws Yet" message
  • Explains when draws will appear

Pull to Refresh:

  • Swipe down to reload draw data

🎨 UI Components

Status Badges

  • Active: Green
  • Forming: Orange
  • Completed: Blue

Payment Status Badges

  • Paid: Green
  • Pending: Orange
  • Failed: Red
  • Cancelled: Grey

Member List

  • Circular avatar with initials
  • Current user gets green highlight
  • "You" badge on your entry
  • Name and mobile number shown

🔄 Navigation

From Member Dashboard:

// Tap any group card
Get.to(() => MemberGroupDetailsPage(group: group));

Back Navigation:

  • Back button in app bar
  • Returns to member dashboard

📊 Data Loading

On Page Load:

await Future.wait([
  _chitGroupService.loadChitGroupDetails(groupId),
  _chitGroupService.loadGroupMembers(groupId),
  _chitGroupService.loadGroupMonthlyDraws(groupId),
  _paymentService.loadGroupPayments(groupId),
]);

Refresh:

  • Each tab has pull-to-refresh
  • Reloads specific data for that tab

🎯 User Experience

Flow:

Member Dashboard
  → Tap group card
    → Group Details Page
      → Tab 1: See group overview
      → Tab 2: Check payment status
      → Tab 3: View draw results
  ← Back button returns to dashboard

Highlights:

  • Clean tabbed interface
  • All relevant info in one place
  • Personal data highlighted
  • Winner achievements celebrated
  • Responsive and fast
  • Pull to refresh on all tabs

📱 Responsive Design

  • Uses flutter_screenutil for responsiveness
  • Works on mobile, tablet, and web
  • Scales properly with screen size
  • Professional card-based UI

🔒 Data Privacy

Security Features:

  • Member sees only their own payments
  • Cannot see other members' payment details
  • Cannot edit anything (view-only)
  • Protected by authentication

Data Shown:

  • Group details (public to all members)
  • Member list (public to all members)
  • Draw results (public to all members)
  • Own payment history (private)
  • Other members' payment details (hidden)

🚀 Future Enhancements (Optional)

Payment Actions:

// Add "Pay Now" button for pending payments
if (payment.isPending) {
  ElevatedButton(
    onPressed: () => _makePayment(payment),
    child: Text('Pay Now'),
  )
}

Download Receipt:

// Add download button for successful payments
IconButton(
  icon: Icon(Icons.download),
  onPressed: () => _downloadReceipt(payment),
)

Share Group:

// Add share button in app bar
IconButton(
  icon: Icon(Icons.share),
  onPressed: () => _shareGroup(),
)

Notifications:

// Navigate to notifications for this group
IconButton(
  icon: Icon(Icons.notifications),
  onPressed: () => _showGroupNotifications(),
)

📋 Files Changed

New Files:

  • luckychit/lib/interfaces/member/member_group_details_page.dart Created

Modified Files:

  • luckychit/lib/interfaces/member/member_dashboard.dart Updated
    • Added import
    • Changed navigation from "coming soon" to actual page

🧪 Testing Scenarios

Test 1: View Group Details

  • Open member dashboard
  • Tap on a group card
  • Detail page opens
  • Overview tab shows correct data
  • My status card shows personal data

Test 2: Check Payments

  • Switch to Payments tab
  • See only your own payments
  • Status badges show correctly
  • Pull to refresh works

Test 3: View Draws

  • Switch to Draws tab
  • See all draw results
  • If you won, card is highlighted
  • Pull to refresh works

Test 4: Empty States

  • New group with no payments → Shows empty state
  • Group with no draws → Shows empty state
  • Messages are helpful

Test 5: Navigation

  • Back button returns to dashboard
  • Can open multiple groups
  • No crashes or errors

📊 Before vs After

Feature Before After
Group Details "Coming soon" message Full detail page
Member Info Not visible Shows all members
Payments Not visible Full payment history
Draws Not visible Draw results with highlights
Personal Stats Not visible Total paid/won shown
Navigation No navigation Tap to view details

Summary

Created: Complete group details page for members
Features: 3 tabs (Overview, Payments, Draws)
Integration: Wired to member dashboard
Status: Ready for testing
Deploy: ./scripts/deploy.sh frontend


Members can now view complete details of their chit fund groups! 🎉

Next: Test locally, then deploy to production.