Skip to content

Latest commit

 

History

History
74 lines (58 loc) · 1.83 KB

File metadata and controls

74 lines (58 loc) · 1.83 KB

Smart documents scanner

Flutter Dart

Mobile application for scanning and storing the documents.

Supported formats:

  • images (jpg, jpeg, png)
  • pdf (max size - 5 pages)

Features

  • Scan a document or uploap it from the device
  • View a list of the scanned documents
  • Recognize a text from the image (only latin letters and numbers):
    • Copy the text by tapping the highlighted sections
  • Share the image file
  • Chat with AI about the document content
  • Minimal support for PDF: upload/delete/view

Technologies

  • Flutter for UI
  • State Management: Bloc
  • Database: Drift (local storage)
  • Localization: easy_localization (translations in assets/translations)
  • Text recognision: google_mlkit_text_recognition
  • LLM: Groq (https://console.groq.com)

Getting started

Prerequisites

Setup Groq API key (is needed only for document chat)

  1. Go to https://console.groq.com
  2. Choose "Api keys" -> "Create API key"
  3. Add the key to .env under LLM_BASE_URL

Installation and launching

  1. Clone the repo
git clone https://github.com/VikTs/smart_document_scanner
cd smart_document_scanner
  1. Install dependencies
flutter pub get
dart run build_runner build
  1. Connect device and run the application
flutter run

Testing data

The application was tested with the images from assets/images/test folder. They can be uploaded to the device's gallery and used for testing.

Running tests

Tests are stored inside /test folder. To run them, launch the command:

flutter test

Building Android app

flutter build apk --release

The apk file will be saved to build/app/outputs/flutter-apk folder