Frela
Contabilidad y facturación para autónomos: horas, facturas y gastos, con la lógica en la API.
- Tipo
- Web
- Año
- Categorías

Sobre el proyecto
Frela es una aplicación de contabilidad y facturación para autónomos en España, para web y Android: clientes, proyectos, horas, facturas y gastos deducibles en un mismo sitio.
Objetivo. Que un autónomo lleve sus horas, facture sin errores y sepa qué gastos puede deducir, sin hojas de cálculo. Para que web y Android nunca den resultados distintos, sigue una regla clara: la API decide y la app dibuja. Toda la lógica, la seguridad y los cálculos viven en la API; la app solo muestra lo que recibe.

Qué hace.
- Perfil fiscal y marcas opcionales, cada una con su propia identidad en las facturas.
- Clientes, personas o empresas, con sus contactos.
- Proyectos por horas o a precio cerrado, con credenciales cifradas y repositorios enlazados.
- Registro de horas con temporizador en vivo, entradas a mano y un calendario mensual.
- Facturas de borrador a emitida y pagada, con numeración configurable y un PDF con la marca, copiado a Google Drive.
- Gastos deducibles con sus categorías, sus reglas de IVA y deducibilidad, y sus justificantes.
- Resumen de lo facturable, lo cobrado y las horas del año, en español e inglés y con tema claro y oscuro.
Seguridad y privacidad. Contraseñas con Argon2id, un token de acceso de vida corta y un token de refresco que rota y se guarda con hash. El inicio de sesión y el registro tienen límite de intentos y responden igual exista o no la cuenta. Cada petición pasa por una validación que descarta los campos no previstos, con Helmet y una lista cerrada de orígenes para CORS. Los tokens de GitHub y Drive y las credenciales de los proyectos se cifran con AES-256-GCM, los SVG subidos se sanean, y cada usuario puede exportar sus datos o borrar su cuenta, como pide el RGPD.
Arquitectura y calidad. API en NestJS con Prisma y PostgreSQL: 16 modelos, 43 migraciones y unas 140 rutas documentadas con OpenAPI. App en Flutter para web y Android con Riverpod, Dio y go_router. 36 archivos de tests en la API y 27 en la app, y despliegue con Docker y GitHub Actions.
Estado. Desplegada; las notificaciones están pendientes.




