SIFA GO es una aplicacion movil desarrollada en Android con Kotlin y Jetpack Compose, disenada para digitalizar el proceso de fiscalizacion vehicular en terreno. Permite a los fiscalizadores capturar patentes, procesarlas mediante OCR (Inteligencia Artificial) y agilizar la emision de multas.
Estado del Proyecto: En Desarrollo
- Captura de evidencia fotografica con CameraX
- Previsualizacion y confirmacion de captura antes de enviar
- Consumo de API REST (Python/FastAPI) para OCR de patentes via Retrofit
- Autenticacion biométrica (huella digital, rostro) + credencial de dispositivo
- Navegacion entre pantallas con Navigation Compose
- Visualizacion de resultados de consulta de patentes
- Notificaciones push con Firebase Cloud Messaging
- Localizacion GPS y deteccion de cambios en proveedores de ubicacion
- Soporte offline preparado para implementacion con Room
- Gestion de sesion de usuario
- Deteccion de conectividad de red
| Parametro | Valor |
|---|---|
| Min SDK | 24 (Android 7.0 Nougat) |
| Target SDK | 36 (Android 16) |
| Compile SDK | 36 |
| Kotlin | 2.0.21 |
| AGP | 8.13.2 |
| Gradle | 8.13 |
| Compose BOM | 2024.09.00 |
La aplicacion es 100% compatible con API 24 gracias a:
- Desugaring de Java 8+:
coreLibraryDesugaringEnabled = truecondesugar_jdk_libs:2.1.4para habilitarjava.timey otras APIs modernas en versiones antiguas de Android. - Guardias de API: Todo codigo que utiliza APIs introducidas despues de API 24 esta protegido con
Build.VERSION.SDK_INT. - Librerias retrocompatibles: Todas las dependencias (Compose, CameraX, Coil, Retrofit, Biometric, Firebase, Play Services) soportan API 21+.
La aplicacion ha sido probada y funciona correctamente en los siguientes niveles de API:
| API | Version Android | Estado |
|---|---|---|
| 24 | Android 7.0 Nougat | Funcional |
| 25 | Android 7.1.1 Nougat | Funcional |
| 27 | Android 8.1 Oreo | Funcional |
| 30 | Android 11 | Funcional |
| 33 | Android 13 | Funcional |
- Android Studio (Iguana o superior)
- Dispositivo Android fisico (API 24 o superior)
- Cable USB para depuracion
- Ve a Ajustes > Acerca del telefono.
- Toca 7 veces sobre "Numero de compilacion" hasta activar modo desarrollador.
- En Ajustes > Opciones de desarrollador, activa "Depuracion por USB".
- Clona el repositorio y abrelo en Android Studio.
- Conecta el dispositivo por USB y acepta el permiso de depuracion.
- Selecciona el dispositivo en el menu desplegable de Android Studio.
- Haz clic en "Run" (Shift + F10).
La aplicacion se comunica con un motor de IA (YOLO/PaddleOCR) para extraer texto de patentes. Para pruebas locales, PC y dispositivo deben estar en la misma red Wi-Fi.
- Obtén tu IP local (
ipconfigen Windows,ip aen Linux/Mac). - Abre
app/src/main/java/com/sifa/sifa_go/core/network/ServerConfig.kt. - Modifica
BASE_URLcon tu IP y puerto (generalmente 8001):const val BASE_URL = "http://TU_IP_LOCAL:8001/"
- Asegurate de que el backend de Python este corriendo (via
docker-compose up). - Compila y prueba la captura de fotografia.
gradle/libs.versions.toml- Catalogo de versiones de dependencias.