- ✅ Kotlin 1.9.23
- ✅ Hilt 2.51 (Inyección de Dependencias)
- ✅ Jetpack Compose (UI moderna)
- ✅ MVVM Architecture
- ✅ StateFlow para manejo de estado
- ✅ Material 3 Design
- ✅ Navigation Compose (preparado)
- Abre Android Studio
- File → Open
- Selecciona la carpeta
EventosApp - Espera el Sync automático (puede tardar 2-5 minutos la primera vez)
- Run en tu emulador o dispositivo
cd EventosApp
chmod +x gradlew
./gradlew clean
./gradlew buildLuego abre en Android Studio.
EventosApp/
├── app/
│ ├── src/
│ │ └── main/
│ │ ├── java/com/miempresa/eventosapp/
│ │ │ ├── EventosApplication.kt # @HiltAndroidApp
│ │ │ ├── MainActivity.kt # @AndroidEntryPoint
│ │ │ ├── domain/
│ │ │ │ └── model/
│ │ │ │ └── Event.kt # Modelo de datos
│ │ │ ├── presentation/
│ │ │ │ └── events/
│ │ │ │ ├── EventsViewModel.kt # @HiltViewModel
│ │ │ │ └── EventsScreen.kt # UI Compose
│ │ │ └── ui/
│ │ │ └── theme/
│ │ │ └── Theme.kt # Material 3 Theme
│ │ ├── AndroidManifest.xml
│ │ └── res/
│ │ └── values/
│ │ ├── strings.xml
│ │ └── themes.xml
│ └── build.gradle.kts
├── gradle/
│ └── wrapper/
│ └── gradle-wrapper.properties
├── build.gradle.kts
├── settings.gradle.kts
└── gradle.properties
La app mostrará una lista de 3 eventos de ejemplo:
- 🎸 Concierto de Rock
- 💻 Conferencia Tech
- 🍕 Festival Gastronómico
Cada evento muestra:
- Título y categoría
- Fecha y ubicación
- Número de asistentes
- Precio
View (Compose) ↔ ViewModel (StateFlow) ↔ Model (Event)
↓
observa con
collectAsState()
EventsScreen.kt → Observa el estado del ViewModel
EventsViewModel.kt → Expone StateFlow con la lista de eventos
Event.kt → Modelo de datos puro
- Hilt: Inyección de dependencias
- Jetpack Compose: UI declarativa
- Material 3: Diseño moderno
- Navigation Compose: Navegación entre pantallas
- StateFlow: Manejo reactivo de estado
Una vez que funcione, puedes agregar:
- Room Database (persistencia local)
- Retrofit (consumo de API)
- Repository Pattern (capa de datos)
- UseCases (lógica de negocio)
- Pantalla de detalle (al hacer click en evento)
- Autenticación (login/registro)
- Suscripción a eventos
./gradlew clean
rm -rf .gradle
rm -rf build
rm -rf app/build
./gradlew buildVerifica que tengas JDK 8 o superior instalado:
java -versionVerifica que EventosApplication esté declarado en AndroidManifest.xml
Marco Antonio García Vargas
Fecha: Noviembre 2025
Con ayuda de Claude (Anthropic)
¡Listo para desarrollar! 🚀