Commit Graph
20 Commits
Author SHA1 Message Date
nmemmertandClaude Sonnet 4.6 8f9e9269ec Add CSV import to setup wizard
- New csv-import wizard step with file upload, auto column detection, column mapping UI, split-debit/credit support, and 5-row preview
- Imports transactions and auto-calculates account balance from CSV data
- Uses pendingImportedTransactions state (not side-channel) to reliably pass transactions through to saveUserData
- handleSetupComplete reloads from server so imported transactions appear in the UI immediately after wizard completes

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-14 08:45:17 -04:00
nmemmertandClaude Sonnet 4.6 20ea25f4de Major feature release: security hardening + Goals, Rules, search, charts
Security:
- Replace SHA-256 password hashing with bcrypt (cost 12) + timing-safe compare
- Introduce server-side session tokens (x-session-token header); drop x-user-id
- Add /api/auth/logout endpoint to invalidate sessions
- Enforce 8-char minimum password server-side
- Fix password reset: now uses real signed tokens with 1-hour TTL

Features:
- Goals: savings goals with progress bars, target dates, add/withdraw funds
- Auto-categorization Rules: keyword → envelope mapping applied on transaction add
- Transaction search/filter: description, account, envelope, date range
- Transaction table: shows envelope color dot, running balance column
- Monthly Spending History chart (last 6 months income vs expenses bar chart)
- Spending Insights: month-over-month comparison + overspent envelope callouts
- Budget progress expanded: per-envelope bars with rollover indicator
- Envelope rollover toggle: unspent funds can carry forward
- Recurring transactions auto-applied on login
- Save indicator in nav (Saving… / Saved ✓ / Save failed)
- Nav overflow fixed: all tabs scroll horizontally instead of clipping
- PWA manifest added for home-screen install support

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-14 08:22:24 -04:00
nmemmertandClaude Sonnet 4.6 8814423fa6 Fix modal overlays — replace deprecated Tailwind v4 bg-opacity syntax
All 11 modal backdrop divs used `bg-black bg-opacity-50` which Tailwind v4
dropped, causing solid-black overlays. Replaced with `bg-black/50` across
AuthModal, AccountManagement, EnvelopeCreate, EnvelopeEdit, GetPaid,
SetupWizard, TransactionEdit, and page.tsx.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-14 08:08:26 -04:00
nmemmert 5c062fb2cb Install devDependencies for build, then prune
- Install all dependencies including TypeScript for build
- Remove devDependencies after build to keep image small
- Fixes TypeScript missing error during Docker build
2026-01-13 16:10:18 -05:00
nmemmert e6805c66a7 Fix sed command to handle special characters in encryption key
- Escape &, /, and \ characters in encryption key before sed
- Use | as delimiter instead of / to avoid conflicts
- Fixes 'unknown option to s' error on ZimaOS
2026-01-13 16:08:39 -05:00
nmemmert 7fbfab6b20 Update to Node.js 20 for Next.js compatibility
- Next.js 16 requires Node.js >= 20.9.0
- Changed base image from node:18-alpine to node:20-alpine
2026-01-13 16:06:55 -05:00
nmemmert 2c333d14eb Support both docker-compose and docker compose commands
- Auto-detect standalone docker-compose vs docker compose plugin
- Works on ZimaOS which uses docker compose (v2)
- Works on older systems with docker-compose (v1)
- Updated all script commands to use detected version
- Better error messages showing which version is being used
2026-01-13 16:05:03 -05:00
nmemmert 2e06475aab Fix deployment scripts for systems without openssl
- Added fallback to /dev/urandom when openssl is not available
- Added multiple fallback methods for encryption key generation
- Scripts now work on minimal systems like ZimaOS
- Maintains security with urandom-based key generation
2026-01-13 15:58:04 -05:00
nmemmert c7333651df Update installation docs for private repository
- Added clone and deploy method as primary option
- Noted that curl install only works for public repos
- Updated README.md with both installation methods
- Updated DEPLOYMENT.md with proper instructions
- Clone method works for both private and public repos
2026-01-13 15:55:05 -05:00
nmemmert d31eabed6b Add one-line curl installer for Docker deployment
- Created install.sh for automated installation
- Checks prerequisites (Docker, Docker Compose)
- Clones repository or downloads files
- Auto-generates encryption key
- Builds and starts container automatically
- Supports both git and non-git environments
- Updated README.md with one-line install command
- Updated DEPLOYMENT.md with curl installation section
- Provides detailed success/error messages

Usage: curl -fsSL https://raw.githubusercontent.com/nmemmert/budget/master/install.sh | bash
2026-01-13 15:52:03 -05:00
nmemmert 97c47cde1c Add comprehensive data persistence verification
- Added test-persistence.sh script to verify Docker volume mounting
- Enhanced DEPLOYMENT.md with detailed data persistence documentation
- Updated deploy.sh to verify data directory mount on deployment
- Added data/README.md explaining data storage and backup
- Updated data/.gitignore to include README.md
- Documented what data persists and what doesn't
- Added backup strategies and troubleshooting tips
2026-01-13 15:50:09 -05:00
nmemmert ad37bb57ae Add Docker deployment for ZimaOS
- Updated Dockerfile for local storage deployment (removed Firebase dependencies)
- Created docker-compose.yml with persistent data volumes
- Added deploy.sh script for automated deployment
- Created DEPLOYMENT.md with ZimaOS deployment guide
- Added .env.example for configuration template
- Updated .gitignore to protect sensitive data
- Fixed package.json to use port 7654 in production
- Cleared all test user data for fresh deployment
- Updated README with deployment section
2026-01-13 15:47:32 -05:00
nmemmert 0b9ab53266 Update README with dashboard customization features and Capsule branding 2026-01-13 15:42:32 -05:00
nmemmert 4d7f301c61 Add customizable dashboard with drag-and-drop section reordering
- Added Capsule app icon and branding assets
- Implemented dashboard customization panel with drag-and-drop interface
- Added budget progress tracking and quick actions sections
- Enhanced dashboard with clickable summary cards (Assets, Debt, Balance, Envelopes, Transactions)
- Increased spacing between sections for better readability
- Users can now show/hide and reorder dashboard sections
- Fixed account balance normalization for liabilities
- Improved analytics charts with visibility controls
2026-01-13 15:40:23 -05:00
nmemmert 2dcd7b29fb feat: implement Capsule branding kit with custom colors and typography
- Add CSS variables for brand colors: Primary Blue (#1E73BE), Finance Green (#28A745), Cloud Blue (#A7D8F8), Dark Navy (#0F2C4C), Neutral Gray (#F4F4F4)
- Import Montserrat and Roboto fonts from Google Fonts
- Update navigation bar with brand colors (navy logo, blue active state, green Get Paid button)
- Update landing page hero section with brand color accents and button styling
- Update AuthModal, GetPaid, Settings, and DemoWizard components to use CSS variables
- Apply brand colors to info boxes and secondary UI elements
- Improve visual consistency across all app screens with cohesive color palette
2026-01-13 14:04:35 -05:00
nmemmert 1b269dedd9 Fix envelope updates, balance persistence, Get Paid duplication, form readability, and income allocation carryover 2026-01-13 13:38:27 -05:00
nmemmert caa6020ae8 Fix 2025-11-10 12:57:48 -05:00
nmemmert 2665bde810 fixed run error 2025-10-24 11:10:08 -04:00
nmemmert a79dddff60 the start 2025-10-24 10:23:12 -04:00
nmemmert e41e78f9a3 Initial commit from Create Next App 2025-10-24 07:45:04 -04:00