SXXXXXXX_BackupTools/README.md
2025-05-07 14:39:49 +02:00

6.5 KiB

Certamente! Ecco le bozze per la presentazione del tuo progetto "Backup Manager Pro" da includere nel file README.md, sia in inglese che in italiano. Questo testo è pensato per dare una buona panoramica del progetto quando visualizzato su piattaforme come Gitea, GitHub, GitLab, ecc.


Contenuto per README.md (Versione Multilingua)

Puoi strutturare il tuo README.md per includere entrambe le lingue, magari con l'inglese prima, seguito da una chiara separazione e poi la versione italiana.

# Backup Manager Pro

## English

### Overview

Backup Manager Pro is a user-friendly desktop application designed to help you easily create compressed backup archives (ZIP files) of your important folders. It offers a graphical interface to manage backup configurations, define exclusion rules, and organize different backup tasks using profiles.

This tool is ideal for users who need a simple yet effective way to back up project files, documents, or any other critical data to a local or network drive.

### Features

*   **Intuitive Graphical User Interface (GUI):** Easy-to-use interface built with Tkinter.
*   **Source and Destination Selection:** Easily browse and select source folders for backup and destination folders for the archives.
*   **File Exclusion Rules:** Define comma-separated patterns (e.g., `*.log`, `.tmp`, `node_modules/`) to exclude specific files or folders from your backups.
*   **Profile Management:**
    *   Save different backup configurations (source, destination, exclusions, description) as named profiles.
    *   Quickly load profiles to switch between backup tasks.
    *   Update and delete existing profiles.
*   **Backup Description:** Add an optional description to each backup archive for better identification.
*   **Progress Indication:** Visual progress bars for file scanning and ZIP archive creation.
*   **Detailed Backup Summary:** Before finalizing the backup, view details about included/excluded files and statistics by file extension.
*   **Timestamped Archives:** Backup ZIP files are automatically named with a timestamp and the source folder name for easy organization (e.g., `YYYYMMDD_HHMMSS_MyProject.zip`).
*   **Background Operations:** File scanning and zipping processes run in separate threads to keep the UI responsive.
*   **Configuration Persistence:** All profiles and the last used settings are saved locally in a `backup_config.json` file.

### Technology Stack

*   **Python 3**
*   **Tkinter** (for the GUI, part of Python's standard library)
*   Standard Python libraries for file operations (`os`, `pathlib`, `shutil`) and ZIP creation (`zipfile`).

### Getting Started

1.  **Prerequisites:**
    *   Python 3 installed on your system.
    *   (Optional for development/running from source) Familiarity with running Python scripts.
2.  **Running the Application:**
    *   If you have an executable version (e.g., created with PyInstaller), simply run the executable.
    *   To run from source:
        1.  Clone or download the repository.
        2.  Navigate to the project's root directory (e.g., `BackupApp/`).
        3.  Ensure all Python package dependencies (if any beyond standard library) are installed.
        4.  Run the application using: `python -m backup_app`
            (Assuming `backup_app` is the name of the main Python package folder).

---
<br>

## Italiano

### Panoramica

Backup Manager Pro è un'applicazione desktop intuitiva progettata per aiutarti a creare facilmente archivi di backup compressi (file ZIP) delle tue cartelle importanti. Offre un'interfaccia grafica per gestire le configurazioni di backup, definire regole di esclusione e organizzare diverse attività di backup utilizzando i profili.

Questo strumento è ideale per gli utenti che necessitano di un modo semplice ma efficace per eseguire il backup di file di progetto, documenti o qualsiasi altro dato critico su un'unità locale o di rete.

### Funzionalità

*   **Interfaccia Utente Grafica (GUI) Intuitiva:** Interfaccia facile da usare costruita con Tkinter.
*   **Selezione Sorgente e Destinazione:** Sfoglia e seleziona facilmente le cartelle sorgente per il backup e le cartelle di destinazione per gli archivi.
*   **Regole di Esclusione File:** Definisci pattern separati da virgola (es., `*.log`, `.tmp`, `node_modules/`) per escludere file o cartelle specifiche dai tuoi backup.
*   **Gestione Profili:**
    *   Salva diverse configurazioni di backup (sorgente, destinazione, esclusioni, descrizione) come profili nominati.
    *   Carica rapidamente i profili per passare da un'attività di backup all'altra.
    *   Aggiorna ed elimina i profili esistenti.
*   **Descrizione Backup:** Aggiungi una descrizione opzionale a ciascun archivio di backup per una migliore identificazione.
*   **Indicazione di Progresso:** Barre di progresso visive per la scansione dei file e la creazione dell'archivio ZIP.
*   **Riepilogo Dettagliato del Backup:** Prima di finalizzare il backup, visualizza i dettagli sui file inclusi/esclusi e le statistiche per estensione di file.
*   **Archivi con Timestamp:** I file ZIP di backup vengono automaticamente nominati con una marca temporale e il nome della cartella sorgente per una facile organizzazione (es., `AAAAMMGG_HHMMSS_MioProgetto.zip`).
*   **Operazioni in Background:** I processi di scansione dei file e di compressione ZIP vengono eseguiti in thread separati per mantenere l'interfaccia utente reattiva.
*   **Persistenza della Configurazione:** Tutti i profili e le ultime impostazioni utilizzate vengono salvati localmente in un file `backup_config.json`.

### Stack Tecnologico

*   **Python 3**
*   **Tkinter** (per la GUI, parte della libreria standard di Python)
*   Librerie standard Python per operazioni sui file (`os`, `pathlib`, `shutil`) e creazione ZIP (`zipfile`).

### Come Iniziare

1.  **Prerequisiti:**
    *   Python 3 installato sul tuo sistema.
    *   (Opzionale per sviluppo/esecuzione da sorgente) Familiarità con l'esecuzione di script Python.
2.  **Esecuzione dell'Applicazione:**
    *   Se disponi di una versione eseguibile (ad esempio, creata con PyInstaller), esegui semplicemente l'eseguibile.
    *   Per eseguire da sorgente:
        1.  Clona o scarica il repository.
        2.  Naviga nella directory principale del progetto (es., `BackupApp/`).
        3.  Assicurati che tutte le dipendenze dei pacchetti Python (se presenti oltre alla libreria standard) siano installate.
        4.  Esegui l'applicazione utilizzando: `python -m backup_app`
            (Assumendo che `backup_app` sia il nome della cartella principale del pacchetto Python).