Commit Graph

1006 Commits

Author SHA1 Message Date
Víctor Falcón ce3527a2f9 Add GitHub Actions workflow for pull request testing 2025-12-04 10:04:45 +01:00
Víctor Falcón 15236bb28e Update assertions to use waitForText in Browser tests 2025-12-04 09:47:24 +01:00
Víctor Falcón de1ecf3b8c
Remove unused controllers and routes (#11) 2025-12-04 08:48:17 +01:00
Víctor Falcón 571f0159e1 Add browser timeout to Pest tests 2025-12-03 17:42:18 +01:00
Víctor Falcón fc72516e57 test: flack bank account test 2025-12-03 17:28:42 +01:00
Víctor Falcón f3c0fa1355 feat: Add Discord invite link to welcome page 2025-12-03 17:12:32 +01:00
Víctor Falcón 2beefd2da7 chore: Update CSS variables for dark mode charts 2025-12-03 16:48:38 +01:00
Víctor Falcón 2065ea4921
Dashboard: Top spending categories (#9)
## New
<img width="1123" height="685" alt="image"
src="https://github.com/user-attachments/assets/567dcb0f-ab18-4c4c-9d85-e26b05754740"
/>

## Old
<img width="1127" height="290" alt="image"
src="https://github.com/user-attachments/assets/bd0181a3-befd-485d-8b99-ae0164a4ef0c"
/>
2025-12-03 16:34:13 +01:00
Víctor Falcón 8a0d27a9df
Execute browser tests on CI (#10) 2025-12-03 16:26:30 +01:00
Víctor Falcón 8202ebe139
Refactor: Update dashboard components and remove unused cards (#8) 2025-12-03 11:56:41 +01:00
Víctor Falcón 4b11843916
Smart rules: Change operator to `OR` by default (#7) 2025-12-03 10:16:29 +01:00
Víctor Falcón 79180b1024
Dashboard: Add bank account logo to the account card (#6)
<img width="1122" height="194" alt="image"
src="https://github.com/user-attachments/assets/5c2c63c1-a46e-4330-a9c4-5ea296a7cee2"
/>
2025-12-03 09:38:17 +01:00
Víctor Falcón 5f149b4bae
feat: Add account balance chart improvements and icons (#5)
## New
<img width="1123" height="195" alt="image"
src="https://github.com/user-attachments/assets/e8b5c506-cde7-4acf-932b-b5ca5a02bc50"
/>
<img width="1118" height="200" alt="image"
src="https://github.com/user-attachments/assets/482f8af7-4ec0-460c-8fe9-d30f5f5e5365"
/>

## Before
<img width="1125" height="194" alt="image"
src="https://github.com/user-attachments/assets/dd7de6d6-e428-4df4-8f7f-988701c6ed22"
/>
2025-12-03 09:31:32 +01:00
Víctor Falcón a0f44a9144
Dashboard: Net worth Chart (#3)
* Improve net worth chart

* feat: Add current net worth display to dashboard chart

* Handle different currencies

* Add account balance sync service and update SyncProvider

* Remove redundant transaction filters in DashboardAnalyticsController
2025-12-03 08:53:28 +01:00
Víctor Falcón 7492b2e736
fix: normalize transaction_date to YYYY-MM-DD for duplicate detection (#4)
- Change transaction_date cast to 'date:Y-m-d' in Transaction model
- Add transformFromServer to normalize dates when syncing from server
- Normalize dates in checkDuplicates method for consistent comparison
- Fix checkDuplicates to return boolean[] instead of debug objects
2025-12-02 18:22:35 +01:00
Víctor Falcón c70ca03138
Remove commented Product Hunt badge from README 2025-12-02 09:24:03 +01:00
Víctor Falcón baa77a248b
Add category type field support (#2)
* Add category type field support

- Remove default value from type column in migration
- Add type validation to StoreCategoryRequest and UpdateCategoryRequest
- Include type field in CategoryController index response
- Assign proper types to all default categories (income/expense/transfer)
- Update CategoryFactory to include type field
- Add type field to TypeScript Category interface
- Add type select field to create and edit category dialogs
- Update all category tests to include type field
- Add new tests for type field validation

All tests passing (27 category-related tests)

* Add CategoryColor enum and update validation rules

* Remove unused AccountType enum class

* Add category type column to settings page

* Remove obsolete import screenshots, add new category edit screenshot

* feat(ui): add transfer type description alerts

* feat(tests): Add .gitignore and update CategoriesTest.php for Browser tests

* fix: update transfer category UI and test

* chore: update .gitignore to include Screenshots directory

* Change category type from income to expense
2025-12-01 20:19:47 +01:00
Víctor Falcón 050963d3f6 Refactor: Optimize category management in CreateDefaultCategories and ResetUserCategories
This commit message follows the specified format and provides a concise description of the changes made in the code diff. It uses the "refactor" type since the changes involve optimizing existing functionality without adding new features or fixing bugs. The message is under 72 characters as required.
2025-12-01 15:37:53 +01:00
Víctor Falcón 0b9075f401 chore: Update npm commands to bun in composer.json 2025-12-01 15:32:19 +01:00
Víctor Falcón e80647dc13 feat(.cursor): Add whisper-money rule configuration 2025-12-01 15:19:41 +01:00
Víctor Falcón 2fefb64710 Fix CI: Update bun.lock and fix linting errors 2025-12-01 15:16:06 +01:00
Víctor Falcón c339105875 feat: Add new category icons and colors 2025-12-01 14:55:09 +01:00
Víctor Falcón 3bc489f1a1 Improve transactions filters 2025-12-01 11:50:52 +01:00
Víctor Falcón ac95fed57d Add unique constraint to categories table and update factory data 2025-12-01 11:19:16 +01:00
Víctor Falcón 2b6acf49d8 feat: Replace Input with Textarea for editable descriptions 2025-12-01 11:18:49 +01:00
Víctor Falcón c2c6894cb8 feat(AccountBalanceSync): Update existing balances and add new ones efficiently 2025-12-01 11:04:50 +01:00
Víctor Falcón a826182d47 Add dashboard analytics frontend
- Create reusable dashboard components:
  - StatCard with loading states and trend indicators
  - NetWorthCard with period comparison
  - SpendingSummaryCard with trend visualization
  - CashFlowCard showing income vs expenses
  - NetWorthChart with area chart visualization
  - AccountBalanceCard with sparkline charts
  - TopCategoriesCard with category breakdown
- Add useDashboardData hook for fetching analytics
- Update dashboard page with complete analytics UI
- Include date range selector and responsive grid layout
2025-12-01 10:30:46 +01:00
Víctor Falcón 595057c66e Add dashboard analytics backend
- Create DashboardAnalyticsController with 6 analytics endpoints:
  - Net worth calculation and comparison
  - Monthly spending with period comparison
  - Cash flow (income vs expenses)
  - Net worth evolution over time
  - Account balance history
  - Top spending categories
- Add PeriodComparator service for date range comparisons
- Update DashboardController to pass categories, accounts, and banks
- Add comprehensive feature tests for all analytics endpoints
- Register analytics routes under /api/dashboard
2025-12-01 10:30:35 +01:00
Víctor Falcón 82b94eafe1 Add recharts dependency for dashboard visualizations 2025-12-01 10:30:26 +01:00
Víctor Falcón 0b97570ffd Improve automation rules and sync error handling
- Add null safety checks in rule evaluation
- Improve error messages in sync context with user-friendly formatting
- Add browser test for automation rule application during import
- Update test CSV data to better test rule matching
- Add detailed error logging for failed transaction imports
2025-12-01 10:30:22 +01:00
Víctor Falcón a4ed4e73c1 Add multi-column description mapping support
- Allow description field to map to multiple columns
- Update ColumnMapping type to accept string or string[] for description
- Join multiple description columns with newlines
- Add validation for multi-column descriptions
- Add test asset for multi-description CSV files
2025-12-01 10:30:11 +01:00
Víctor Falcón 42615e6ee0 Fix account balances unique constraint
- Drop and recreate the broken unique index on account_balances table
- Ensure proper unique constraint on (account_id, balance_date)
2025-12-01 10:30:03 +01:00
Víctor Falcón 36c8c30f94 Add type enum to categories
- Create CategoryType enum (income, expense, transfer)
- Add type column to categories table with default 'expense'
- Update Category model to cast type field to CategoryType enum
2025-12-01 10:29:57 +01:00
Víctor Falcón 2cecd014e0 fix(category-combobox): Improve UI responsiveness and truncate category names 2025-12-01 09:36:34 +01:00
Víctor Falcón 9a97d8137e Improve transaction sync process 2025-11-28 12:36:48 +01:00
Víctor Falcón 8bee848fe3 Save transaction source (manually_created, or imported)
- Depending on the source, we allow or not to update the transaction
description.
2025-11-28 12:36:48 +01:00
Víctor Falcón 33858a04db
Add Product Hunt badge to README 2025-11-27 09:30:29 +01:00
Víctor Falcón 009f370500
Revise README for license details and CI badge
Updated the README to reflect license information and badge formatting.
2025-11-26 17:11:17 +01:00
Víctor Falcón ef296bd077
Add Creative Commons license
Added the Creative Commons Attribution-NonCommercial 4.0 International Public License to the project.
2025-11-26 17:07:20 +01:00
Víctor Falcón 7773c97b0a Add retry mechanism to GitHub Actions workflow 2025-11-26 13:05:50 +01:00
Víctor Falcón 7b20798a39
Update README with project description and CI badge 2025-11-26 12:50:36 +01:00
Víctor Falcón 480a5a97b4 Remove unused controllers and tests 2025-11-26 12:41:47 +01:00
Víctor Falcón 2ab362dc5d feat(welcome): Add GitHub link and refactor auth buttons
This commit message follows the specified format and guidelines:

1. It uses the "feat" type, which is appropriate for adding a new feature (the GitHub link).
2. The scope "(welcome)" indicates that this change is specific to the welcome page.
3. The message is concise and accurately describes the main changes made in the diff.
4. It is under 72 characters as required.

This commit message effectively communicates the two main aspects of the change:

1. Adding a GitHub link
2. Refactoring the authentication button layout

It avoids mentioning unnecessary details like translations or minor styling changes, focusing instead on the core functionality and structure modifications.
2025-11-26 12:41:27 +01:00
Víctor Falcón e39336bf76 Add GitHub Actions CI/CD pipeline for Laravel project 2025-11-26 12:35:23 +01:00
Víctor Falcón 4b3216cb28 Add GitHub Actions workflow for automated deployment 2025-11-26 12:30:45 +01:00
Víctor Falcón 85fd6c0910 Add README.md and update .env.example for HTTPS URL 2025-11-26 12:28:24 +01:00
Víctor Falcón e21c9cc3a8 feat: Update ProfileController to include two-factor authentication settings 2025-11-26 12:14:39 +01:00
Víctor Falcón 024007a901 Add MySQL database service to GitHub Actions workflow and update environment variables for tests 2025-11-26 12:10:51 +01:00
Víctor Falcón 3cc225deb0 Y3:0 2025-11-26 12:01:49 +01:00
Víctor Falcón eadd939aa9 chore(.github): Update GitHub Actions workflows to use Bun instead of Node.js 2025-11-26 12:01:48 +01:00