Skip to content

vamsikunal/RadhaJewel

Repository files navigation

RadhaJewel - Jewelry Loan Management System

Overview

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.

Features

Customer Management

  • 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

Loan 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

Collateral Management

  • 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

Media Management

  • Photo/Video Capture: Comprehensive media documentation for loans
  • Media Gallery: Organized viewing of loan-related multimedia
  • Media Navigation: Seamless browsing through captured content

Transaction System

  • 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

Reporting & Analytics

  • 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

Technical Architecture

Technology Stack

  • 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

Project Structure

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

Database Schema

Core Entities

  • 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

Key Relationships

  • 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)

User Interface

Navigation Structure

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

Screen Flow & Navigation Map

Navigation Structure

Main Navigation Routes

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

Navigation Flow Details

  1. Entry Point: Dashboard with bottom navigation
  2. Customer Flow:
    • Dashboard → FAB → All Customers → Customer Detail
    • Customer Detail → New Loan → Collateral Registration
  3. Loan Management:
    • Customer Detail → Loan Detail → Media/Transactions
    • Loan Detail → Collateral Registration (if needed)
  4. Media Flow:
    • Loan Detail → Media Gallery → Single Media View
  5. Canvas/Signature:
    • Customer Detail → Canvas Screen (digital signatures)

Route Parameters

  • registration/{customerId} - Edit existing customer
  • detail/{customerId} - Customer profile view
  • newLoan/{customerId} - Create loan for customer
  • loandetail/{loanId} - Loan management screen
  • collateralregistration/{loanId} - Add collateral to loan
  • loanmedia/{loanId} - Media gallery for loan
  • singelmedia/{loanId}/{mediaId} - Individual media view
  • canvas/{customerId} - Digital signature/drawing

Animations & Transitions

  • Smooth page transitions with slide animations
  • Animated bottom bar with fade effects
  • Loading states with progress indicators
  • Success animations for form submissions

Setup & Installation

Prerequisites

  • Android Studio (latest version)
  • Kotlin 1.5+
  • Android SDK 28+
  • USB biometric device (for fingerprint features)

Build Configuration

  • Compile SDK: 35
  • Min SDK: 28
  • Target SDK: 35
  • Java Version: 17

Dependencies

Key libraries used:

  • Jetpack Compose BOM
  • Room Database
  • Dagger Hilt
  • Navigation Compose
  • Coroutines
  • Material Design 3
  • Accompanist (for animations)
  • Media3 (for video processing)

Installation Steps

  1. Clone the repository
  2. Open in Android Studio
  3. Sync Gradle files
  4. Connect USB biometric device (if using fingerprint features)
  5. Run the application
  6. Key Features Implementation

Biometric Integration

  • USB device communication for fingerprint capture
  • Device status management (Connected/Disconnected/Requesting)
  • Fingerprint image processing and storage
  • Multiple fingerprint support per customer

PDF Generation

  • Automated collateral receipt creation
  • Professional formatting with business details
  • File storage management for document retrieval
  • Sharing capabilities for customer copies

Financial Calculations

  • Interest computation based on loan duration
  • Principal and interest tracking
  • Payment allocation algorithms
  • Outstanding balance calculations

Data Validation

  • Form validation with real-time error display
  • Weight format validation for jewelry items
  • Storage location format checking
  • Financial amount validation

Business Logic

Loan Processing

  1. Customer verification and selection
  2. Loan category determination (Collateral/Unsecured)
  3. Interest rate configuration
  4. Collateral documentation (if applicable)
  5. Disbursement recording
  6. Document generation

Collateral Management

  1. Item description and categorization
  2. Weight measurement recording
  3. Metal type classification (Gold/Silver)
  4. Valuation assessment
  5. Vault location assignment
  6. PDF receipt generation

Payment Processing

  1. Payment amount validation
  2. Interest calculation update
  3. Principal allocation
  4. Transaction record creation
  5. Outstanding balance update

Security Features

  • Biometric authentication for customer verification
  • Data encryption for sensitive information
  • Local database security with Room
  • USB device permission management

Analytics & Reporting

  • 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.

About

Android application designed for jewelry loan management businesses

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages