AlejoTallerScan is built as an Android application module inside the AlejoTaller monorepo. Gradle reads operator-specific keys directly fromDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/danielitoCode/AlejoTaller/llms.txt
Use this file to discover all available pages before exploring further.
local.properties at the repo root and injects them into BuildConfig at compile time — no secrets are committed to version control.
Prerequisites
Before building, make sure the following are in place:- Android Studio (latest stable) or a standalone Android SDK installation
- JDK 17 — the module sets
sourceCompatibilityandtargetCompatibilitytoVERSION_17 - Android device or emulator with a camera (physical device strongly recommended for QR scanning)
- Appwrite instance with the sales collection and an operator-role account configured
alejo_publisherservice running and reachable at a URL accessible from the device
Module Dependencies
alejotallerscan depends on four shared modules. Gradle resolves them from the monorepo’s settings.gradle.kts:
:shared-core:compileDebugKotlin first if you encounter resolution errors.
Create local.properties at the repo root
The
build.gradle.kts for alejotallerscan reads the following keys from local.properties. Create the file at the monorepo root (not inside the module):Sync Gradle
Open the project in Android Studio and click Sync Project with Gradle Files, or run from the command line:This resolves all shared module dependencies and downloads any missing libraries.
Quick compile check (Kotlin only)
For a faster feedback loop during development — without producing an APK — compile only the Kotlin sources:This is also the right command to verify that all four shared modules compile cleanly together before a full build.
Install on a connected device
With a device connected over ADB (USB or Wi-Fi), install directly:Confirm the device is recognized first:
Grant camera permission on first launch
On the first launch, Android will prompt for the
CAMERA permission. Approve it on the device. Without camera access the QR scanner cannot start, though all manual search and history features remain functional.On Android 13+, the POST_NOTIFICATIONS permission is also requested at launch. Approve it to receive local conflict notifications when another operator processes a reservation first.AlejoTallerScan requires a real Appwrite account whose role field resolves to one of
operator, admin, administrator, or owner. The hasOperatorAccess() check in shared-auth blocks any other account type at the domain layer. Creating test accounts directly in the Appwrite console is the fastest way to provision an operator credential during development.Build Variants
| Variant | Minify | Shrink | Notes |
|---|---|---|---|
debug | No | No | Reads local.properties; suitable for device testing |
release | Yes (R8) | Yes | Also reads local.properties; use for distribution |
proguard-rules.pro inside the alejotallerscan module. Ensure your ProGuard rules retain any Koin, Kotlinx Serialization, and OkHttp classes if you encounter crashes after minification.