How jricardoss/minha_carteira works
Minha Carteira is a personal-finance app: users register or sign in, manage income and expense transactions, and review filtered lists and dashboard summaries. The React client routes users through authentication and protected finance pages; its API client sends requests to an Express backend, which handles authentication and transaction operations against SQLite. Dashboard charts and summary widgets are distinct presentation capabilities. The excerpts establish frontend calls and backend persistence, but do not show the client/server runtime wiring end to end; that link is marked unverified.
Main entry points: api.js API client · App.routes.tsx Route selection · PrivateRoute.tsx Private routes · index.tsx Dashboard
Components 18
Web client
- App shell
frontend/src/App.tsx - Route selection
frontend/src/Routes/App.routes.tsx - Private routes
frontend/src/Routes/PrivateRoute.tsx - Login
frontend/src/pages/Login/index.tsx - Registration
frontend/src/pages/Register/index.tsx - Auth state
frontend/src/Hooks/auth.tsx - API client
frontend/src/services/api.js
Finance features
- Dashboard
frontend/src/pages/Dashboard/index.tsx - Finance charts
frontend/src/components/HistoryBox/index.tsx - Wallet summary
frontend/src/components/WalletBox/index.tsx - Transaction list
frontend/src/pages/List/index.tsx - Add transaction
frontend/src/components/AddTransaction/index.tsx - Expense repository
frontend/src/repositories/expenses.ts - Income repository
frontend/src/repositories/gains.ts
API and storage
- Express API
backend/server.js - SQLite database
backend/database.js
Other components
- User
- Google identity
Connections 21
- User → Login: signs in
frontend/src/pages/Login/index.tsx - User → Registration: creates account
frontend/src/pages/Register/index.tsx - App shell → Auth state: provides auth
frontend/src/App.tsx - App shell → Route selection: renders routes
frontend/src/App.tsx - Route selection → Login: routes to
frontend/src/Routes/App.routes.tsx - Route selection → Registration: routes to
frontend/src/Routes/App.routes.tsx - Route selection → Private routes: protects pages
frontend/src/Routes/App.routes.tsx - Private routes → Auth state: checks session
frontend/src/Routes/PrivateRoute.tsx - Login → Auth state: calls login
frontend/src/pages/Login/index.tsx - Login → Google identity: obtains credential
- Auth state → API client: sends auth requests
frontend/src/Hooks/auth.tsx - Registration → API client: posts registration
frontend/src/pages/Register/index.tsx - API client → Express API: calls HTTP API
- Express API → SQLite database: queries and writes
backend/server.js - Private routes → Dashboard: routes to
frontend/src/Routes/App.routes.tsx - Private routes → Transaction list: routes to
frontend/src/Routes/App.routes.tsx - Dashboard → API client: fetches transactions
frontend/src/pages/Dashboard/index.tsx - Dashboard → Wallet summary: renders summaries
frontend/src/pages/Dashboard/index.tsx - Dashboard → Finance charts: renders history
frontend/src/pages/Dashboard/index.tsx - Transaction list → API client: loads and edits
frontend/src/pages/List/index.tsx - Add transaction → API client: submits transaction
frontend/src/components/AddTransaction/index.tsx