How mad-dcoder/financas.api works
Financas is a personal-finance web app backed by a .NET REST API and PostgreSQL. A signed-in user manages transactions and cards through the dashboard: React loads finance data, derives dashboard summaries and charts, and sends changes through Axios to API endpoints that persist them. Other major capabilities include JWT login, category management, financial limits/goals, and profile/settings pages. The graph follows documented routes and sampled calls; unsampled UI and API wiring is represented only where the README supports it.
Main entry points: axios.js Axios API client · AppDbContext.cs Entity Framework context · Dashboard.jsx Dashboard view · Login.jsx Login and session
Components 20
React application
- Routes and layout
Front-End/src/App.jsx - Login and session
Front-End/src/pages/Login.jsx - JWT session state
Front-End/src/contexts/AuthContext.jsx - Axios API client
Front-End/src/api/axios.js - Shared finance state
Front-End/src/contexts/FinanceiroContext.jsx - Dashboard view
Front-End/src/pages/Dashboard.jsx - Dashboard calculations
Front-End/src/hooks/useDashboard.js - Transaction entry and history
Front-End/src/components/TransactionForm.jsx - Category and spending charts
Front-End/src/components/DonutChart.jsx - Category management
Front-End/src/pages/GerenciarCategorias.jsx - Limits and goals
Front-End/src/pages/LimitesMetas.jsx - Profile and preferences
Front-End/src/pages/MeusDados.jsx
REST API
- User and JWT endpoints
Financas.API/Controllers/UsuariosController.cs - Transaction endpoints
Financas.API/Controllers/TransacoesController.cs - Category endpoints
Financas.API/Controllers/CategoriasController.cs - Card endpoints
Financas.API/Controllers/CartoesController.cs - Account endpoints
Financas.API/Controllers/ContasController.cs
Finance data
- Entity Framework context
Financas.API/Data/AppDbContext.cs - PostgreSQL database
Other components
- User
Connections 27
- User → Routes and layout: uses
- Routes and layout → Dashboard view: routes to
Front-End/src/App.jsx - Routes and layout → Login and session: routes to
Front-End/src/App.jsx - User → Login and session: signs in
- Login and session → Axios API client: sends requests
Front-End/src/pages/Login.jsx - Login and session → JWT session state: sets session
- JWT session state → Axios API client: sets bearer token
Front-End/src/contexts/AuthContext.jsx - Dashboard view → Dashboard calculations: uses
Front-End/src/pages/Dashboard.jsx - Dashboard calculations → Shared finance state: reads state
Front-End/src/hooks/useDashboard.js - Dashboard calculations → Axios API client: requests updates
Front-End/src/hooks/useDashboard.js - Shared finance state → Axios API client: loads finance data
Front-End/src/contexts/FinanceiroContext.jsx - Dashboard view → Transaction entry and history: renders
Front-End/src/pages/Dashboard.jsx - Dashboard view → Category and spending charts: renders
Front-End/src/pages/Dashboard.jsx - Category management → Axios API client: uses API service
Front-End/src/pages/GerenciarCategorias.jsx - Limits and goals → Axios API client: requests data
Front-End/src/pages/LimitesMetas.jsx - Profile and preferences → Axios API client: requests data
Front-End/src/pages/MeusDados.jsx - Axios API client → User and JWT endpoints: HTTP requests
- Axios API client → Transaction endpoints: HTTP requests
- Axios API client → Category endpoints: HTTP requests
- Axios API client → Card endpoints: HTTP requests
- Axios API client → Account endpoints: HTTP requests
- User and JWT endpoints → Entity Framework context: reads and writes
Financas.API/Controllers/UsuariosController.cs - Transaction endpoints → Entity Framework context: reads and writes
Financas.API/Controllers/TransacoesController.cs - Category endpoints → Entity Framework context: reads and writes
Financas.API/Controllers/CategoriasController.cs - Card endpoints → Entity Framework context: reads and writes
Financas.API/Controllers/CartoesController.cs - Account endpoints → Entity Framework context: reads and writes
Financas.API/Controllers/ContasController.cs - Entity Framework context → PostgreSQL database: persists through EF