Saltar a contenido

Local End-To-End Setup

Este runbook levanta Finances de punta a punta en local: PostgreSQL, backend FastAPI y frontend Next.

Prerrequisitos

  • PostgreSQL accesible en localhost:5432.
  • uv instalado para backend Python.
  • Node.js y npm.

1. Preparar PostgreSQL Local

Crea usuario y base si todavía no existen:

CREATE ROLE finances_user WITH LOGIN PASSWORD 'tu_password_local';
CREATE DATABASE finances_db OWNER finances_user;

2. Configurar Y Levantar Backend

cd /home/desarrollo/software/timeliber-workspace/apps/finances/backend
cp .env.example .env

Variables mínimas:

FINANCES_DATABASE_URL=postgresql+asyncpg://finances_user:tu_password_local@localhost:5432/finances_db
FINANCES_JWT_SECRET=un_secreto_local_largo
FINANCES_PUBLIC_URL=http://localhost:5000
FINANCES_EMAIL_FROM="FinTrack TimeLiber <noreply@timeliber.com.co>"
FINANCES_CORS_ORIGINS=["http://localhost:5000"]
FINANCES_ALLOWED_HOSTS=["localhost","127.0.0.1"]
FINANCES_ENVIRONMENT=local

Luego:

uv sync
uv run alembic upgrade head
uv run uvicorn app.main:app --reload --host 0.0.0.0 --port 8010

3. Configurar Y Levantar Frontend

cd /home/desarrollo/software/timeliber-workspace/apps/finances/frontend
npm install

Archivo .env.local:

FINANCES_BACKEND_URL=http://localhost:8010
NEXT_PUBLIC_FINANCES_API_BASE_PATH=/api/backend

Luego:

npm run dev

4. URLs Locales

  • Frontend: http://localhost:5000
  • Backend health: http://localhost:8010/health
  • Backend Swagger: http://localhost:8010/docs

5. Primer Flujo Manual

  1. Abre http://localhost:5000/register.
  2. Registra un perfil financiero.
  3. Entra por http://localhost:5000/login.
  4. Crea una cuenta o banco.
  5. Registra un ingreso o gasto.
  6. Consulta Hoy, Movimientos, Crédito, Calendario y Plan.

Referencias Relacionadas