How jsamaniego-umbraltech/manejo-gasto works
Manejo de Gastos is a household-finance web app: users sign in, choose or create a household, then manage expenses, income, recurring bills, cards, vehicles, reports, and household members. The browser routes users to feature screens; shared query and API clients communicate with FastAPI, whose routers enforce session, household, and role checks before operating on PostgreSQL. Separate capabilities include Google login, invitations, audit history, platform administration, and scheduled email notices. The graph follows explicit imports, routing, and documented behavior; several feature-router internals were not sampled, so their downstream links are omitted.
Main entry points: main.py API application · models.py Domain models · avisos.py Email notices · auth.py Login routes
Components 25
Web application
- Routes and shell
frontend/src/main.tsx - Finance screens
frontend/src/pages/Quincena.tsx - Admin screen
frontend/src/pages/Admin.tsx - Shared queries
frontend/src/api/consultas.ts - Typed API client
frontend/src/api/client.ts
API and access
- Login routes
backend/app/routers/auth.py - Household routes
backend/app/routers/hogar.py - Session and access
backend/app/seguridad.py - API application
backend/app/main.py - Auth service
backend/app/services/auth.py
Household finance
- Domain models
backend/app/models.py - PostgreSQL
backend/app/db.py - Payments and income
backend/app/routers/pago.py - Household setup
backend/app/routers/categoria.py - Vehicles and fuel
backend/app/routers/vehiculo.py - Cards
backend/app/routers/tarjeta.py - Reports
backend/app/services/reportes.py
Platform services
- Invitations
backend/app/routers/invitacion.py - Audit history
backend/app/routers/bitacora.py - Email notices
backend/app/services/avisos.py - Mail delivery
backend/app/services/correo.py - Email templates
backend/app/services/plantillas.py - Runtime settings
backend/app/config.py - Date calculations
backend/app/services/fechas.py
Other components
- Household user
Connections 33
- Household user → Routes and shell: uses
frontend/src/main.tsx - Routes and shell → Finance screens: routes to
frontend/src/main.tsx - Routes and shell → Admin screen: routes to
frontend/src/main.tsx - Finance screens → Shared queries: loads data
frontend/src/api/consultas.ts - Shared queries → Typed API client: calls
frontend/src/api/consultas.ts - Typed API client → API application: HTTP requests
- API application → Login routes: mounts
backend/app/main.py - API application → Household routes: mounts
backend/app/main.py - API application → Payments and income: mounts
backend/app/main.py - API application → Household setup: mounts
backend/app/main.py - API application → Vehicles and fuel: mounts
backend/app/main.py - API application → Cards: mounts
backend/app/main.py - API application → Reports: mounts
backend/app/main.py - API application → Invitations: mounts
backend/app/main.py - API application → Audit history: mounts
backend/app/main.py - Login routes → Auth service: calls
backend/app/routers/auth.py - Login routes → Session and access: uses
backend/app/routers/auth.py - Session and access → Auth service: validates sessions
backend/app/seguridad.py - Login routes → PostgreSQL: queries
backend/app/routers/auth.py - Household routes → Domain models: queries
backend/app/routers/hogar.py - Payments and income → Domain models: reads and writes
backend/app/routers/pago.py - Payments and income → Session and access: checks permissions
backend/app/main.py - Household setup → Domain models: queries
- Vehicles and fuel → Domain models: queries
- Cards → Domain models: queries
- Reports → Domain models: queries
backend/app/services/reportes.py - PostgreSQL → Runtime settings: reads settings
backend/app/db.py - Invitations → Email templates: renders
backend/app/routers/invitacion.py - Invitations → Mail delivery: sends email
backend/app/routers/invitacion.py - Email notices → Mail delivery: sends email
backend/app/services/avisos.py - Email notices → Email templates: renders
backend/app/services/avisos.py - Email notices → Date calculations: calculates dates
backend/app/services/avisos.py - Email notices → Runtime settings: reads settings
backend/app/services/avisos.py