How likhithapuli06/finora-expense-tracker works
Finora is a personal expense tracker: users manage transactions and review spending in a responsive dashboard. The principal workflow runs from the browser interface through the REST API and layered Spring backend to persistent storage; documented capabilities also include budgets and profile management. Frontend excerpts show expense loading and submission, while several backend implementations were not sampled, so their internal calls are represented only where the README documents the layer sequence.
Main entry points: script.js Expense interface · ExpenseService.java Expense service · ExpenseController.java Expense endpoints · BudgetController.java Budget endpoints
Components 16
Web experience
- Expense interface
frontend/script.js - Dashboard analytics
frontend/script.js - Search and filters
frontend/script.js - CSV export
script.js
REST API
- Expense endpoints
backend/src/main/java/com/example/expensetracker/controller/ExpenseController.java - Budget endpoints
backend/src/main/java/com/example/expensetracker/controller/BudgetController.java - Profile endpoints
backend/src/main/java/com/example/expensetracker/controller/ProfileController.java
Expense domain
- Expense service
backend/src/main/java/com/example/expensetracker/service/ExpenseService.java - Expense records
backend/src/main/java/com/example/expensetracker/model/Expense.java - Budget records
backend/src/main/java/com/example/expensetracker/model/Budget.java - Profile records
backend/src/main/java/com/example/expensetracker/model/Profile.java
Persistence
- Expense repository
backend/src/main/java/com/example/expensetracker/repository/ExpenseRepository.java - Budget repository
backend/src/main/java/com/example/expensetracker/repository/BudgetRepository.java - Profile repository
backend/src/main/java/com/example/expensetracker/repository/ProfileRepository.java - MySQL database
Other components
- User
Connections 14
- User → Expense interface: uses
README.md - Expense interface → Expense endpoints: requests expenses
frontend/script.js - Expense interface → Budget endpoints: loads budget
frontend/script.js - Expense interface → Profile endpoints: updates profile
- Expense interface → Dashboard analytics: renders summaries
frontend/script.js - Expense interface → Search and filters: filters transactions
frontend/script.js - User → CSV export: exports transactions
script.js - Expense endpoints → Expense service: delegates to
README.md - Budget endpoints → Expense service: delegates to
- Profile endpoints → Expense service: delegates to
- Expense service → Expense repository: uses repository
README.md - Expense repository → MySQL database: persists records
README.md - Budget repository → MySQL database: persists budgets
- Profile repository → MySQL database: persists profiles