1
0
Fork 0
mirror of https://github.com/maybe-finance/maybe.git synced 2025-07-25 08:09:38 +02:00
Commit graph

63 commits

Author SHA1 Message Date
Zach Gollwitzer
c46662c99f
Add apply button, improve transaction filters (#655)
* Add apply button, improve transaction filters

* Remove temp log

* Fix lint errors
2024-04-19 12:03:16 -04:00
Zach Gollwitzer
f5f624881f
Add placeholders for dashboard features (#642)
* Add placeholders for new dashboard

* Fix tests and lint errors
2024-04-18 10:32:36 -04:00
Harshit Chaudhary
39d57a167e
Fixed Data Access Restriction (#636)
Co-authored-by: Harshit Chaudhary <harshit.chaudhary@procol.in>
2024-04-16 15:58:53 -04:00
Jose Farias
cd8d741fe1
Add transaction modal flow (#633)
* Add transaction modal flow

* Preserve decimals when creating transactions
2024-04-16 14:44:31 -04:00
Zach Gollwitzer
5aca2ff9b6
Add zero-config self hosting on Render (#612)
* v1 of backend implementation for self hosting

* Add docs

* Add upgrades controller

* Add global helpers for self hosting mode

* Add self host settings controller

* Conditionally show self hosting settings

* Environment and config updates

* Complete upgrade prompting flow

* Update config for forked repo

* Move configuration of github provider within class

* Add upgrades cron

* Update deploy button

* Update guides

* Fix render deployer

* Typo

* Enable auto upgrades

* Fix cron

* Make upgrade modes more clear and consistent

* Trigger new available version

* Fix logic for displaying upgrade prompts

* Finish implementation

* Fix regression

* Trigger new version

* Add i18n translations

* trigger new version

* reduce caching time for testing

* Decrease cache for testing

* trigger upgrade

* trigger upgrade

* Only trigger deploy once

* trigger upgrade

* If target is commit, always upgrade if any upgrade is available

* trigger upgrade

* trigger upgrade

* Test release

* Change back to maybe repo for defaults

* Fix lint errors

* Clearer naming

* Fix relative link

* Add abs path

* Relative link

* Update docs
2024-04-13 09:28:45 -04:00
Zach Gollwitzer
d29d465a3c
Basic transaction categories CRUD actions (inline) (#601)
* Fix dropdown issues and add dummy transaction category modal

* Minor namings tweaks

* Add search type

* Use new menu controller

* Complete basic transaction category inline CRUD actions

* Fix lint error

---------

Co-authored-by: Jakub Kottnauer <jk@jakubkottnauer.com>
2024-04-04 17:29:50 -04:00
Mattia
315c4bf1ec
Account Sync should happen at login, 1x per day, OR on-demand (#594)
* Add last_sync_date to accounts table

* Always sync Account after Valuation or Transaction creation, update, or deletion.

Skip sync if user clicks "sync" button without changing anything

* Sync user accounts daily based on last_login_at
2024-04-04 17:00:12 -04:00
Thibaut Gorioux
b3c48d13e7
Filter transactions by category (#581)
* Add transaction filtering by category

* Link label to checkbox

* Keep the dropdown open when clicked to allow tab change

* Show the badge with color and name when filter is applied

* Reduce color height
2024-04-02 12:17:26 -04:00
Mattia
f6540c03ef
Add ability to delete Account (#582)
* Add ability to delete Account

Issue #571

* Fix ActiveJob::DeserializationError in AccountSyncJob when an account doesn't exists

* Use custom confirm modal for account deletion

* Revert "Fix ActiveJob::DeserializationError in AccountSyncJob when an account doesn't exists"

This reverts commit 8dbf634819.
2024-03-31 17:36:54 -04:00
Zach Gollwitzer
b1bfdef8ff
Isolate infinite loop bug, add timeout to actions (#583)
* Isolate infinite loop bug, add timeout to actions

* Increase timeout to allow for temporary failure

* Set correct timeout, implement temporary fix

* Trigger syncs at controller layer
2024-03-29 12:53:08 -04:00
Zach Gollwitzer
f0c2d4ead0
Implement transaction filtering UI (#578)
* Rough sketch of implementation

* Consolidate auto submit controller

* Store ransack params in session

* Improve how summary is calculated for txns

* Implement filters UI
2024-03-28 13:23:54 -04:00
Jose Farias
7ae25dd6df
Implement Synth as an exchange rate provider (#574)
* Implement Synth as an exchange rate provider

* Add assertions to provider interface test

* Assert the correct provider error is raised

* Remove unnecessary parens
2024-03-27 11:16:00 -04:00
Zach Gollwitzer
110855d077
Multi-Currency Part 2 (#543)
* Support all currencies, handle outside DB

* Remove currencies from seed

* Fix account balance namespace

* Set default currency on authentication

* Cache currency instances

* Implement multi-currency syncs with tests

* Series fallback, passing tests

* Fix conflicts

* Make value group concrete class that works with currency values

* Fix migration conflict

* Update tests to expect multi-currency results

* Update account list to use group method

* Namespace updates

* Fetch unknown exchange rates from API

* Fix date range bug

* Ensure demo data works without external API

* Enforce cascades only at DB level
2024-03-21 13:39:10 -04:00
Josh Brown
c7b336de45
Fix ZeroDivisionError (#557) 2024-03-20 13:14:08 -04:00
Juan B. Rodriguez
49d1fe0e11
feat: add crypto account type to demo data (#555)
* feat: add crypto account type to demo data

* fix: set currency to BTC, revert schema migration change and fix tests

* fix: update dates in time_series tests
2024-03-19 15:34:35 -04:00
Zach Gollwitzer
f904d9d062
Add the ability to "rollup" values in a time series (#554)
* Clean up time series models

* Add value group rollup class for summarizing hierarchical data

* Integrate new classes

* Update UI to use new patterns

* Update D3 charts to expect new data format

* Clean up account model

* More cleanup

* Money improvements

* Use new money fields

* Remove invalid fixture data to avoid orphaned accountables

* Update time series to work better with collections

* Fix tests and UI bugs
2024-03-19 09:10:40 -04:00
Zach Gollwitzer
fe2fa0eac1
Multi-currency support: Money + Currency class improvements (#553)
* Money improvements

* Replace all old money usage
2024-03-18 11:21:00 -04:00
Dave Corson-Knowles
e5750d1a13
Add presence validations for required fields (#545)
* Adds basic validations for required fields

Also deletes a few extraneous .keep files

Does not add the family_id required field for user, since that breaks the basic test setup

* Restore keep files to this branch

* Remove Credit model and validate models behind ids

* Restore concerns .keep
2024-03-15 15:21:59 -04:00
Ryan Taber
a4c97a9d52
Removes unused model and routes (#546) 2024-03-15 12:20:54 -04:00
Jakub Kottnauer
2c257a2a4b
Add inline category selection (#541)
* Implement inline category selection

* Add turbo frame to refresh updated transaction

* Improve styles

* Fix category assignment

* Reorganize code

* Revert event propagation

* Remove unused frames

* Make only the transaction name clickable

* Add custom scrollbar class
2024-03-14 10:30:36 -04:00
Zach Gollwitzer
c60ddaec1d
Multi-currency part 1 (#542)
* Add family snapshots table

* Add snapshot method, clean up family expected results

* Remove old sync trigger
2024-03-11 16:32:13 -04:00
Ciocanel Razvan
cca779d3c4
Feat transactions search (#532)
* gem: Add ransack gem

* feat: Implement transactions search
2024-03-11 08:51:16 -04:00
Zach Gollwitzer
ed89ad522d
Add multi currency demo accounts (#530) 2024-03-07 17:46:36 -05:00
Jakub Kottnauer
90d0cc0c39
Add backend support for transaction categories (#524)
* Add backend support for transaction categories

* Fix tests

* Localize default category names

* Add tests

* Remove category icon and set default color
2024-03-07 13:15:50 -05:00
Zach Gollwitzer
ad7136cb63
Add accounts management list (#522)
* Add accounts management

* Normalize i18n file

* Get turbo streams working

* Ignore disabled accounts in calculations

* Add empty state
2024-03-07 10:55:51 -05:00
Zach Gollwitzer
6f0e410684
Dashboard View and Calculations (#521)
* Handle Turbo updates with tabs

Fixes #491

* Add Filterable concern for controllers

* Add trendline chart

* Extract common UI to partials

* Series refactor

* Put placeholders for calculations in

* Add classification generated column to account

* Add basic net worth calculation

* Add net worth tests

* Get net worth graph working

* Fix lint errors

* Implement asset grouping query

* Make trends and series more intuitive

* Fully functional dashboard

* Remove logging
2024-03-06 09:56:59 -05:00
Dave Corson-Knowles
9c08721e9c
Add angel investment type to Investment (#519) 2024-03-06 08:14:25 -05:00
Zach Gollwitzer
facd74f733
Net worth calculation (#508)
* Add classification generated column to account

* Add basic net worth calculation

* Add net worth tests

* Fix lint errors
2024-03-04 08:31:22 -05:00
Zach Gollwitzer
0fe9b6d34a
Add Money and Money Series (#505)
* Add Money class

* Standardize creation of money series

* Formatting

* Fix test
2024-03-01 17:17:34 -05:00
Zach Gollwitzer
14641d16de
Add Local Development Demo Data (#502)
* Clean up seeds, add development demo data

* Handle liability account display and sync

* Fix tests
2024-02-29 16:35:54 -05:00
Zach Gollwitzer
dbf575c02a
Basic Account Balance Sync Algorithm (#501)
* Sketch out sync interface

* Add basic account sync algorithm

* Update logic for final balance in series

* Remove start_date concept

* Clean up tests

* Improve clarity of test

* Update app/models/account.rb

Co-authored-by: Rob Zolkos <rob@zolkos.com>
Signed-off-by: Zach Gollwitzer <zach.gollwitzer@gmail.com>

* Update app/models/transaction.rb

Co-authored-by: Rob Zolkos <rob@zolkos.com>
Signed-off-by: Zach Gollwitzer <zach.gollwitzer@gmail.com>

* Update app/models/valuation.rb

Co-authored-by: Rob Zolkos <rob@zolkos.com>
Signed-off-by: Zach Gollwitzer <zach.gollwitzer@gmail.com>

* Re-organize code, simplify job interface

* Consolidate balance calculations

* More cleanup

---------

Signed-off-by: Zach Gollwitzer <zach.gollwitzer@gmail.com>
Co-authored-by: Rob Zolkos <rob@zolkos.com>
2024-02-29 08:32:52 -05:00
Zach Gollwitzer
7d48c01833
Prepare fixture data for account sync tests (#493)
* Rename account balance field for clarity

`original_balance` and `original_currency` may infer that these values are "original" to the account.  In reality, they represent the "current" balance and currency on the account.

* Prepare fixture data for account sync testing

* Update to new field

* Fix conflicts

* Remove local schema change
2024-02-27 12:43:49 -05:00
Sriram
1968fb0145
Add currency to account form to support multiple currencies (#481)
Co-authored-by: Sriram Krishnan <sriram@seafoodsouq.com>
Co-authored-by: Zach Gollwitzer <zach.gollwitzer@gmail.com>
2024-02-26 09:50:38 -05:00
Zach Gollwitzer
87b97b3c41
Scaffold out basic transactions model and UI (#478)
* Transaction scaffold

* Rough in transaction views

* Fix sort order

* Fix mass assignment issue

* Fix test

* Simplify CI workflow

* Don't seed db before test
2024-02-23 21:34:33 -05:00
Josh Brown
e767aca37f
Refresh account on update (#476)
* Refresh account on update

* 🐛 Replace turbo frame on create valuation

This avoids the frame reloading it's src when refreshing.

* Change Action Cable adapater to Postgres
2024-02-23 20:18:30 -06:00
Zach Gollwitzer
7e324f1b53
Scaffold out Account Syncing (#474)
* Add trends, time series, seed data

* Remove test data

* Replace old view values with helpers

* Fix tooltip bugs in D3 chart

* Fix tests

* Fix smoke test

* Add CRUD actions for valuations

* Scaffold out inline editing with Turbo

* Refactor series logic

* Scaffold out basic sync process for accounts

* Fix tests
2024-02-22 11:35:06 -05:00
Zach Gollwitzer
b5b2d335fd
Add Live Data to Account Page (#464)
* Add trends, time series, seed data

* Remove test data

* Replace old view values with helpers

* Fix tooltip bugs in D3 chart

* Fix tests

* Fix smoke test

* Add CRUD actions for valuations

* Scaffold out inline editing with Turbo
2024-02-20 09:07:55 -05:00
Zach Gollwitzer
3ec9c9b56b
Scaffold out the UI for individual account page (#461)
* Add `AccountBalance` table for account views

* Scaffold out account UI

* Add D3 line chart scaffolding

* Style fixes
2024-02-14 13:02:11 -05:00
Josh Pigford
aa351ae616
Multi-currency support (#425)
* Initial foundational pass at multi-currency

* Default format currency

* More work on currency and exchanging

* Re-build currencies on change

* Currency import/setup

* Background job overhaul + cheaper OXR plan support

* Lint fixes

* Test fixes

* Multi-currency setup instructions

* Allow decimals in the balance field

* Spacing fix for form

---------

Signed-off-by: Josh Pigford <josh@joshpigford.com>
2024-02-10 16:18:56 -06:00
Josh Brown
f8174990ca
Fix accountable type references in new account flow (#395)
* Fix accountable type references in new account flow

* Add remaining references

* Refactor accountable type checking

* Refactor new account template to use account

* Refactor account create action

* Refactor account sidebar
2024-02-09 08:26:54 -06:00
Jesper Christiansen
db478e5fbd
Add Account type investment form (#343)
* Add Account type investment form

* Move subtypes to Account::Investment

* Linting
2024-02-06 19:45:17 -06:00
Ricardo Siqueira de Oliveira Leite
c8a659694d
Start I18n Internationalization setup (#276)
* start internationalization_setup

* add passwords views translations

* add account views translations

* fix translations

* temporary disable i18n used key
2024-02-06 11:58:17 -06:00
Nidhi Sarvaiya
1182ab39bd
Integrate money-rails gem (#268)
* Integrate money-rails gem

* Fix Lint issues

* Basic test for monetize feature

* Merge main branch

* Changes to monetize balance field

---------

Co-authored-by: Zach Gollwitzer <zach.gollwitzer@gmail.com>
2024-02-06 12:30:51 -05:00
Edrick Leong
622fc07a76
feat: add settings page (#274)
* feat: add settings page

* feat: add updating family name

* fix: formatting

* refactor: update to use Rails label helper
2024-02-05 08:19:23 -06:00
Dwight Watson
d61a22b070
Opt-in to Current fully (#297) 2024-02-04 17:36:46 -06:00
Rob Zolkos
a2b96db75d
Remove styling configuration for account types out (#284)
* Remve styling configuration for account types out

* No need to tailwind config for models
2024-02-03 14:38:52 -06:00
Rob Zolkos
48ade396ca Fix account creation 2024-02-03 02:50:09 +00:00
Rob Zolkos
ace7fb48ee Fix spellling 2024-02-03 02:49:48 +00:00
Rob Zolkos
ecfb178b87 Remove duplication 2024-02-03 02:49:25 +00:00
Rob Zolkos
129daa6a11 Add option to association 2024-02-03 02:49:23 +00:00