Skip to content

About

Aplicación para usuarios que trabajen en el area cultural local, desarrollada con Kotlin, Android Studio, Firebase, Material 3.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Portal Cultural

Este es un proyecto de Android diseñado para gestionar y visualizar información cultural, demostrando la implementación de un flujo de navegación moderno utilizando las mejores prácticas de desarrollo, incluyendo MVVM Architecture, Material Design 3, View Binding, Jetpack Compose y Navigation Component.

📱 Capturas de Pantalla

Login

Register

SubNavegacion (Perfil, Convocatorias y Noticias)

🚀 Características

  • Arquitectura MVVM: Separación clara entre la lógica de negocio (ViewModel), el estado de la UI y la vista (Fragment/Composable).
  • Autenticación con Firebase: Gestión de usuarios segura y escalable utilizando Firebase Auth.
  • Navegación Anidada (Nested Navigation): Implementación de un flujo de subnavegación dentro del Home mediante un BottomNavigationView y un grafo de navegación independiente (nav_home.xml).
  • Validación en Tiempo Real: Formularios de Login y Registro con validaciones dinámicas.
  • Single Activity Architecture: Utiliza una única actividad principal (MainActivity) que gestiona el flujo de fragmentos.
  • Navigation Component (Safe Args): Implementación robusta de navegación con paso de argumentos seguro entre pantallas.
  • Material Design 3: Interfaz de usuario moderna y adaptable con componentes avanzados de Material.
  • View Binding & Data Binding: Acceso seguro y eficiente a las vistas XML.
  • Jetpack Compose: Integración de componentes de UI modernos y declarativos.
  • Carga de Imágenes con Coil: Carga eficiente de imágenes desde URLs.

🛠️ Tecnologías y Librerías

  • Kotlin: Lenguaje principal de desarrollo.
  • Firebase Auth & Analytics: Para autenticación y análisis de uso.
  • Navigation Component: Gestión de rutas y transiciones.
  • Jetpack Compose: Para la creación de interfaces modernas.
  • Coil: Librería de carga de imágenes.
  • Coroutines & Flow: Manejo de asincronía y flujos de datos reactivos.
  • View Binding: Vinculación de vistas segura.

📋 Requisitos Previos

Antes de comenzar, asegúrate de tener instalado:

  • Android Studio (versión reciente recomendada).
  • JDK 17 o superior.
  • Android SDK (API 34+).

⚙️ Instalación y Configuración

  1. Clonar el repositorio:

    git clone https://github.com/pablocelva/portalcultural.git
  2. Importar en Android Studio:

    • Abre Android Studio.
    • Selecciona File > Open.
    • Navega hasta la carpeta del proyecto y haz clic en OK.
  3. Configurar Firebase:

    • Crea un proyecto en Firebase Console.
    • Añade una aplicación Android con el package name com.celvadev.portalcultural.
    • Descarga el archivo google-services.json y colócalo en la carpeta app/.
  4. Sincronizar Gradle:

    • Haz clic en "Sync Project with Gradle Files".

📂 Estructura del Proyecto

app/src/main/
├── java/com/celvadev/portalcultural/
│   ├── data/               # Repositorios y fuentes de datos (Firebase)
│   ├── domain/             # Lógica de negocio y casos de uso
│   ├── model/              # Modelos de datos (Noticia, Convocatoria, etc.)
│   ├── ui/                 # Componentes de Jetpack Compose y Temas
│   ├── validation/         # Lógica de validación de formularios
│   ├── view/               # Capa de presentación (Fragments y Activity)
│   │   └── home/           # Subnavegación del Home (Welcome, Product, Graph)
│   ├── viewModel/          # ViewModels (Login, Register, etc.)
│   └── MainActivity.kt     # Actividad principal
├── res/
│   ├── layout/             # Diseños XML
│   ├── menu/               # Definición del Bottom Navigation
│   ├── navigation/         # Grafos de navegación (nav_graph, nav_home)
│   └── values/             # Colores, Strings y Estilos
└── AndroidManifest.xml

🤝 Contribución

Si deseas contribuir:

  1. Haz un Fork del proyecto.
  2. Crea una rama para tu mejora (git checkout -b feature/Mejora).
  3. Haz un Commit (git commit -m 'Añade funcionalidad').
  4. Haz Push (git push origin feature/Mejora).
  5. Abre un Pull Request.

📄 Licencia

Este proyecto está bajo la Licencia MIT.

About

Aplicación para usuarios que trabajen en el area cultural local, desarrollada con Kotlin, Android Studio, Firebase, Material 3.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages