Skip to content
/ Zibe Public

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

License

Notifications You must be signed in to change notification settings

Zibete/Zibe

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

398 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 este repo (para recruiters)

  • 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 soporte para audio (según implementación actual).
  • ⚙️ 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/
 ├─ 📂 src/
 │  ├─ 📂 main/
 │  │  ├─ 📂 java/com/zibete/proyecto1/   ← código de producción (features + core)
 │  │  └─ 📂 res/
 │  ├─ 🐞 📂 debug/
 │  │  └─ AppCheckProviderFactoryProvider.kt   ← solo debug (App Check)
 │  ├─ 🧪 📂 test/                             ← unit tests (JVM)
 │  └─ 📱 📂 androidTest/                      ← instrumented tests
 └─ ⚙️  build.gradle(.kts)

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

🗺️ Próximos pasos

  • 🧪 Mejorar cobertura de tests (especialmente instrumented).
  • 🧭 Documentar flujos clave (onboarding, permisos, media) con capturas.
  • 🎨 Unificar consistencia visual entre pantallas Compose y UI clásica.

🤝 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