feat(balance): starter accounts seedes + ADR pour modele a 2 niveaux (vehicule x composition) #179
Labels
No labels
autopilot:pending-human
source:analyste
source:defenseur
source:human
source:medic
status:approved
status:blocked
status:in-progress
status:needs-clarification
status:needs-fix
status:ready
status:review
status:triage
type:bug
type:feature
type:infra
type:refactor
type:schema
type:security
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: maximus/Simpl-Resultat#179
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Description
Le user demande des comptes de depart pour rendre l'onboarding du Bilan plus intuitif. Aussi, suggestion d'un modele a 2 niveaux (vehicule x composition) - capturee en ADR Proposed pour reflexion future.
Approche
Partie 1 - Starter accounts pour NOUVEAUX profils
Etendre
src-tauri/src/database/consolidated_schema.sqlpour ajouter 4 INSERT INTObalance_accountsapres les categories seedees:PAS de colonne
is_seedajoutee. Les comptes seedes sont des comptes ordinaires apres creation: l'utilisateur peut les renommer / archiver / supprimer librement.i18n: les libelles UTILISES en BDD sont en francais (langue par defaut). Si l'utilisateur change la langue, les noms restent francais (comme tous les comptes utilisateur).
Partie 2 - Pop-up de proposition pour PROFILS EXISTANTS
Sur
/balanceau premier load post-migration, siuser_preferences.balance_starter_proposedest absent ETbalance_accountsest vide ou ne contient pas la totalite des starters, afficher un modalStarterAccountsModal:user_preferences.balance_starter_proposed = {shown_at: ISO, accepted: <ids[]>}-> ne reapparait JAMAISPartie 3 - ADR 0011 (modele 2 niveaux)
Creer
docs/adr/0011-balance-two-level-model.md(statut: Proposed):balance_vehicles(parent: bank/TFSA/RRSP/non-registered) +balance_compositions(child: cash/stock/bond/crypto). Snapshot lines deviennent (vehicle_id, composition_id, value).docs/architecture.mdsection BilanFichiers concernes
src-tauri/src/database/consolidated_schema.sql- INSERT INTO balance_accounts pour les 4 starters (apres categories seedees)src-tauri/src/database/balance_schema.sql- PAS modifie (les migrations v9 ne re-insertent pas les comptes pour les profils existants; c'est le pop-up qui le fait)src/components/balance/StarterAccountsModal.tsx- nouveau composant modalsrc/components/balance/StarterAccountsModal.test.tsx- tests (dismiss, confirmation, collision)src/pages/BalancePage.tsx- logique d'affichage du modal au premier loadsrc/services/balance.service.ts- helperproposeStarterAccounts(selectedKeys)qui insere les comptes selectionnes en transaction (BEGIN/COMMIT pattern existant)src/services/balance.service.test.ts- tests collision insensible-casse + categoriesrc/services/preferences.service.ts(si existe) ou getDb direct - clebalance_starter_proposedsrc/i18n/locales/fr.json+en.json- clesbalance.starters.*docs/adr/0011-balance-two-level-model.md- nouvel ADR Proposeddocs/architecture.md- lien vers ADR 0011 + mention des startersCHANGELOG.md+CHANGELOG.fr.md- section AddedDepends on
Criteres d'acceptation
/balance/accountsliste les 4 starters (Compte cheque, CELI, REER, Compte non-enregistre)balance_starter_proposed-> modal apparait sur premier visit /balancearchitecture.mdcargo check+npm test+npm run buildverts[Unreleased]->Added(FR + EN)Decisions prises ce soir
is_seed(les starters sont des comptes ordinaires)balance_starter_proposed = {shown_at, accepted: []}dans user_preferences (per-profile, jamais reaffiche)Spec source
spec-plan-bilan-anomalies-174.md