1
0
Fork 0
mirror of https://github.com/maybe-finance/maybe.git synced 2025-08-05 05:25:24 +02:00

New Design System + Codebase Refresh (#1823)

Since the very first 0.1.0-alpha.1 release, we've been moving quickly to add new features to the Maybe app. In doing so, some parts of the codebase have become outdated, unnecessary, or overly-complex as a natural result of this feature prioritization.

Now that "core" Maybe is complete, we're moving into a second phase of development where we'll be working hard to improve the accuracy of existing features and build additional features on top of "core". This PR is a quick overhaul of the existing codebase aimed to:

- Establish the brand new and simplified dashboard view (pictured above)
- Establish and move towards the conventions introduced in Cursor rules and project design overview #1788
- Consolidate layouts and improve the performance of layout queries
- Organize the core models of the Maybe domain (i.e. Account::Entry, Account::Transaction, etc.) and break out specific traits of each model into dedicated concerns for better readability
- Remove stale / dead code from codebase
- Remove overly complex code paths in favor of simpler ones
This commit is contained in:
Zach Gollwitzer 2025-02-21 11:57:59 -05:00 committed by GitHub
parent 8539ac7dec
commit d75be2282b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
278 changed files with 3428 additions and 4354 deletions

View file

@ -1,13 +1,13 @@
---
en:
activerecord:
attributes:
import:
currency: Currency
number_format: Number Format
errors:
models:
import:
attributes:
raw_file_str:
invalid_csv_format: is not a valid CSV format
attributes:
import:
currency: Currency
number_format: Number Format

View file

@ -3,7 +3,7 @@ en:
activemodel:
errors:
models:
time_series/trend:
trend:
attributes:
current:
must_be_of_the_same_type_as_previous: must be of the same type as previous

View file

@ -21,13 +21,6 @@ en:
sell: Sell
symbol_label: Symbol
total_return_label: Unrealized gain/loss
index:
amount: Amount
new: New transaction
no_trades: No transactions for this account yet.
trade: transaction
trades: Transactions
type: Type
new:
title: New transaction
show:

View file

@ -31,11 +31,6 @@ en:
income: Income
submit: Add transaction
transfer: Transfer
index:
new: New transaction
no_transactions: No transactions for this account yet.
transaction: transaction
transactions: Transactions
new:
new_transaction: New transaction
show:

View file

@ -4,8 +4,6 @@ en:
account:
has_issues: Issue detected.
troubleshoot: Troubleshoot
account_list:
new_account: New %{type}
chart:
no_change: no change
create:
@ -60,18 +58,6 @@ en:
edit: Edit
import: Import transactions
manage: Manage accounts
summary:
header:
accounts: Accounts
manage: Manage accounts
new: New account
new: New account
no_assets: No assets found
no_assets_description: Add an asset either via connection, importing or entering
manually.
no_liabilities: No liabilities found
no_liabilities_description: Add a liability either via connection, importing
or entering manually.
update:
success: "%{type} account updated"
email_confirmations:

View file

@ -63,8 +63,8 @@ en:
failed: Failed
in_progress: In progress
label: "%{type}: %{datetime}"
reverting: Reverting
revert_failed: Revert failed
reverting: Reverting
uploading: Processing rows
view: View
index:

View file

@ -7,16 +7,7 @@ en:
sign_in: Sign in
sign_up: Create account
your_account: Your account
footer:
privacy_policy: Privacy Policy
terms_of_service: Terms of Service
issues:
action: How to fix this issue
description: Issue Description
sidebar:
accounts: Accounts
budgeting: Budgeting
dashboard: Dashboard
new_account: New account
portfolio: Portfolio
transactions: Transactions
shared:
footer:
privacy_policy: Privacy Policy
terms_of_service: Terms of Service

View file

@ -22,7 +22,8 @@ en:
scan_description: Use an authenticator app like Google Authenticator or 1Password
to scan this QR code
scan_title: 1. Scan QR Code
secret_description: If you can't scan the QR code, enter this secret key manually in your authenticator app
secret_description: If you can't scan the QR code, enter this secret key manually
in your authenticator app
secret_title: Manual Entry Code
title: Set Up Two-Factor Authentication
verify_button: Verify and Enable 2FA

View file

@ -4,20 +4,8 @@ en:
changelog:
title: What's new
dashboard:
allocation_chart:
assets: Assets
debts: Debts
fallback_greeting: Welcome back, friend
greeting: Welcome back, %{name}
import: Import
income: Income
investing: Investing (coming soon...)
net_worth: Net Worth
new: New account
no_transactions: You have no recent transactions
savings_rate: Savings Rate
spending: Spending
subtitle: Here's what's happening today
title: Dashboard
transactions: Recent transactions
view_all: View all
no_account_empty_state:
new_account: New account
no_account_subtitle: Since no accounts have been added, there's no data to
display. Add your first accounts to start viewing dashboard data.
no_account_title: No accounts yet

View file

@ -6,20 +6,21 @@ en:
destroy:
success: Accounts scheduled for deletion.
plaid_item:
add_new: Add new connection
confirm_accept: Delete institution
confirm_body: This will permanently delete all the accounts in this group and
all associated data.
confirm_title: Delete institution?
connection_lost: Connection lost
connection_lost_description: This connection is no longer valid. You'll need
to delete this connection and add it again to continue syncing data.
delete: Delete
error: Error occurred while syncing data
no_accounts_description: We could not load any accounts from this financial
institution.
no_accounts_title: No accounts found
requires_update: Requires re-authentication
status: Last synced %{timestamp} ago
status_never: Requires data sync
syncing: Syncing...
requires_update: Requires re-authentication
update: Update connection
connection_lost: Connection lost
connection_lost_description: This connection is no longer valid. You'll need to delete this connection and add it again to continue syncing data.
add_new: Add new connection

View file

@ -6,26 +6,6 @@ en:
page_title: Billing
subscription_subtitle: Manage your subscription and billing details
subscription_title: Manage subscription
nav:
accounts_label: Accounts
billing_label: Billing
categories_label: Categories
feedback_label: Feedback
general_section_title: General
imports_label: Imports
logout: Logout
merchants_label: Merchants
other_section_title: More
preferences_label: Preferences
profile_label: Account
security_label: Security
self_hosting_label: Self hosting
tags_label: Tags
transactions_section_title: Transactions
whats_new_label: What's new
nav_link_large:
next: Next
previous: Back
preferences:
data_enrichment_settings:
description: Let Maybe auto-categorize, name, and add merchant data to your
@ -89,6 +69,26 @@ en:
securities:
show:
page_title: Security
settings_nav:
accounts_label: Accounts
billing_label: Billing
categories_label: Categories
feedback_label: Feedback
general_section_title: General
imports_label: Imports
logout: Logout
merchants_label: Merchants
other_section_title: More
preferences_label: Preferences
profile_label: Account
security_label: Security
self_hosting_label: Self hosting
tags_label: Tags
transactions_section_title: Transactions
whats_new_label: What's new
settings_nav_link_large:
next: Next
previous: Back
user_avatar_field:
accepted_formats: JPG or PNG. 5MB max.
choose: Choose

View file

@ -8,11 +8,6 @@ en:
title: Are you sure?
money_field:
label: Amount
no_account_empty_state:
new_account: New account
no_account_subtitle: Since no accounts have been added, there's no data to display.
Add your first accounts to start viewing dashboard data.
no_account_title: No accounts yet
syncing_notice:
syncing: Syncing accounts data...
upgrade_notification:

View file

@ -53,7 +53,7 @@ Rails.application.routes.draw do
post :bootstrap, on: :collection
end
resources :budgets, only: %i[index show edit update create] do
resources :budgets, only: %i[index show edit update], param: :month_year do
get :picker, on: :collection
resources :budget_categories, only: %i[index show update]
@ -78,17 +78,18 @@ Rails.application.routes.draw do
resources :accounts, only: %i[index new] do
collection do
get :summary
get :list
post :sync_all
end
member do
post :sync
get :chart
get :sparkline
end
end
resources :accountable_sparklines, only: :show, param: :accountable_type
namespace :account do
resources :holdings, only: %i[index new show destroy]