Mahbubul Alam.
DB Backup System

DB Backup System

Universal backup & restore tool for MongoDB, PostgreSQL, and MySQL — automated daily backups with Google Drive sync and web + mobile management.

Overview

A universal backup-and-restore tool built after enough close calls with production databases: one system that can back up and restore MongoDB, PostgreSQL, or MySQL through the same workflow, verify the connection before trusting it with a real database, and never leave a restore in a half-applied state. The explicit goal going in was "0% error, 100% success" — so correctness and verification came before automation.

Key Features

  • Multi-database support — MongoDB, PostgreSQL, and MySQL through one unified account/credential model, with a live connection check before a database is trusted for backup or restore.
  • Format-safe export/import — backups can be restored to a different database of the same engine without corrupting either the source or the target.
  • Scheduled, unattended automation — daily backups at a configured time (built with Playwright-driven automation for the parts that needed it), running without a human triggering each one.
  • Google Drive sync with rotation — every backup uploads to a designated Drive folder, and older backups in that folder are cleaned up automatically so only the current one is kept.
  • Notifications in both the API and the dashboard so a failed or completed backup is visible immediately, not discovered days later.
  • Web dashboard + mobile app for managing connected databases and reviewing backup history from either surface.

Technical Highlights

  • NestJS backend with native drivers for all three database engines behind one internal interface, so adding a fourth engine is an adapter, not a rewrite.
  • @nestjs/schedule-driven cron jobs for the daily automation, with a configurable date/time override specifically for testing schedule-dependent logic without waiting for the actual clock.
  • Google Drive API integration handles both the upload and the cleanup of superseded backups as one atomic-feeling operation from the user's perspective.

Impact

Production databases across the other projects now get backed up automatically every morning, land in a known Google Drive location without manual intervention, and — because restore was tested as rigorously as backup — are actually usable when they're needed, not just a checkbox that says "backups are on."