Skip to content

Zibete/Zibe

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

413 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

CI Licencia Último commit Issues

Kotlin Android Jetpack Compose Material 3 Firebase Hilt

🧩 ZIBE — Mensajería Android moderna (Kotlin · Compose · MVVM · Firebase)


demo


ZIBE es una app Android de mensajería (chat 1:1 y grupos) construida como proyecto principal de portfolio para demostrar criterios de arquitectura, calidad y seguridad: UI moderna con Compose, MVVM con Flow, DI con Hilt, persistencia con DataStore e integración completa con Firebase (Auth / RTDB / Storage / FCM + App Check).


🔗 Accesos rápidos

Recurso Enlace
📘 Setup & primeros pasos GETTING_STARTED.md
🧱 Arquitectura detallada ARCHITECTURE.md
🔥 Esquema Firebase FIREBASE_SCHEMA.md
🧪 Pipeline CI CI.md
🤝 Cómo contribuir CONTRIBUTING.md

🕰️ Historia del proyecto

Etapa Descripción
🧱 Origen (2020) App creada con UI clásica (XML / Activities / Adapters) y base Firebase.
🔄 Modernización (oct-2025 →) Migración progresiva a Kotlin + AndroidX, incorporación de Jetpack Compose + Material 3, refactor hacia MVVM, mejoras de seguridad y ordenamiento de arquitectura para dejarlo listo como repo público y mantenible.
🚧 Estado actual En evolución continua (refactors y mejoras por PR), con foco en compatibilidad moderna (Android 13/14) y prácticas profesionales.

🧠 Qué demuestra

  • Arquitectura aplicada: separación por capas (UI → ViewModel → Repositorio → Data), estado con Flow.
  • UI moderna: Compose + Material 3 con convivencia controlada con UI clásica cuando aplica.
  • Calidad y mantenibilidad: DI con Hilt, manejo de errores consistente, refactors por PR.
  • Seguridad para repo público: sin credenciales reales versionadas, CI sin secretos, App Check preparado.
  • Firebase end-to-end: Auth + RTDB + Storage + FCM con estructura documentada.

✨ Features principales

  • 🔐 Autenticación con Google y Facebook (Firebase Auth).
  • 💬 Chat 1:1 y grupos en tiempo real (Realtime Database).
  • 🔔 Notificaciones push (FCM) con tokens por sesión.
  • 👤 Perfiles, favoritos y estados de usuario.
  • 🖼️ Multimedia en chats (imágenes y audio).
  • ⚙️ Onboarding, búsqueda y ajustes.

🛠️ Stack técnico

📱 UI & Presentación

Kotlin Compose Material 3

🧱 Arquitectura & DI

MVVM Hilt DataStore

🔥 Backend & Servicios

Firebase Auth RTDB FCM


🚀 Cómo compilar

# Build de debug
./gradlew :app:assembleDebug

# Tests unitarios (JVM)
./gradlew test

🧪 El pipeline de CI corre automáticamente en cada push a main.


🔥 Firebase — Setup en 20 segundos

Este repo está listo para ser público: no incluye google-services.json real.

Escenario Qué hacer
✅ Solo compilar / CI El CI usa app/google-services.example.json con valores dummy. No requiere configuración adicional.
🔥 Conectar Firebase real Creá tu proyecto en Firebase Console y colocá tu google-services.json real en app/.

⚠️ El modo dummy permite build y CI, pero no opera la app conectada a un backend real.

📘 Guía completa: GETTING_STARTED.md


🗂️ Estructura del proyecto

📦 app/ ← módulo Android (entrypoints + UI + wiring)
├─ 📂 src/
│ ├─ 📂 main/
│ │ ├─ 📂 java/com/zibete/proyecto1/ ← UI/screens + navegación + DI (Hilt) + impls app-only
│ │ └─ 📂 res/ ← recursos propios de app (legacy XML, drawables específicos)
│ ├─ 🐞 📂 debug/ ← solo debug (App Check, etc.)
│ ├─ 🧪 📂 test/ ← unit tests (JVM)
│ └─ 📱 📂 androidTest/ ← instrumented tests
└─ ⚙️ build.gradle(.kts)
📦 core/
├─ 📦 common/ ← utilidades + modelos + strings compartidos (sin UI)
└─ 📦 designsystem/ ← Theme Compose + tokens (colors/dimens) + fonts

📦 domain/ ← casos de uso + contratos (interfaces) para data
📦 data/ ← implementaciones (repositorios, Firebase/DataStore, etc.)

📦 docs/ ← documentación (setup, arquitectura, firebase, CI)
📦 .github/ ← workflows + templates (Issues / PR)

🔗 Dependencias entre módulos (resumen)

  • appdomain, data, core:common, core:designsystem
  • datadomain, core:common
  • domaincore:common
  • core:designsystem(sin dependencias de app/domain/data; solo UI tokens/theme)

🤝 Contribuir (feedback)

Este repositorio se publica como portfolio / caso de estudio.

  • Feedback, bugs e ideas: bienvenidos vía Issues (con templates).
  • 🔒 Pull Requests externos: solo por invitación, para preservar coherencia y autoría del proyecto.

➡️ Ver: CONTRIBUTING.md
📌 Código de conducta: CODE_OF_CONDUCT.md


⚖️ Licencia

MIT — ver LICENSE


👤 Autor

Matías Abel Peralta

LinkedIn

About

Modern chat/social Android app, progressively migrated from Java to Kotlin with Jetpack Compose + Material 3, MVVM, and Firebase (Auth/RTDB/Storage/FCM).

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages