Wirin es una aplicación móvil desarrollada en Kotlin utilizando Jetpack Compose, orientada a mejorar la accesibilidad en el ámbito educativo. Permite a estudiantes con discapacidad visual acceder a contenido adaptado de forma clara y accesible.
-
Android Studio Giraffe o superior
-
Java 17
-
Kotlin 2.0+
-
Conexión a Internet
-
Git instalado
-
Emulador o dispositivo Android (API 24+)
-
Deploy de backend (API) y Base de datos (SQL):
git clone https://github.com/ArielNappio/ProyectoFinal.git
cd ProyectoFinal
La app está modularizada, y contiene principalmente:
-
core: lógica común (network, modelos, utils, etc.)
-
features: módulos por funcionalidad
Para apuntar a tu servidor/API local o remoto, debés modificar la IP en:
📁 core/network/ApiUrls.kt
object ApiUrls {
const val BASE_URL = "http://192.168.1.X:8080/" // Cambiar esta IP
}-
Abrir el proyecto en Android Studio.
-
Dejar que sincronice las dependencias (Gradle sync).
-
Seleccionar un emulador o conectar un dispositivo físico.
-
Hacer click en Run
▶️ sobre el módulo app.
-
Timeouts al llamar a la API: Verificar que la IP esté bien configurada en ApiUrls.kt y que el backend esté levantado.
-
CORS o errores de red en emulador: Si usás localhost, reemplazar por la IP de tu máquina (ipconfig en Windows o ifconfig en Unix/macOS).
- Ejecutar el siguiente comando en la raíz del proyecto:
./gradlew assembleDebug
- El APK se encuentra en:
app/build/outputs/apk/debug/app-debug.apk
También podés descargar la última versión del APK directamente desde la pestaña Actions del repositorio:
-
Ir a Github Actions
-
Seleccionar el workflow más reciente
-
Ir al final de la página y descargar el artefacto llamado app-debug.apk (o similar)
| Categoría | Herramienta / Librería |
|---|---|
| Lenguaje | Kotlin |
| UI | Jetpack Compose |
| Arquitectura | Clean Architecture modular por features |
| Inyección de dependencias | Koin |
| Manejo de estados | Flow / StateFlow |
| Persistencia local | Room (SQLite) |
| Cliente HTTP | Ktor con kotlinx.serialization |
| Reconocimiento de voz | SpeechRecognizer (Android) |
| Texto a voz (TTS) | TextToSpeech (Android) |
| Modularización | Módulos core y features |
| Gestión de dependencias | Gradle con Kotlin DSL |