npm package: @finspringinnovations/fdsdk
Description: FD SDK for React Native applications
Author: Shriram Finance
Latest version: 0.0.9

# Shriram SDK

A React Native SDK for integrating Shriram financial services into your mobile applications.

## Features

- ✅ TypeScript support
- ✅ iOS and Android compatibility
- ✅ Home screen component
- ✅ Fixed Deposit booking functionality
- ✅ Customizable styling
- ✅ Modern React Native architecture

## Installation

### Using npm
```bash
npm install shriramsdk
```

### Using yarn
```bash
yarn add shriramsdk
```

### iOS Setup
```bash
cd ios && pod install
```

## Usage

### Basic Implementation

```typescript
import React from 'react';
import { View } from 'react-native';
import { Home, BookFD, ShriramSDK } from 'shriramsdk';

// Initialize SDK
const sdk = new ShriramSDK({
  environment: 'production',
  apiBaseUrl: 'https://api.shriram.com',
});

const App = () => {
  const [currentScreen, setCurrentScreen] = React.useState('home');

  const handleNavigateToBookFD = () => {
    setCurrentScreen('bookfd');
  };

  const handleGoBack = () => {
    setCurrentScreen('home');
  };

  const handleBookingComplete = (data) => {
    console.log('FD Booking Data:', data);
    // Handle booking completion
    setCurrentScreen('home');
  };

  return (
    <View style={{ flex: 1 }}>
      {currentScreen === 'home' && (
        <Home onNavigateToBookFD={handleNavigateToBookFD} />
      )}
      {currentScreen === 'bookfd' && (
        <BookFD
          onGoBack={handleGoBack}
          onBookingComplete={handleBookingComplete}
        />
      )}
    </View>
  );
};

export default App;
```

### Custom Styling

```typescript
import { Home } from 'shriramsdk';

const customStyles = {
  container: {
    backgroundColor: '#your-color',
  },
  title: {
    color: '#your-title-color',
    fontSize: 24,
  },
  button: {
    backgroundColor: '#your-button-color',
  },
  buttonText: {
    color: '#your-text-color',
  },
};

<Home
  onNavigateToBookFD={handleNavigateToBookFD}
  customStyles={customStyles}
/>
```

## Components

### Home

The main landing screen component.

**Props:**
- `onNavigateToBookFD?: () => void` - Callback when user wants to book FD
- `customStyles?: object` - Custom styling options

### BookFD

Fixed deposit booking form component.

**Props:**
- `onBookingComplete?: (data: FDBookingData) => void` - Callback when booking is completed
- `onGoBack?: () => void` - Callback for back navigation
- `customStyles?: object` - Custom styling options

### FDBookingData Interface

```typescript
interface FDBookingData {
  amount: string;
  tenure: string;
  interestRate: string;
  customerName: string;
  mobileNumber: string;
}
```

## SDK Configuration

```typescript
import { ShriramSDK } from 'shriramsdk';

const sdk = new ShriramSDK({
  apiBaseUrl: 'https://api.shriram.com',
  environment: 'production', // 'development' | 'staging' | 'production'
  theme: {
    primaryColor: '#3498db',
    secondaryColor: '#2c3e50',
    backgroundColor: '#f5f5f5',
  },
});

// Get current configuration
const config = sdk.getConfig();

// Update configuration
sdk.updateConfig({
  environment: 'staging',
});

// Get SDK version
const version = ShriramSDK.getVersion();
```

## Platform Support

- **iOS**: 11.0+
- **Android**: API Level 21+
- **React Native**: 0.60+

## Requirements

- React Native 0.60 or higher
- iOS 11.0 or higher
- Android API level 21 or higher

## License

MIT

## Support

For support and questions, please contact our development team.