El problema
La app vivía en Firebase y Vercel y quería tener los datos y los costos bajo control propio.
Qué construí
La migración completa a un servidor propio, conservando los IDs y los usuarios: las contraseñas de Firebase se aceptan y se vuelven a hashear al entrar. Login con email o Google, roles por campo y registro con aprobación.
Cómo funciona
Un solo contenedor con Express y SQLite, deploy desde un commit exacto y backups diarios con la app andando.
Estado y resultado
En producción, en uso.
Stack
- Node.js
- Express
- SQLite
- Vite
- Google OAuth