Convivo
Convivo es una aplicación full-stack de finanzas domésticas para uso compartido en casa: registro de gastos e ingresos con backend propio, autoalojada en mi NAS y accesible desde cualquier sitio de forma segura. Diseñada, desarrollada y desplegada íntegramente por mí, incluida su identidad visual.
fun backend() {
- API REST con Ktor 3 sobre PostgreSQL 16, con migraciones de esquema versionadas con Flyway.
- Autenticación con JWT y rotación de refresh tokens: los tokens de acceso caducan rápido y los de refresco se invalidan al usarse, limitando el impacto de un robo de token.
- Todo empaquetado con Docker Compose (API + base de datos) y desplegado en un NAS Ugreen DXP4800 Plus.
}
fun appAndroid() {
- UI 100% Jetpack Compose con arquitectura MVVM, inyección de dependencias con Hilt y networking con Retrofit.
- Preferencias y sesión persistidas con DataStore, incluida una URL de servidor configurable en tiempo de ejecución para alternar entre red local y acceso remoto.
}
fun accesoRemoto() {
En lugar de abrir puertos al exterior, el acceso remoto va por Tailscale: una red privada WireGuard entre los dispositivos de casa y el NAS. El backend nunca queda expuesto a internet y la app funciona igual dentro y fuera de casa.
// Del móvil al NAS, sin exponer nada a internet App (Compose) ──Retrofit──▶ Tailscale VPN ──▶ Ktor API ──▶ PostgreSQL (Docker Compose · NAS)
}
fun identidad() {
La identidad visual también es propia: dos círculos que se solapan —dos personas, una economía en común— en verde azulado con acento cálido.
Primary#1F6F64
Primary container#BEE8DE
Accent#F2A154
Ingresos#2E9E6D
Gastos#E2643B
}