Problema
Los equipos pueden terminar utilizando diferentes herramientas para gestionar tareas, compartir información y comunicarse, lo que dificulta mantener toda la actividad del proyecto centralizada.
Solución
- Kotlin Multiplatform + Compose para desarrollar una aplicación multiplataforma para Android, iOS y Desktop compartiendo la lógica común entre plataformas.
- Supabase como backend para gestionar autenticación, base de datos PostgreSQL, almacenamiento y sincronización de datos.
- Supabase Realtime para implementar el chat interno por proyecto y recibir nuevos mensajes en tiempo real.
- Ktor para desarrollar el backend encargado de gestionar la lógica del servidor.
Funcionalidades
- Creación, edición y eliminación de proyectos.
- Organización de proyectos mediante secciones y tareas.
- Asignación de tareas a miembros del proyecto.
- estión de estados y seguimiento de tareas.
- Chat interno asociado a cada proyecto.
- Sincronización de mensajes en tiempo real mediante Supabase Realtime.
- Sistema de roles con permisos diferenciados entre owner y member.
- Registro e inicio de sesión mediante Supabase.
- Gestión de perfiles de usuario.
Decisiones Técnicas
La aplicación utiliza Kotlin Multiplatform para compartir la lógica de negocio, los modelos y el acceso a datos entre Android, iOS y Desktop. El módulo shared concentra esta lógica común, mientras que composeApp gestiona la interfaz y server contiene el backend desarrollado con Ktor.
Esta arquitectura permite mantener una única implementación de la lógica compartida entre plataformas, evitando duplicar modelos y operaciones de acceso a datos. Los repositorios actúan como punto de acceso a Supabase, manteniendo la interfaz independiente de la fuente de datos.
Además, el chat utiliza Supabase Realtime mediante canales asociados a cada proyecto, permitiendo recibir y mostrar nuevos mensajes en tiempo real sin realizar consultas periódicas a la base de datos.










