RadhaJewel is a comprehensive Android application designed for jewelry loan management businesses. The app provides a complete solution for managing customers, collateral (gold/silver jewelry), loans, transactions, and biometric authentication with fingerprint integration.
- Customer Registration: Complete customer profile creation with village mapping
- Biometric Authentication: Fingerprint capture and verification using USB biometric devices
- Customer Search & View: Advanced filtering and detailed customer profiles
- Reference System: Customer referral tracking and management
- Collateral Loans: Gold and silver jewelry as collateral with detailed specifications
- Unsecured Loans: Cash-based lending without collateral requirements
- Loan Categories: Support for both गिरवी (Collateral) and नकद (Cash) loan types
- Interest Calculation: Automated interest computation with customizable rates
- Loan Release: Complete loan closure with date tracking
- Jewelry Cataloging: Detailed item descriptions with weight measurements
- Metal Type Classification: Gold and silver categorization with visual indicators
- Vault Management: Storage location tracking with alphanumeric classification
- Valuation System: Appraised value recording with date stamps
- PDF Documentation: Automated receipt generation for collateral items
- Photo/Video Capture: Comprehensive media documentation for loans
- Media Gallery: Organized viewing of loan-related multimedia
- Media Navigation: Seamless browsing through captured content
- Disbursement Tracking: Loan amount distribution records
- Repayment Management: Payment collection and tracking
- Transaction History: Complete financial audit trail
- Analytics Dashboard: Visual representation of business metrics
- Dashboard Analytics: Real-time business performance metrics
- Weight Tracking: Total gold and silver inventory monitoring
- Financial Reports: Comprehensive loan and payment analysis
- Year-wise Filtering: Financial year-based data segmentation
- Language: Kotlin
- UI Framework: Jetpack Compose with Material Design 3
- Architecture: MVVM with Repository Pattern
- Database: Room (SQLite) with TypeConverters
- Dependency Injection: Dagger Hilt
- Navigation: Navigation Compose with animations
- Async Operations: Kotlin Coroutines and Flow
app/src/main/java/com/example/radhajewel/
├── data/
│ └── local/
│ ├── entity/ # Database entities
│ ├── dao/ # Data Access Objects
│ ├── AppDatabase.kt # Room database configuration
│ └── Converters.kt # Type converters for Room
├── di/
│ └── DatabaseModule.kt # Dependency injection setup
├── ui/
│ ├── allCustomerView/ # Customer listing and search
│ ├── components/ # Reusable UI components
│ ├── customerRegistration/ # Customer registration forms
│ ├── detailedCustomerView/ # Customer profile screens
│ ├── detailedLoan/ # Loan detail management
│ ├── fingerprint/ # Biometric authentication
│ ├── home/ # Dashboard and main navigation
│ ├── loanMedia/ # Media gallery and capture
│ ├── theme/ # UI theme and styling
│ └── transactions/ # Loan and collateral creation
├── AppNavHost.kt # Navigation configuration
├── MainActivity.kt # Main application entry point
└── MainApplication.kt # Application class with Hilt
- CustomerEntity: Customer profiles with village references
- VillageEntity: Village master data
- LoanEntity: Loan records with categories and interest rates
- CollateralEntity: Jewelry item details with weight and valuation
- TransactionEntity: Financial transaction records
- LoanMediaEntity: Multimedia attachments for loans
- FingerPrintEntity: Biometric data storage
- CanvasEntity: Digital signature/drawing data
- Customer → Loans (One-to-Many)
- Loan → Collateral (One-to-One)
- Loan → Transactions (One-to-Many)
- Loan → Media (One-to-Many)
- Customer → Fingerprints (One-to-Many)
The app uses a bottom navigation bar for main sections:
- Dashboard: Business analytics and quick actions
- Inventory: Collateral tracking and management
- Reminders: Payment and follow-up notifications
- Settings: Application configuration
Dashboard (Root)
├── Dashboard Tab
│ ├── Customer Analytics
│ ├── Quick Actions
│ └── Business Metrics
├── Inventory Tab
│ ├── Gold Inventory
│ ├── Silver Inventory
│ └── Vault Management
├── Reminders Tab
│ ├── Payment Due
│ ├── Follow-ups
│ └── Notifications
└── Settings Tab
├── Language Settings
├── Backup Options
└── App Configuration
FAB Action: All Customers
└── Customer List
├── Search & Filter
├── Add New Customer → Registration Form
└── Customer Detail
├── Loan History
├── Canvas/Signature View
├── New Loan Creation
│ ├── Loan Details Form
│ └── Collateral Registration
│ ├── Item Details
│ ├── Weight & Valuation
│ ├── Photo Capture
│ └── PDF Generation
└── Existing Loan Detail
├── Loan Summary
├── Collateral Info
├── Transaction History
├── Media Gallery
│ ├── Photo/Video View
│ └── Single Media View
├── Payment Processing
└── Loan Release
- Entry Point: Dashboard with bottom navigation
- Customer Flow:
- Dashboard → FAB → All Customers → Customer Detail
- Customer Detail → New Loan → Collateral Registration
- Loan Management:
- Customer Detail → Loan Detail → Media/Transactions
- Loan Detail → Collateral Registration (if needed)
- Media Flow:
- Loan Detail → Media Gallery → Single Media View
- Canvas/Signature:
- Customer Detail → Canvas Screen (digital signatures)
registration/{customerId}- Edit existing customerdetail/{customerId}- Customer profile viewnewLoan/{customerId}- Create loan for customerloandetail/{loanId}- Loan management screencollateralregistration/{loanId}- Add collateral to loanloanmedia/{loanId}- Media gallery for loansingelmedia/{loanId}/{mediaId}- Individual media viewcanvas/{customerId}- Digital signature/drawing
- Smooth page transitions with slide animations
- Animated bottom bar with fade effects
- Loading states with progress indicators
- Success animations for form submissions
- Android Studio (latest version)
- Kotlin 1.5+
- Android SDK 28+
- USB biometric device (for fingerprint features)
- Compile SDK: 35
- Min SDK: 28
- Target SDK: 35
- Java Version: 17
Key libraries used:
- Jetpack Compose BOM
- Room Database
- Dagger Hilt
- Navigation Compose
- Coroutines
- Material Design 3
- Accompanist (for animations)
- Media3 (for video processing)
- Clone the repository
- Open in Android Studio
- Sync Gradle files
- Connect USB biometric device (if using fingerprint features)
- Run the application
- Key Features Implementation
- USB device communication for fingerprint capture
- Device status management (Connected/Disconnected/Requesting)
- Fingerprint image processing and storage
- Multiple fingerprint support per customer
- Automated collateral receipt creation
- Professional formatting with business details
- File storage management for document retrieval
- Sharing capabilities for customer copies
- Interest computation based on loan duration
- Principal and interest tracking
- Payment allocation algorithms
- Outstanding balance calculations
- Form validation with real-time error display
- Weight format validation for jewelry items
- Storage location format checking
- Financial amount validation
- Customer verification and selection
- Loan category determination (Collateral/Unsecured)
- Interest rate configuration
- Collateral documentation (if applicable)
- Disbursement recording
- Document generation
- Item description and categorization
- Weight measurement recording
- Metal type classification (Gold/Silver)
- Valuation assessment
- Vault location assignment
- PDF receipt generation
- Payment amount validation
- Interest calculation update
- Principal allocation
- Transaction record creation
- Outstanding balance update
- Biometric authentication for customer verification
- Data encryption for sensitive information
- Local database security with Room
- USB device permission management
- Real-time dashboard with key metrics
- Customer-wise loan summaries
- Collateral inventory tracking
- Financial year-based reporting
- Weight-based inventory analysis
Note: This application is designed specifically for jewelry loan businesses and includes features for collateral management, biometric authentication, and financial tracking. Ensure proper hardware setup for fingerprint devices and adequate storage for media files.