608 lines
20 KiB
Markdown
608 lines
20 KiB
Markdown
# LuckyChit - UI/UX Design Guide
|
|
|
|
## Design Philosophy
|
|
|
|
### Core Principles
|
|
1. **Trust & Transparency**: Every design element should reinforce user confidence
|
|
2. **Simplicity**: Complex financial operations made simple and intuitive
|
|
3. **Accessibility**: Inclusive design for users of all technical abilities
|
|
4. **Cultural Relevance**: Design that resonates with Indian users and chit fund culture
|
|
5. **Mobile-First**: Optimized for mobile devices with responsive web support
|
|
|
|
### Brand Identity
|
|
- **Primary Colors**:
|
|
- Green (#2E7D32) - Trust, growth, money
|
|
- Gold (#FFD700) - Luck, prosperity, winning
|
|
- White (#FFFFFF) - Purity, transparency
|
|
- **Secondary Colors**:
|
|
- Gray (#757575) - Neutral, professional
|
|
- Red (#D32F2F) - Alerts, warnings
|
|
- Blue (#1976D2) - Information, links
|
|
|
|
### Typography
|
|
- **Primary Font**: Inter (Modern, readable, professional)
|
|
- **Secondary Font**: Poppins (Friendly, approachable)
|
|
- **Hindi Font**: Noto Sans Devanagari (Clear, readable)
|
|
|
|
---
|
|
|
|
## User Interface Components
|
|
|
|
### 1. Navigation Structure
|
|
|
|
#### Bottom Navigation (Mobile)
|
|
```
|
|
┌─────────────────────────────────────┐
|
|
│ [🏠] [📊] [🎰] [💰] [👤] │
|
|
│ Home Groups Lottery Payments Profile│
|
|
└─────────────────────────────────────┘
|
|
```
|
|
|
|
#### Side Navigation (Web)
|
|
```
|
|
┌─────────────────┐
|
|
│ 🏠 Dashboard │
|
|
│ 📊 My Groups │
|
|
│ 🎰 Lottery │
|
|
│ 💰 Payments │
|
|
│ 📈 Analytics │
|
|
│ ⚙️ Settings │
|
|
│ 👤 Profile │
|
|
└─────────────────┘
|
|
```
|
|
|
|
### 2. Key Screens Design
|
|
|
|
#### 2.1 Onboarding Flow
|
|
|
|
**Screen 1: Welcome**
|
|
```
|
|
┌─────────────────────────────────────┐
|
|
│ │
|
|
│ 🎉 Welcome to │
|
|
│ LuckyChit │
|
|
│ │
|
|
│ Your trusted digital chit fund │
|
|
│ management platform │
|
|
│ │
|
|
│ [Get Started] [Learn More] │
|
|
│ │
|
|
└─────────────────────────────────────┘
|
|
```
|
|
|
|
**Screen 2: Role Selection**
|
|
```
|
|
┌─────────────────────────────────────┐
|
|
│ │
|
|
│ Choose your role │
|
|
│ │
|
|
│ ┌─────────────────────────────────┐ │
|
|
│ │ 👨💼 I'm a Foreman │ │
|
|
│ │ (Manage chit groups) │ │
|
|
│ └─────────────────────────────────┘ │
|
|
│ │
|
|
│ ┌─────────────────────────────────┐ │
|
|
│ │ 👥 I'm a Member │ │
|
|
│ │ (Join chit groups) │ │
|
|
│ └─────────────────────────────────┘ │
|
|
│ │
|
|
└─────────────────────────────────────┘
|
|
```
|
|
|
|
**Screen 3: Phone Verification**
|
|
```
|
|
┌─────────────────────────────────────┐
|
|
│ │
|
|
│ Enter your mobile │
|
|
│ number to continue │
|
|
│ │
|
|
│ ┌─────────────────────────────────┐ │
|
|
│ │ +91 │ 98765 43210 │ │
|
|
│ └─────────────────────────────────┘ │
|
|
│ │
|
|
│ [Send OTP] │
|
|
│ │
|
|
│ By continuing, you agree to our │
|
|
│ Terms & Privacy Policy │
|
|
│ │
|
|
└─────────────────────────────────────┘
|
|
```
|
|
|
|
#### 2.2 Dashboard Design
|
|
|
|
**Foreman Dashboard**
|
|
```
|
|
┌─────────────────────────────────────┐
|
|
│ 👨💼 Good morning, Rajesh! │
|
|
│ │
|
|
│ ┌─────────────────────────────────┐ │
|
|
│ │ 📊 Overview │ │
|
|
│ │ Active Groups: 3 │ │
|
|
│ │ Total Members: 45 │ │
|
|
│ │ This Month's Collection: ₹1.2L │ │
|
|
│ └─────────────────────────────────┘ │
|
|
│ │
|
|
│ ┌─────────────────────────────────┐ │
|
|
│ │ 🎰 Upcoming Draws │ │
|
|
│ │ Group A - Tomorrow 3:00 PM │ │
|
|
│ │ Group B - 15th March 3:00 PM │ │
|
|
│ │ [View All] │ │
|
|
│ └─────────────────────────────────┘ │
|
|
│ │
|
|
│ ┌─────────────────────────────────┐ │
|
|
│ │ ⚠️ Pending Actions │ │
|
|
│ │ 5 members need approval │ │
|
|
│ │ 3 payments pending │ │
|
|
│ │ [Take Action] │ │
|
|
│ └─────────────────────────────────┘ │
|
|
│ │
|
|
└─────────────────────────────────────┘
|
|
```
|
|
|
|
**Member Dashboard**
|
|
```
|
|
┌─────────────────────────────────────┐
|
|
│ 👥 Welcome back, Priya! │
|
|
│ │
|
|
│ ┌─────────────────────────────────┐ │
|
|
│ │ 📊 My Summary │ │
|
|
│ │ Groups Joined: 2 │ │
|
|
│ │ Total Invested: ₹50,000 │ │
|
|
│ │ Prizes Won: ₹25,000 │ │
|
|
│ └─────────────────────────────────┘ │
|
|
│ │
|
|
│ ┌─────────────────────────────────┐ │
|
|
│ │ 💰 Payment Due │ │
|
|
│ │ Group A: ₹5,000 (Due: 25th) │
|
|
│ │ [Pay Now] │ │
|
|
│ └─────────────────────────────────┘ │
|
|
│ │
|
|
│ ┌─────────────────────────────────┐ │
|
|
│ │ 🎰 Next Draw │ │
|
|
│ │ Group B: Tomorrow 3:00 PM │ │
|
|
│ │ Your chances: 1 in 12 │ │
|
|
│ └─────────────────────────────────┘ │
|
|
│ │
|
|
└─────────────────────────────────────┘
|
|
```
|
|
|
|
#### 2.3 Lottery Draw Interface
|
|
|
|
**Pre-Draw Screen**
|
|
```
|
|
┌─────────────────────────────────────┐
|
|
│ │
|
|
│ 🎰 Monthly Draw │
|
|
│ │
|
|
│ ┌─────────────────────────────────┐ │
|
|
│ │ Group: Family Chit Fund │ │
|
|
│ │ Prize Pool: ₹60,000 │ │
|
|
│ │ Eligible Members: 12 │ │
|
|
│ │ Draw Time: 3:00 PM │ │
|
|
│ └─────────────────────────────────┘ │
|
|
│ │
|
|
│ ┌─────────────────────────────────┐ │
|
|
│ │ 👥 Eligible Participants │ │
|
|
│ │ 1. Priya Sharma │ │
|
|
│ │ 2. Rajesh Kumar │ │
|
|
│ │ 3. Meera Patel │ │
|
|
│ │ ... (9 more) │ │
|
|
│ └─────────────────────────────────┘ │
|
|
│ │
|
|
│ [Start Draw] [View History] │
|
|
│ │
|
|
└─────────────────────────────────────┘
|
|
```
|
|
|
|
**Live Draw Screen**
|
|
```
|
|
┌─────────────────────────────────────┐
|
|
│ │
|
|
│ 🎰 Live Draw │
|
|
│ │
|
|
│ ┌─────────────────────────────────┐ │
|
|
│ │ 🔄 Selecting Winner... │ │
|
|
│ │ │ │
|
|
│ │ [Priya] [Rajesh] [Meera] │ │
|
|
│ │ [Amit] [Sita] [Ravi] │ │
|
|
│ │ [Kiran] [Neha] [Vikram] │ │
|
|
│ │ [Anita] [Rahul] [Pooja] │ │
|
|
│ │ │ │
|
|
│ │ 🎯 Winner: Priya Sharma! │ │
|
|
│ │ Prize: ₹60,000 │ │
|
|
│ └─────────────────────────────────┘ │
|
|
│ │
|
|
│ [View Proof] [Share Result] │
|
|
│ │
|
|
└─────────────────────────────────────┘
|
|
```
|
|
|
|
#### 2.4 Payment Interface
|
|
|
|
**Payment Screen**
|
|
```
|
|
┌─────────────────────────────────────┐
|
|
│ │
|
|
│ 💰 Make Payment │
|
|
│ │
|
|
│ ┌─────────────────────────────────┐ │
|
|
│ │ Group: Family Chit Fund │ │
|
|
│ │ Amount: ₹5,000 │ │
|
|
│ │ Due Date: 25th March │ │
|
|
│ └─────────────────────────────────┘ │
|
|
│ │
|
|
│ ┌─────────────────────────────────┐ │
|
|
│ │ Payment Method │ │
|
|
│ │ │ │
|
|
│ │ ○ UPI (Google Pay, PhonePe) │ │
|
|
│ │ ○ Net Banking │ │
|
|
│ │ ○ Credit/Debit Card │ │
|
|
│ │ │ │
|
|
│ └─────────────────────────────────┘ │
|
|
│ │
|
|
│ [Pay ₹5,000] │
|
|
│ │
|
|
└─────────────────────────────────────┘
|
|
```
|
|
|
|
---
|
|
|
|
## User Experience Guidelines
|
|
|
|
### 1. Information Architecture
|
|
|
|
#### Content Hierarchy
|
|
1. **Primary Actions**: Most important actions (Pay, Join Group, Start Draw)
|
|
2. **Secondary Information**: Supporting details (Group info, payment history)
|
|
3. **Tertiary Information**: Additional context (Help, settings)
|
|
|
|
#### Navigation Patterns
|
|
- **Progressive Disclosure**: Show essential info first, details on demand
|
|
- **Breadcrumbs**: Clear path back to previous screens
|
|
- **Consistent Patterns**: Same interaction patterns across similar features
|
|
|
|
### 2. Interaction Design
|
|
|
|
#### Touch Targets
|
|
- **Minimum Size**: 44x44 points for mobile
|
|
- **Spacing**: 8px minimum between interactive elements
|
|
- **Feedback**: Visual feedback for all interactions
|
|
|
|
#### Gestures
|
|
- **Swipe**: For payment history, group lists
|
|
- **Pull to Refresh**: For updating data
|
|
- **Long Press**: For additional options
|
|
- **Double Tap**: For quick actions
|
|
|
|
### 3. Visual Feedback
|
|
|
|
#### Loading States
|
|
```
|
|
┌─────────────────────────────────────┐
|
|
│ │
|
|
│ 🔄 Processing... │
|
|
│ │
|
|
│ [██████████████████████████████] │
|
|
│ │
|
|
│ Please wait while we process │
|
|
│ your payment │
|
|
│ │
|
|
└─────────────────────────────────────┘
|
|
```
|
|
|
|
#### Success States
|
|
```
|
|
┌─────────────────────────────────────┐
|
|
│ │
|
|
│ ✅ Payment Successful! │
|
|
│ │
|
|
│ Amount: ₹5,000 │
|
|
│ Transaction ID: TXN123456 │
|
|
│ Date: 25th March 2024 │
|
|
│ │
|
|
│ [View Receipt] [Done] │
|
|
│ │
|
|
└─────────────────────────────────────┘
|
|
```
|
|
|
|
#### Error States
|
|
```
|
|
┌─────────────────────────────────────┐
|
|
│ │
|
|
│ ❌ Payment Failed │
|
|
│ │
|
|
│ Reason: Insufficient balance │
|
|
│ │
|
|
│ [Try Again] [Contact Support] │
|
|
│ │
|
|
└─────────────────────────────────────┘
|
|
```
|
|
|
|
### 4. Accessibility Features
|
|
|
|
#### Visual Accessibility
|
|
- **Color Contrast**: WCAG AA compliant (4.5:1 ratio)
|
|
- **Font Sizes**: Minimum 16px for body text
|
|
- **High Contrast Mode**: Support for system high contrast
|
|
- **Dark Mode**: Automatic and manual toggle
|
|
|
|
#### Screen Reader Support
|
|
- **Semantic HTML**: Proper heading hierarchy
|
|
- **Alt Text**: Descriptive alt text for all images
|
|
- **ARIA Labels**: Clear labels for interactive elements
|
|
- **Focus Indicators**: Visible focus states
|
|
|
|
#### Motor Accessibility
|
|
- **Voice Commands**: Basic voice navigation support
|
|
- **Switch Control**: Support for external switches
|
|
- **Large Touch Targets**: Easy to tap for users with motor difficulties
|
|
|
|
### 5. Localization & Cultural Adaptation
|
|
|
|
#### Language Support
|
|
- **Primary**: English
|
|
- **Secondary**: Hindi
|
|
- **Regional**: Tamil, Telugu, Bengali, Marathi, Gujarati
|
|
|
|
#### Cultural Elements
|
|
- **Festival Themes**: Special themes during major festivals
|
|
- **Regional Preferences**: Customizable based on location
|
|
- **Local Payment Methods**: Support for regional payment options
|
|
|
|
#### Number Formatting
|
|
```
|
|
Indian Format: ₹1,00,000.00
|
|
International: ₹100,000.00
|
|
```
|
|
|
|
---
|
|
|
|
## Design System Components
|
|
|
|
### 1. Buttons
|
|
|
|
#### Primary Button
|
|
```css
|
|
.primary-button {
|
|
background: #2E7D32;
|
|
color: white;
|
|
padding: 12px 24px;
|
|
border-radius: 8px;
|
|
font-weight: 600;
|
|
border: none;
|
|
cursor: pointer;
|
|
}
|
|
```
|
|
|
|
#### Secondary Button
|
|
```css
|
|
.secondary-button {
|
|
background: transparent;
|
|
color: #2E7D32;
|
|
padding: 12px 24px;
|
|
border-radius: 8px;
|
|
font-weight: 600;
|
|
border: 2px solid #2E7D32;
|
|
cursor: pointer;
|
|
}
|
|
```
|
|
|
|
### 2. Cards
|
|
|
|
#### Standard Card
|
|
```css
|
|
.card {
|
|
background: white;
|
|
border-radius: 12px;
|
|
padding: 16px;
|
|
box-shadow: 0 2px 8px rgba(0,0,0,0.1);
|
|
margin: 8px 0;
|
|
}
|
|
```
|
|
|
|
#### Interactive Card
|
|
```css
|
|
.interactive-card {
|
|
background: white;
|
|
border-radius: 12px;
|
|
padding: 16px;
|
|
box-shadow: 0 2px 8px rgba(0,0,0,0.1);
|
|
cursor: pointer;
|
|
transition: transform 0.2s ease;
|
|
}
|
|
|
|
.interactive-card:hover {
|
|
transform: translateY(-2px);
|
|
box-shadow: 0 4px 16px rgba(0,0,0,0.15);
|
|
}
|
|
```
|
|
|
|
### 3. Forms
|
|
|
|
#### Input Field
|
|
```css
|
|
.input-field {
|
|
border: 2px solid #E0E0E0;
|
|
border-radius: 8px;
|
|
padding: 12px 16px;
|
|
font-size: 16px;
|
|
transition: border-color 0.2s ease;
|
|
}
|
|
|
|
.input-field:focus {
|
|
border-color: #2E7D32;
|
|
outline: none;
|
|
}
|
|
```
|
|
|
|
#### Form Validation
|
|
```css
|
|
.input-error {
|
|
border-color: #D32F2F;
|
|
background-color: #FFEBEE;
|
|
}
|
|
|
|
.error-message {
|
|
color: #D32F2F;
|
|
font-size: 14px;
|
|
margin-top: 4px;
|
|
}
|
|
```
|
|
|
|
### 4. Typography Scale
|
|
|
|
```css
|
|
.heading-1 {
|
|
font-size: 32px;
|
|
font-weight: 700;
|
|
line-height: 1.2;
|
|
}
|
|
|
|
.heading-2 {
|
|
font-size: 24px;
|
|
font-weight: 600;
|
|
line-height: 1.3;
|
|
}
|
|
|
|
.body-large {
|
|
font-size: 18px;
|
|
font-weight: 400;
|
|
line-height: 1.5;
|
|
}
|
|
|
|
.body-medium {
|
|
font-size: 16px;
|
|
font-weight: 400;
|
|
line-height: 1.5;
|
|
}
|
|
|
|
.caption {
|
|
font-size: 14px;
|
|
font-weight: 400;
|
|
line-height: 1.4;
|
|
}
|
|
```
|
|
|
|
---
|
|
|
|
## Responsive Design
|
|
|
|
### Breakpoints
|
|
```css
|
|
/* Mobile First Approach */
|
|
.mobile { /* Default styles */ }
|
|
|
|
/* Tablet */
|
|
@media (min-width: 768px) {
|
|
.tablet { /* Tablet styles */ }
|
|
}
|
|
|
|
/* Desktop */
|
|
@media (min-width: 1024px) {
|
|
.desktop { /* Desktop styles */ }
|
|
}
|
|
|
|
/* Large Desktop */
|
|
@media (min-width: 1440px) {
|
|
.large-desktop { /* Large desktop styles */ }
|
|
}
|
|
```
|
|
|
|
### Grid System
|
|
```css
|
|
.grid-container {
|
|
display: grid;
|
|
grid-template-columns: repeat(12, 1fr);
|
|
gap: 16px;
|
|
padding: 16px;
|
|
}
|
|
|
|
.col-1 { grid-column: span 1; }
|
|
.col-2 { grid-column: span 2; }
|
|
.col-3 { grid-column: span 3; }
|
|
.col-4 { grid-column: span 4; }
|
|
.col-6 { grid-column: span 6; }
|
|
.col-12 { grid-column: span 12; }
|
|
|
|
/* Responsive columns */
|
|
@media (max-width: 768px) {
|
|
.col-6 { grid-column: span 12; }
|
|
.col-4 { grid-column: span 6; }
|
|
.col-3 { grid-column: span 6; }
|
|
}
|
|
```
|
|
|
|
---
|
|
|
|
## Animation & Micro-interactions
|
|
|
|
### 1. Loading Animations
|
|
```css
|
|
.spinner {
|
|
width: 40px;
|
|
height: 40px;
|
|
border: 4px solid #E0E0E0;
|
|
border-top: 4px solid #2E7D32;
|
|
border-radius: 50%;
|
|
animation: spin 1s linear infinite;
|
|
}
|
|
|
|
@keyframes spin {
|
|
0% { transform: rotate(0deg); }
|
|
100% { transform: rotate(360deg); }
|
|
}
|
|
```
|
|
|
|
### 2. Page Transitions
|
|
```css
|
|
.page-transition {
|
|
animation: fadeIn 0.3s ease-in-out;
|
|
}
|
|
|
|
@keyframes fadeIn {
|
|
from { opacity: 0; transform: translateY(20px); }
|
|
to { opacity: 1; transform: translateY(0); }
|
|
}
|
|
```
|
|
|
|
### 3. Button Interactions
|
|
```css
|
|
.button-hover {
|
|
transition: all 0.2s ease;
|
|
}
|
|
|
|
.button-hover:hover {
|
|
transform: translateY(-2px);
|
|
box-shadow: 0 4px 12px rgba(46, 125, 50, 0.3);
|
|
}
|
|
|
|
.button-active:active {
|
|
transform: translateY(0);
|
|
box-shadow: 0 2px 8px rgba(46, 125, 50, 0.2);
|
|
}
|
|
```
|
|
|
|
---
|
|
|
|
## Testing & Validation
|
|
|
|
### 1. Usability Testing
|
|
- **User Interviews**: Regular feedback from target users
|
|
- **A/B Testing**: Test different design variations
|
|
- **Heat Maps**: Track user interaction patterns
|
|
- **Session Recordings**: Analyze user behavior
|
|
|
|
### 2. Accessibility Testing
|
|
- **Screen Reader Testing**: Test with NVDA, JAWS, VoiceOver
|
|
- **Keyboard Navigation**: Ensure all features accessible via keyboard
|
|
- **Color Contrast Testing**: Validate against WCAG guidelines
|
|
- **Motor Accessibility**: Test with users having motor difficulties
|
|
|
|
### 3. Performance Testing
|
|
- **Load Time**: Ensure fast loading on slow connections
|
|
- **Animation Performance**: Smooth 60fps animations
|
|
- **Memory Usage**: Optimize for low-end devices
|
|
- **Battery Impact**: Minimize battery drain
|
|
|
|
This comprehensive UI/UX design guide ensures that LuckyChit provides an intuitive, accessible, and culturally relevant experience for all users while maintaining the highest standards of design excellence.
|