Files
web-app-launcher/plans/database-backup/PLAN.md
T
alexei.dolgolyov b0439e39c4 feat(backup): replace JSON import/export with SQLite database backup system
Replace the JSON-based import/export with a proper backup system that copies
the SQLite database file directly. Supports manual on-demand backups, periodic
scheduled backups via node-cron, configurable retention, file download, and
full database restore.

- Add backupService with VACUUM INTO for safe DB copies
- Add backupScheduler following healthcheckScheduler pattern
- Add 6 admin API endpoints (create, list, download, restore, delete, schedule)
- Add BackupPanel UI with backup table, confirmation dialogs, schedule config
- Add backup fields to SystemSettings schema
- Remove old ImportExportPanel, exportService, importService, and related code
2026-04-02 23:16:18 +03:00

1.5 KiB

Feature: Database Backup & Restore

Branch: feature/database-backup Base branch: master Created: 2026-04-02 Status: 🟡 In Progress Strategy: Big Bang Mode: Automated Execution: Direct

Summary

Replace JSON import/export with SQLite file-copy backup system. Support manual on-demand backups, optional periodic scheduling via node-cron, configurable retention (max backup count), download capability, and full database restore.

Build & Test Commands

  • Build: npm run build
  • Test: npm run test
  • Lint: npm run lint

Phases

  • Phase 1: Backup Service & API Endpoints [domain: backend] → subplan
  • Phase 2: Periodic Backup Scheduler [domain: backend] → subplan
  • Phase 3: Frontend BackupPanel [domain: frontend] → subplan
  • Phase 4: Cleanup Import/Export [domain: fullstack] → subplan

Phase Progress Log

Phase Domain Status Review Build Committed
Phase 1: Backup Service & API backend Not Started
Phase 2: Backup Scheduler backend Not Started
Phase 3: BackupPanel UI frontend Not Started
Phase 4: Cleanup fullstack Not Started

Final Review

  • Comprehensive code review
  • Full build passes
  • Full test suite passes
  • Merged to master