Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/moesaid/sphinxverify

SphinxVerify is a Flutter package that aims to provide an interface to amazon recognition service, with built-in use cases.
https://github.com/moesaid/sphinxverify

ai amazon-rekognition aws compare-faces content-moderation face-detection flutter kyc label-detection text-detection

Last synced: 25 days ago
JSON representation

SphinxVerify is a Flutter package that aims to provide an interface to amazon recognition service, with built-in use cases.

Awesome Lists containing this project

README

        

![Sphinx Verify logo](https://github.com/moesaid/SphinxVerify/blob/main/marketing/thumbnail.jpg?raw=true)

[![pub package][pub_badge]][pub_badge_link] [![License: MIT][license_badge]][license_badge_link]

# Sphinx Verify

Sphinx Verify is a Flutter package that amis to provider an interface to amazon recognition service. with built-in use cases.

[More demo images](DEMO.md)

---

## Features πŸš€

- βœ… Text Detection
- βœ… Face Detection
- βœ… Label Detection
- βœ… content Moderation
- βœ… compare Faces

## use cases

- βœ… ( KYC flow ) Verify a user by comparing a selfie with a document photo ( driving license )

## Installation πŸ’»

**❗ In order to start using Sphinx Verify you must have the Fkutter installed on your machine.**

Install via `flutter pub add`:

```sh
flutter pub add sphinx_verify
```

Install via `pubspec.yaml`:

```yaml
dependencies:
sphinx_verify: ^0.1.0
```

---

## Usage πŸ“–

```dart
import 'package:sphinx_verify/sphinx_verify.dart';

/// initialize the sphinx verify
SphinxVerify sphinxVerify = SphinxVerify(
region: AwsRegionEnum.usEast1 <- adjust to your region,
accessKey: 'your access key',
secretKey: 'your secret key',
onVerificationComplete: (FaceMatchesModel faceMatchesModel) {
print({
'❌similarity': faceMatchesModel.matchedFaces?.first.similarity,
'faceMatchesModel': faceMatchesModel,
});
},
);

/// exposed methods

// detect labels
LabelDetectionModel? res = await widget.sphinxVerify.awsSDK.detectLabels(
file: _imageFile,
imageUrl: _imageUrl,
);

// detect text
List? res = await widget.sphinxVerify.awsSDK.detectText(
file: _imageFile,
imageUrl: _imageUrl,
);

// detect faces
List? res = await widget.sphinxVerify.awsSDK.detectFaces(
file: _imageFile,
imageUrl: _imageUrl,
);

// compare faces
FaceMatchesModel? res = await widget.sphinxVerify.awsSDK.compareFaces(
sourceImageFile: _imageFile,
sourceImageUrl: _imageUrl,
targetImageFile: _targetImageFile,
targetImageUrl: _targetImageUrl,
similarityThreshold: 90,
);

// moderate content
ModerateContentModel? res = await widget.sphinxVerify.awsSDK.moderateContent(
file: _imageFile,
imageUrl: _imageUrl,
minConfidence: 5,
);
```

## KYC flow

```dart
import 'package:flutter/material.dart';
import 'package:sphinx_verify/sphinx_verify.dart';

class KycPage extends StatelessWidget {
const KycPage({super.key, required this.sphinxVerify});
final SphinxVerify sphinxVerify;

@override
Widget build(BuildContext context) {
return sphinxVerify.kycWidget;
}
}
```

[license_badge]: https://img.shields.io/badge/license-MIT-blue.svg
[license_badge_link]: License
[pub_badge]: https://img.shields.io/pub/v/sphinx_verify
[pub_badge_link]: https://pub.dev/packages/sphinx_verify