Commit Graph

8 Commits

Author SHA1 Message Date
be74ca1eb7 Harden JSON storage (atomic writes + crash-safe loads) + suggestions lightbulb
- storage.py: atomic save_json (temp+fsync+os.replace) and load_json that
  survives missing/corrupt files (moves corrupt aside). Closes #11/#12.
- route all data modules + app.py helpers through storage (closes #31 core);
  fixes mutable DEFAULT_FUNDS/DEFAULT_CARS return (#23).
- gunicorn --workers 1 --threads 4 to remove the write race (#13); strip
  Dockerfile template scaffolding (#40).
- base.html: 💡 suggestions link in the shared nav (shows on every page).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-06 16:34:06 -05:00
494f5e3b5b Fix backups for JSON-file storage + healthcheck; drop handoff folder
- backup.sh: snapshot all of /data as timestamped tar.gz to local NAS path;
  push to B2 only when a real bucket/key is set (no more nonexistent app.db).
- compose: working CMD-SHELL healthcheck; mount /mnt/user/Backup target.
- remove the accidentally committed moon-household-budget-handoff/ scaffolding.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-06 14:43:35 -05:00
Bonna
8ea4c978dd Update allowed commands in local Claude settings
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-06 14:32:58 -05:00
Bonna
9218994cce Fix DATA_DIR env var in all modules 2026-06-06 14:29:13 -05:00
Bonna
481f26d530 Fix missing python-dateutil dependency 2026-06-06 14:28:07 -05:00
Bonna
932488e40d Add suggestions feature: Gitea-backed feedback → issues 2026-06-06 14:26:34 -05:00
Bonna
7f2057f139 Dockerize: self-contained stack + B2 backup sidecar 2026-06-06 14:25:45 -05:00
Bonna
fa3c030b36 Initial commit — Moon Household Budget 2026-06-06 14:22:57 -05:00