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

https://github.com/ndenicolais/scannercode

Android application built with Kotlin and Jetpack Compose that allows you to scan QR codes and barcodes. In the app it's possible to copy the content of the code or share it with other applications.
https://github.com/ndenicolais/scannercode

android barcode barcode-scanner compose jetpack-compose kotlin qrcode qrcode-scanner

Last synced: about 1 year ago
JSON representation

Android application built with Kotlin and Jetpack Compose that allows you to scan QR codes and barcodes. In the app it's possible to copy the content of the code or share it with other applications.

Awesome Lists containing this project

README

          

# Scanner Code
> Author: Nicola De Nicolais

## πŸ“„ Description
Android application built with Kotlin and Jetpack Compose that allows you to scan QR codes and barcodes. In the app it's possible to copy the content of the code or share it with other applications.

## πŸ”¨ How to install and run the project
Clone this repository :

`
git clone https://github.com/ndenicolais/ScannerCode.git
`

Import the project into Android Studio :

1. File -> New -> Import Project
2. Browse to
3. Click "OK"

Create a new virtual device or connect an Android device to your computer.
Click Run to start the project on the selected device.

## πŸ› οΈ Built with
Kotlin
Jetpack Compose
Dagger Hilt
Camera X
ML Scanning

## πŸ“š Package Structure

```
com.denicks21.scannercode # ROOT PACKAGE
β”‚
β”œβ”€β”€ data # DATA FOLDER
| β”œβ”€β”€ DataSourceModule # Inject repository in the ScanLDS.
| β”œβ”€β”€ RepositoryModule # Inject repository in the ScanRepository.
| β”œβ”€β”€ ScanLDS # Manages the device’s camera for scanning codes.
| β”œβ”€β”€ ScanMapper # Scan object conversion.
| β”œβ”€β”€ ScanRepository # Repository operations.
| β”œβ”€β”€ ScanRepositoryImpl # ScanRepository implementation.
|
β”œβ”€β”€ model # MODEL FOLDER
| β”œβ”€β”€ Scan # Scan model.
|
β”œβ”€β”€ navigation # NAVIGATION FOLDER
β”‚ β”œβ”€β”€ NavGraph # Contains all of app destinations and actions.
β”‚ └── NavScreens # Contains a sealed class with object corresponds to a screen and its routes.
|
β”œβ”€β”€ scanner # SCANNER FOLDER
β”‚ β”œβ”€β”€ ScannerEvent # Class representing events related to the QR code/barcode scanning functionality.
β”‚ └── ScannerPage # Scan main page.
β”‚ └── ScannerUiState # Class representing the state of the user interface associated with the QR/barcode code scanning feature.
β”‚ └── ScannerViewModel # Scan ViewModel.
|
β”œβ”€β”€ ui # UI FOLDER
β”‚ β”œβ”€β”€ theme # THEME FOLDER
| β”‚ β”œβ”€β”€ Color # Color palette used by the app.
| β”‚ β”œβ”€β”€ Shape # Components shapes of Compose used by the app.
| β”‚ β”œβ”€β”€ Theme # Theme used by the app.
| β”‚ β”œβ”€β”€ Type # Typography styles for the fonts used by the app.
|
β”‚ β”œβ”€β”€ components # COMPONENTS FOLDER
| β”‚ β”œβ”€β”€ CameraDialog # Dialog to request Camera permission.
| β”‚ β”œβ”€β”€ ScanSheet # Scan component design.
| β”‚ β”œβ”€β”€ TopBar # Bar that represent the app name and drawer menu.
|
β”œβ”€β”€ MainActivity # Main activity
β”œβ”€β”€ ScannerApp # Scanner main navigation.
β”œβ”€β”€ ScannerApplication # Trigger Hilt's code generation.
```

## πŸ“Ž Screenshots