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.
- Host: GitHub
- URL: https://github.com/ndenicolais/scannercode
- Owner: ndenicolais
- License: mit
- Created: 2023-08-22T10:13:03.000Z (almost 3 years ago)
- Default Branch: master
- Last Pushed: 2023-08-28T13:29:58.000Z (almost 3 years ago)
- Last Synced: 2025-03-28T00:46:14.587Z (about 1 year ago)
- Topics: android, barcode, barcode-scanner, compose, jetpack-compose, kotlin, qrcode, qrcode-scanner
- Language: Kotlin
- Homepage:
- Size: 7.05 MB
- Stars: 5
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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