{"id":23973519,"url":"https://github.com/innovatrics/dot-react-native-samples","last_synced_at":"2026-05-16T19:39:31.948Z","repository":{"id":244809079,"uuid":"239730171","full_name":"innovatrics/dot-react-native-samples","owner":"innovatrics","description":"A collection of quickstart samples demonstrating the DOT Android/iOS SDK in React Native project.","archived":false,"fork":false,"pushed_at":"2025-02-21T10:53:54.000Z","size":3122,"stargazers_count":1,"open_issues_count":4,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-21T11:44:03.358Z","etag":null,"topics":["digital-onboarding","document-detection","face-detection","machine-readable-zone","remote-identity-verification"],"latest_commit_sha":null,"homepage":"https://developers.innovatrics.com/digital-onboarding/","language":"Swift","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/innovatrics.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-02-11T10:03:56.000Z","updated_at":"2025-02-21T10:53:57.000Z","dependencies_parsed_at":"2024-06-17T16:19:28.561Z","dependency_job_id":"c066c80d-47e0-43b9-a0c4-ef1c4e1de7a8","html_url":"https://github.com/innovatrics/dot-react-native-samples","commit_stats":null,"previous_names":["innovatrics/dot-react-native-samples"],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/innovatrics%2Fdot-react-native-samples","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/innovatrics%2Fdot-react-native-samples/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/innovatrics%2Fdot-react-native-samples/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/innovatrics%2Fdot-react-native-samples/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/innovatrics","download_url":"https://codeload.github.com/innovatrics/dot-react-native-samples/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240509795,"owners_count":19813216,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["digital-onboarding","document-detection","face-detection","machine-readable-zone","remote-identity-verification"],"created_at":"2025-01-07T04:59:15.308Z","updated_at":"2026-05-16T19:39:26.917Z","avatar_url":"https://github.com/innovatrics.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Native DOT SDK in React Native\n\nThis repository contains a basic example on how to use DOT SDK (iOS/Android) in React Native (typescript).\n\n# Getting Started\n\n\u003e**Note**: Make sure you have completed the [React Native - Environment Setup](https://reactnative.dev/docs/environment-setup) instructions till \"Creating a new application\" step, before proceeding. This project was developed and tested using Node.js v22.2.0.\n\n## Step 1: Set up project\n\nTo obtain a license file, please contact `sales@innovatrics.com`.\n\n### Android\n\n1. Copy the license file to `android/app/src/main/res/raw/dot_license.lic`.\n\n### iOS\n\n1. Copy the license file to `ios/Assets/dot_license.lic`.\n1. Run `pod install --repo-update` from `ios` directory.\n1. Open `DotReactNativeSamples.xcworkspace` and update app signing configuration using your certificates and profiles.\n\n## Step 2: Start the Metro Server\n\nYou will need to start **Metro**, the JavaScript _bundler_ that ships _with_ React Native. First, make sure you have all dependencies. Run:\n\n```bash\nnpm install\n```\n\nTo start Metro, run the following command from the _root_ of your this repository:\n\n```bash\n# using npm\nnpm start\n\n# OR using Yarn\nyarn start\n```\n\n## Step 3: Start Application\n\nLet Metro Bundler run in its _own_ terminal. Open a _new_ terminal from the _root_ of this repository. Run the following command to start your _Android_ or _iOS_ app:\n\n### For Android\n\n```bash\n# using npm\nnpm run android\n\n# OR using Yarn\nyarn android\n```\n\n### For iOS\n\n```bash\n# using npm\nnpm run ios\n\n# OR using Yarn\nyarn ios\n```\n\nIf everything is set up _correctly_, you should see DOT SDK React Native Samples App running in your _Android Emulator_ or _iOS Simulator_ shortly provided you have set up your emulator/simulator correctly.\n\nThis is one way to run your app — you can also run it directly from within Android Studio and Xcode respectively.\n\n# Technical details\n\n## Android\n\nCode responsible for bridge between the Kotlin and Typescript code can be found in:\n\n- `DotSdkReactModule.kt` - A native module is a Kotlin class that extends the ReactContextBaseJavaModule class and implements the functionality required by the TypeScript. Most methods (annotated by `@ReactModule`) are callable from TypeScript and are responsible for starting activities and retrieving data from them.\n- `DotSdkReactPackage.kt` - Apps package that extends `ReactPackage` and uses `createNativeModules` to register a native module.\n- `MainApplication.kt` - We have to provide the package to `getPackages` method of the `MainApplication` - this is pre-existing file/class created by react-native\n\nMore information about native modules here: https://facebook.github.io/react-native/docs/native-modules-android.\n\n## iOS\n\nCode responsible for bridge between the Swift and Typescript code can be found in:\n\n- `DotSdkReactModuleBridge.m` - A native module bridge which registers required information with React Native.\n- `DotSdkReactModule.swift` - A native module Swift class which implements the functionality required by the TypeScript.\n\nMore information about native modules here: https://reactnative.dev/docs/native-modules-ios.\n\n## ReactNative\n\nWe can use `DotSdk` class found in `NativeModules` exported from `react-native`. It will call native code for the corresponding platform (iOS/Android).\n\nCode can be found in `App.tsx` (root of the repo).\n\nExample:\n\n```typescript\nimport { NativeModules } from 'react-native';\n\nconst dotSdk = NativeModules.DotSdk\n\n// Initialize DOT SDK\ndotSdk.initialize()\n   .then(...)\n   .catch(...);\n\n...\n...\n\n// Start Document Auto Capture component\n\ndotSdk.startDocumentAutoCapture(null)\n   .then(...)\n   .catch(...);\n\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finnovatrics%2Fdot-react-native-samples","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Finnovatrics%2Fdot-react-native-samples","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finnovatrics%2Fdot-react-native-samples/lists"}