Skip to content

herwingx/finward

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

76 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Finward

App de finanzas personales B2C. Clean Architecture, Supabase, Ledger de doble partida.

Estructura

finward/
├── backend/    # API REST con Prisma 7, Supabase Auth, Ledger
└── frontend/   # React + Vite, proxy /api → backend:4000

Inicio rápido (desarrollo local)

./dev.sh setup       # 1. Primera vez: .env, npm install, prisma generate
# Editar backend/.env con Supabase (SUPABASE_*, DATABASE_URL, DIRECT_URL). Si el dominio no resuelve en local: USE_DIRECT_URL=true
./dev.sh db:push     # 2. Aplicar schema
./dev.sh setup-dev   # 3. Usuario demo + seed + RLS
./dev.sh start       # 4. Backend (4000) + Frontend (3000) con logs prefijados

Si ves Cannot find module '.prisma/client/default': ejecuta ./dev.sh generate antes de ./dev.sh start.

Credenciales demo: demo@finward.dev / DemoFinward123!

Ver backend/docs/DEVELOPMENT.md para el flujo completo.

Docker (self-hosted)

cp backend/.env.example backend/.env   # Editar con Supabase, DATABASE_URL, etc.
cp .env.docker.example .env            # VITE_SUPABASE_* requeridos para login
./deploy.sh start

App en http://localhost. Ver ./deploy.sh (sin args muestra ayuda): start, stop, update, db:push, logs, etc.

Docs

rls-policies.sql

Políticas de Row Level Security (RLS) para Supabase Postgres. RLS filtra filas por usuario a nivel BD. Ejecutar en Supabase SQL Editor después de prisma db push. Ver backend/docs/RLS.md para más detalles.

Prisma

  • Inicial: prisma db push (usa DIRECT_URL)
  • Tailscale: DIRECT_URL con 192.168.100.109:5433 (evita conflicto pooler en 5432)
  • Desarrollo local: Si el dominio (DATABASE_URL) no resuelve, añade USE_DIRECT_URL=true en .env para usar DIRECT_URL (IP Tailscale) en la app

About

B2C personal finance app with Clean Architecture, Supabase, double-entry ledger, React + Vite

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors