[{"data":1,"prerenderedAt":589},["ShallowReactive",2],{"navigation_docs_en":3,"-en-guide-introduction":191,"-en-guide-introduction-surround":586},[4,61,127,171],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":60},"Guide","i-lucide-book-open","\u002Fen\u002Fguide","en\u002F1.guide",[10,15,20,25,30,35,40,45,50,55],{"title":11,"path":12,"stem":13,"icon":14},"Introduction","\u002Fen\u002Fguide\u002Fintroduction","en\u002F1.guide\u002F01.introduction","i-lucide-house",{"title":16,"path":17,"stem":18,"icon":19},"Install the App","\u002Fen\u002Fguide\u002Finstallation","en\u002F1.guide\u002F02.installation","i-lucide-smartphone",{"title":21,"path":22,"stem":23,"icon":24},"Authentication","\u002Fen\u002Fguide\u002Fauth","en\u002F1.guide\u002F03.auth","i-lucide-lock",{"title":26,"path":27,"stem":28,"icon":29},"Wallets","\u002Fen\u002Fguide\u002Fwallets","en\u002F1.guide\u002F04.wallets","i-lucide-wallet",{"title":31,"path":32,"stem":33,"icon":34},"Categories","\u002Fen\u002Fguide\u002Fcategories","en\u002F1.guide\u002F05.categories","i-lucide-tags",{"title":36,"path":37,"stem":38,"icon":39},"Transactions","\u002Fen\u002Fguide\u002Ftransactions","en\u002F1.guide\u002F06.transactions","i-lucide-receipt",{"title":41,"path":42,"stem":43,"icon":44},"Transfers","\u002Fen\u002Fguide\u002Ftransfers","en\u002F1.guide\u002F07.transfers","i-lucide-arrow-left-right",{"title":46,"path":47,"stem":48,"icon":49},"Statistics","\u002Fen\u002Fguide\u002Fstatistics","en\u002F1.guide\u002F08.statistics","i-lucide-bar-chart-3",{"title":51,"path":52,"stem":53,"icon":54},"Theme","\u002Fen\u002Fguide\u002Ftheme","en\u002F1.guide\u002F09.theme","i-lucide-palette",{"title":56,"path":57,"stem":58,"icon":59},"Settings","\u002Fen\u002Fguide\u002Fsettings","en\u002F1.guide\u002F10.settings","i-lucide-settings",false,{"title":62,"icon":63,"path":64,"stem":65,"children":66,"page":60},"Development","i-lucide-code","\u002Fen\u002Fdevelopment","en\u002F2.development",[67,72,77,82,87,92,97,102,122],{"title":68,"path":69,"stem":70,"icon":71},"Installation","\u002Fen\u002Fdevelopment\u002Finstallation","en\u002F2.development\u002F01.installation","i-lucide-download",{"title":73,"path":74,"stem":75,"icon":76},"Codebase Graph","\u002Fen\u002Fdevelopment\u002Funderstand-anything","en\u002F2.development\u002F02.understand-anything","i-lucide-network",{"title":78,"path":79,"stem":80,"icon":81},"Offline & PWA","\u002Fen\u002Fdevelopment\u002Foffline","en\u002F2.development\u002F03.offline","i-lucide-wifi-off",{"title":83,"path":84,"stem":85,"icon":86},"Data Migration History","\u002Fen\u002Fdevelopment\u002Fmigration","en\u002F2.development\u002F04.migration","i-lucide-database",{"title":88,"path":89,"stem":90,"icon":91},"Deployment","\u002Fen\u002Fdevelopment\u002Fdeployment","en\u002F2.development\u002F05.deployment","i-lucide-rocket",{"title":93,"path":94,"stem":95,"icon":96},"Testing","\u002Fen\u002Fdevelopment\u002Ftesting","en\u002F2.development\u002F06.testing","i-lucide-flask-conical",{"title":98,"path":99,"stem":100,"icon":101},"Date Utilities","\u002Fen\u002Fdevelopment\u002Fdate-utilities","en\u002F2.development\u002F07.date-utilities","i-lucide-calendar",{"title":103,"path":104,"stem":105,"children":106,"page":60},"Ai Workflow","\u002Fen\u002Fdevelopment\u002Fai-workflow","en\u002F2.development\u002F08.ai-workflow",[107,112,117],{"title":108,"path":109,"stem":110,"icon":111},"Overview","\u002Fen\u002Fdevelopment\u002Fai-workflow\u002Foverview","en\u002F2.development\u002F08.ai-workflow\u002F01.overview","i-lucide-bot",{"title":113,"path":114,"stem":115,"icon":116},"Agents","\u002Fen\u002Fdevelopment\u002Fai-workflow\u002Fagents","en\u002F2.development\u002F08.ai-workflow\u002F02.agents","i-lucide-users",{"title":118,"path":119,"stem":120,"icon":121},"Skills","\u002Fen\u002Fdevelopment\u002Fai-workflow\u002Fskills","en\u002F2.development\u002F08.ai-workflow\u002F03.skills","i-lucide-lightbulb",{"title":123,"path":124,"stem":125,"icon":126},"Troubleshooting","\u002Fen\u002Fdevelopment\u002Ftroubleshooting","en\u002F2.development\u002F09.troubleshooting","i-lucide-life-buoy",{"title":128,"icon":129,"path":130,"stem":131,"children":132,"page":60},"Reference","i-lucide-file-code","\u002Fen\u002Freference","en\u002F3.reference",[133,138,142,147,152,156,161,166],{"title":134,"path":135,"stem":136,"icon":137},"Architecture","\u002Fen\u002Freference\u002Farchitecture","en\u002F3.reference\u002F01.architecture","i-lucide-boxes",{"title":139,"path":140,"stem":141,"icon":44},"Transaction Types","\u002Fen\u002Freference\u002Ftransaction-types","en\u002F3.reference\u002F02.transaction-types",{"title":143,"path":144,"stem":145,"icon":146},"Sync","\u002Fen\u002Freference\u002Fsync","en\u002F3.reference\u002F03.sync","i-lucide-refresh-cw",{"title":148,"path":149,"stem":150,"icon":151},"Offline-first","\u002Fen\u002Freference\u002Foffline-first","en\u002F3.reference\u002F04.offline-first","i-lucide-list-ordered",{"title":153,"path":154,"stem":155,"icon":121},"Technical Decisions","\u002Fen\u002Freference\u002Ftech-decisions","en\u002F3.reference\u002F05.tech-decisions",{"title":157,"path":158,"stem":159,"icon":160},"Validation Strategy","\u002Fen\u002Freference\u002Fvalidation-strategy","en\u002F3.reference\u002F06.validation-strategy","i-lucide-shield-check",{"title":162,"path":163,"stem":164,"icon":165},"What Changed Since Firebase","\u002Fen\u002Freference\u002Ffirebase-migration","en\u002F3.reference\u002F07.firebase-migration","i-lucide-hamburger",{"title":167,"path":168,"stem":169,"icon":170},"Performance","\u002Fen\u002Freference\u002Fperformance","en\u002F3.reference\u002F08.performance","i-lucide-gauge",{"title":172,"icon":173,"path":174,"stem":175,"children":176,"page":60},"Premium","i-lucide-star","\u002Fen\u002Fpremium","en\u002F4.premium",[177,181,186],{"title":108,"path":178,"stem":179,"icon":180},"\u002Fen\u002Fpremium\u002Foverview","en\u002F4.premium\u002F01.overview","i-lucide-layers",{"title":182,"path":183,"stem":184,"icon":185},"Telegram Bot","\u002Fen\u002Fpremium\u002Ftelegram-bot","en\u002F4.premium\u002F02.telegram-bot","i-lucide-send",{"title":187,"path":188,"stem":189,"icon":190},"AI Chat","\u002Fen\u002Fpremium\u002Fai-chat","en\u002F4.premium\u002F03.ai-chat","i-lucide-sparkles",{"id":192,"title":11,"body":193,"description":578,"extension":579,"links":580,"meta":581,"navigation":582,"path":12,"seo":583,"stem":13,"__hash__":585},"docs_en\u002Fen\u002F1.guide\u002F01.introduction.md",{"type":194,"value":195,"toc":561},"minimark",[196,200,204,226,231,236,262,266,292,296,327,331,357,361,369,372,376,379,400,403,407,410,471,482,486,545,549],[197,198,199],"p",{},"Track your budget, analyze expenses and stay in control of your finances from any device.",[201,202],"app-media",{"name":203},"dashboard",[205,206,207,215,221],"card-group",{},[208,209,214],"card",{"icon":210,"target":211,"title":212,"to":213},"i-lucide-globe","_blank","Try Demo","https:\u002F\u002Ffinapp.ilko.me","Open in your browser and explore all features without signing up",[208,216,220],{"icon":217,"target":211,"title":218,"to":219},"i-simple-icons-github","GitHub","https:\u002F\u002Fgithub.com\u002Filkome\u002Ffinapp","Source code",[208,222,225],{"icon":76,"target":211,"title":223,"to":224},"Knowledge Graph","https:\u002F\u002Ffinapp-graph.ilko.me\u002Fen\u002F","Interactive map of the codebase architecture",[227,228,230],"h2",{"id":229},"features","Features",[232,233,235],"h3",{"id":234},"finance-management","Finance Management",[237,238,239,246,251,256],"ul",{},[240,241,242,245],"li",{},[243,244,26],"strong",{}," - cash, bank cards, crypto, deposits, credit accounts - all in one place with a combined balance",[240,247,248,250],{},[243,249,36],{}," - record income, expenses and transfers between wallets with a built-in calculator",[240,252,253,255],{},[243,254,31],{}," - create a hierarchy of categories with subcategories, icons and colors for detailed tracking",[240,257,258,261],{},[243,259,260],{},"Multi-currency"," - manage finances in different currencies with automatic exchange rates and base currency conversion",[232,263,265],{"id":264},"analytics","Analytics",[237,267,268,274,280,286],{},[240,269,270,273],{},[243,271,272],{},"Charts"," - line and bar charts with average value display",[240,275,276,279],{},[243,277,278],{},"Reports"," - detailed breakdown by categories, wallets and periods",[240,281,282,285],{},[243,283,284],{},"Periods"," - analyze by day, week, month and year with quick navigation",[240,287,288,291],{},[243,289,290],{},"Filters"," - select date ranges, categories and wallets for precise analysis",[232,293,295],{"id":294},"convenience","Convenience",[237,297,298,304,310,321],{},[240,299,300,303],{},[243,301,302],{},"Works everywhere"," - responsive interface for desktop, tablet and mobile",[240,305,306,309],{},[243,307,308],{},"Installable"," - add to your home screen and use as a native app (PWA)",[240,311,312,315,316,320],{},[243,313,314],{},"Offline"," - works without internet, automatically syncs when back online. See ",[317,318,21],"a",{"href":319},"\u002Fen\u002Fguide\u002Fauth#offline-mode"," for details",[240,322,323,326],{},[243,324,325],{},"Two languages"," - English and Russian interface",[232,328,330],{"id":329},"customization","Customization",[237,332,333,339,345,351],{},[240,334,335,338],{},[243,336,337],{},"Themes"," - light, dark and automatic based on system settings",[240,340,341,344],{},[243,342,343],{},"Colors"," - choose primary and background color from 20+ options",[240,346,347,350],{},[243,348,349],{},"Border radius"," - adjust the roundness of interface elements",[240,352,353,356],{},[243,354,355],{},"Dashboard"," - toggle widgets on and off, choose chart and list views",[227,358,360],{"id":359},"getting-started","Getting Started",[197,362,363,364,368],{},"You can try ",[317,365,367],{"href":366},"\u002Fen\u002Fguide\u002Fsettings#demo-mode","Demo Mode"," right away without signing up - the app will load sample wallets, categories and transactions.",[197,370,371],{},"For full use, sign in with Google to sync data across devices.",[232,373,375],{"id":374},"onboarding","Onboarding",[197,377,378],{},"On first sign-in, Finapp guides you through a step-by-step setup. Each step shows a description and a single action button:",[380,381,382,388,394],"ol",{},[240,383,384,387],{},[243,385,386],{},"Create a wallet"," - while no wallets exist, the app prompts you to create your first one. The button navigates to the wallet creation page.",[240,389,390,393],{},[243,391,392],{},"Create a category"," - after creating a wallet, a prompt appears to create your first category. The button navigates to the category creation page.",[240,395,396,399],{},[243,397,398],{},"Add a transaction"," - once you have both a wallet and a category, the app suggests recording your first transaction. The button opens the transaction form.",[197,401,402],{},"The onboarding disappears automatically after you create your first transaction. Each step only appears after the previous one is completed - you never see all three at once.",[227,404,406],{"id":405},"keyboard-shortcuts","Keyboard Shortcuts",[197,408,409],{},"Finapp supports keyboard shortcuts for quick access to core features (desktop only):",[411,412,413,426],"table",{},[414,415,416],"thead",{},[417,418,419,423],"tr",{},[420,421,422],"th",{},"Shortcut",[420,424,425],{},"Action",[427,428,429,441,451,461],"tbody",{},[417,430,431,438],{},[432,433,434],"td",{},[435,436,437],"code",{},"Cmd+G",[432,439,440],{},"Open\u002Fclose transaction form",[417,442,443,448],{},[432,444,445],{},[435,446,447],{},"Cmd+\\",[432,449,450],{},"Toggle sidebar",[417,452,453,458],{},[432,454,455],{},[435,456,457],{},"Escape",[432,459,460],{},"Close transaction form",[417,462,463,468],{},[432,464,465],{},[435,466,467],{},"Enter",[432,469,470],{},"Confirm action in dialogs (delete, confirm)",[197,472,473,474,477,478,481],{},"On Windows and Linux, use ",[435,475,476],{},"Ctrl"," instead of ",[435,479,480],{},"Cmd",".",[227,483,485],{"id":484},"tech-stack","Tech Stack",[237,487,488,497,505,513,521,529,537],{},[240,489,490,496],{},[317,491,495],{"href":492,"rel":493},"https:\u002F\u002Fvuejs.org",[494],"nofollow","Vue 3"," - reactive component framework",[240,498,499,504],{},[317,500,503],{"href":501,"rel":502},"https:\u002F\u002Fnuxt.com",[494],"Nuxt 4"," - Vue meta-framework",[240,506,507,512],{},[317,508,511],{"href":509,"rel":510},"https:\u002F\u002Fui.nuxt.com",[494],"Nuxt UI"," - component library",[240,514,515,520],{},[317,516,519],{"href":517,"rel":518},"https:\u002F\u002Ftailwindcss.com",[494],"Tailwind CSS"," - utility-first styling",[240,522,523,528],{},[317,524,527],{"href":525,"rel":526},"https:\u002F\u002Fsupabase.com",[494],"Supabase"," (Postgres) - backend database",[240,530,531,536],{},[317,532,535],{"href":533,"rel":534},"https:\u002F\u002Fwww.powersync.com",[494],"PowerSync"," - offline-first sync",[240,538,539,544],{},[317,540,543],{"href":541,"rel":542},"https:\u002F\u002Fsupabase.com\u002Fdocs\u002Fguides\u002Fauth",[494],"Supabase Auth"," - authentication (email\u002Fpassword)",[227,546,548],{"id":547},"next-steps","Next Steps",[237,550,551,556],{},[240,552,553,555],{},[317,554,16],{"href":17}," - add Finapp to your device as a PWA",[240,557,558,560],{},[317,559,21],{"href":22}," - sign in with Google to sync across devices",{"title":562,"searchDepth":563,"depth":563,"links":564},"",2,[565,572,575,576,577],{"id":229,"depth":563,"text":230,"children":566},[567,569,570,571],{"id":234,"depth":568,"text":235},3,{"id":264,"depth":568,"text":265},{"id":294,"depth":568,"text":295},{"id":329,"depth":568,"text":330},{"id":359,"depth":563,"text":360,"children":573},[574],{"id":374,"depth":568,"text":375},{"id":405,"depth":563,"text":406},{"id":484,"depth":563,"text":485},{"id":547,"depth":563,"text":548},"Finapp - a free open-source app for personal finance management.","md",null,{},{"icon":14},{"title":11,"description":584},"Free open-source personal finance app with multi-currency wallets, transaction tracking, detailed statistics, offline support, and cross-device sync.","w-gULCsmhro-n-aSkUKT5PMBuAfUMHL0ry6WC1Yyf2c",[580,587],{"title":16,"path":17,"stem":18,"description":588,"icon":19,"children":-1},"How to install Finapp on Mac, Windows, Android, and iPhone - directly from the browser as a PWA.",1782114337888]