feat: Codigo fuente SIO Mobile - App Android para Operadores

Aplicacion movil Android para el sistema SIO (Sistema Integral de Operaciones)
de Drenax. Permite a los operadores gestionar sus servicios diarios.

Funcionalidades principales:
- Login y autenticacion JWT
- Checklist de vehiculos
- Gestion de jornada laboral
- Lista de servicios asignados
- Captura de evidencias fotograficas
- Firma digital del cliente
- Encuestas de satisfaccion
- Notificaciones push (Firebase)
- Almacenamiento offline (ObjectBox)
- Geolocalizacion y mapas

Stack tecnologico:
- Kotlin
- Android SDK 33
- Retrofit + OkHttp
- ObjectBox
- Firebase (FCM, Crashlytics, Analytics)
- Google Maps

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
SIO Admin
2026-01-18 03:09:03 +00:00
commit 8c4294e67b
228 changed files with 20912 additions and 0 deletions

109
app/build.gradle Normal file
View File

@@ -0,0 +1,109 @@
plugins {
id 'com.android.application'
id 'kotlin-android'
id 'kotlin-kapt'
}
apply plugin: 'com.google.gms.google-services'
apply plugin: 'com.google.firebase.crashlytics'
android {
compileSdkVersion 33
defaultConfig {
applicationId "com.iesoluciones.siodrenax"
minSdkVersion 28
targetSdkVersion 33
versionCode 3
//versionName "0.48"
versionName "1.00"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
vectorDrawables.useSupportLibrary = true // To accept variables colors in vectors
}
buildTypes {
debug {
// -------- API --------
buildConfigField("String", "BASE_URL", '"https://sio-api.consultoria-as.com/api/"') //PROD - Cloudflare Tunnel
buildConfigField("String", "STORAGE_URL", '"https://sio-api.consultoria-as.com/storage/"') //PROD STORAGE
//buildConfigField("String", "BASE_URL", '"http://107.170.231.250/v1/api/"') //PROD OLD
//buildConfigField("String", "STORAGE_URL", '"http://107.170.231.250/storage/"') //PROD STORAGE OLD
}
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
// -------- API --------
buildConfigField("String", "BASE_URL", '"https://sio-api.consultoria-as.com/api/"') //PROD - Cloudflare Tunnel
buildConfigField("String", "STORAGE_URL", '"https://sio-api.consultoria-as.com/storage/"') //PROD STORAGE
//buildConfigField("String", "BASE_URL", '"http://107.170.231.250/v1/api/"') //PROD OLD
//buildConfigField("String", "STORAGE_URL", '"http://107.170.231.250/storage/"') //PROD STORAGE OLD
}
}
buildFeatures {
viewBinding true
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'androidx.appcompat:appcompat:1.4.1'
implementation 'androidx.appcompat:appcompat:1.4.1'
implementation 'androidx.constraintlayout:constraintlayout:2.1.3'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'androidx.cardview:cardview:1.0.0'
implementation 'androidx.recyclerview:recyclerview:1.2.1'
implementation 'androidx.work:work-runtime:2.8.0'
implementation 'com.google.android.material:material:1.5.0'
implementation 'com.squareup.picasso:picasso:2.71828'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0' // Android Jetpack
implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.4.1' //Android Jetpack
implementation "android.arch.work:work-runtime:1.0.1" //Android Jetpack //Android Jetpack
implementation 'com.squareup.retrofit2:retrofit:2.5.0'
implementation 'io.reactivex.rxjava2:rxandroid:2.1.0' //RxAndroid
implementation 'io.reactivex.rxjava2:rxjava:2.2.2' //RxJava
implementation 'com.squareup.retrofit2:converter-gson:2.4.0' //GSON Converter for Retrofit
implementation 'com.squareup.retrofit2:adapter-rxjava2:2.4.0' //Rx Requests for Retrofit
implementation 'com.squareup.okhttp3:logging-interceptor:3.9.1' //Logging interceptor for every Request
implementation 'com.github.bumptech.glide:glide:4.11.0'
kapt 'com.github.bumptech.glide:compiler:4.11.0'
implementation 'com.google.android.gms:play-services-maps:18.0.2'// Google Maps Android API
// ----- ObjectBox Data Browser -----
debugImplementation "io.objectbox:objectbox-android-objectbrowser:$objectboxVersion"
releaseImplementation "io.objectbox:objectbox-android:$objectboxVersion"
implementation "io.objectbox:objectbox-kotlin:$objectboxVersion"
// ----- Testing -----
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test:runner:1.4.0'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
// ----- Firebase -----
implementation 'com.google.firebase:firebase-messaging:22.0.0'
implementation 'com.google.firebase:firebase-crashlytics:18.2.0'
implementation 'com.google.firebase:firebase-core:19.0.0'
implementation platform('com.google.firebase:firebase-bom:28.3.1')
implementation 'com.google.firebase:firebase-crashlytics-ktx'
implementation 'com.google.firebase:firebase-analytics-ktx'
// ----- Camera & Sign -----
implementation 'io.fotoapparat:fotoapparat:2.7.0'
implementation 'com.github.gcacace:signature-pad:1.3.1'
// ----- HTML TO PDF -----
implementation 'io.github.nvest-solutions:html-to-pdf-convertor:1.0.0'
implementation 'com.github.naya-aastra:SkewPdfView:1.1'
implementation project(':mylibrary')
}
apply plugin: 'io.objectbox' // Apply last.