Skip to content

losciuto/delivery-tracker

Repository files navigation

Scadenziario Consegne (Delivery Tracker) v2.6.0

Un'applicazione desktop moderna e completa in Python per gestire le scadenze delle consegne da diverse piattaforme online.

✨ Funzionalità Principali

πŸ“¦ Gestione Ordini Completa

  • Tracciamento Dettagliato: Monitora ordini con informazioni complete:
    • Data Ordine e Consegna Prevista
    • Piattaforma (con suggerimenti predefiniti: Amazon, eBay, AliExpress, ecc.)
    • Venditore e Destinazione
    • Descrizione Oggetto
    • Link cliccabile al prodotto
    • QuantitΓ 
    • ID Ordine Sito (es. Amazon: 123-1234567-1234567)
    • Stato Dinamico colorato (In Attesa, Spedito, In Transito, ecc.)
    • Posizione fisica (Magazzino, Casa, Ufficio, ecc.)
    • Categoria personalizzabile
    • Note per difformitΓ  o difetti

🎨 Interfaccia Utente Moderna

  • Design Premium: Interfaccia moderna con gradientie colori curati
  • Tema Chiaro/Scuro: Supporto per entrambi i temi
  • Dashboard Interattiva: Visualizzazione statistiche con grafici
    • Grafico a torta per distribuzione piattaforme
    • Grafico a barre per stato consegne
    • Card statistiche in tempo reale
  • Sidebar Collassabile: Ottimizza lo spazio di lavoro
  • Ricerca e Filtri Avanzati:
    • Ricerca globale in tutti i campi (Tracking, ID Ordine, Destinazione, ecc.)
    • Filtro per piattaforma e categoria
    • Mostra/nascondi ordini consegnati

πŸ”” Sistema di Allarmi Visivi

  • Verde: Materiale consegnato (evidenziazione intera riga)
  • Rosso: Consegna scaduta
  • Arancione: Consegna prevista per oggi
  • Giallo: Consegna in arrivo (entro 2 giorni)
  • Notifiche Popup: Avviso all'avvio per consegne scadute

πŸ“Š Export/Import Dati

  • Export Multipli Formati:
    • Excel (.xlsx): Con formattazione colori e stili
    • CSV: Per compatibilitΓ  universale
    • JSON: Per backup completi
  • Import JSON: Importa ordini da file JSON

πŸ’Ύ Backup Automatico

  • Backup automatico del database
  • Gestione automatica dei backup (mantiene ultimi 10)
  • Creazione backup manuale dalle impostazioni
  • Ripristino da backup
  • Archiviazione Immagini Locale: Download e salvataggio automatico delle immagini nel DB (BLOB) per uso offline.

βš™οΈ Impostazioni Personalizzabili

  • Selezione tema (Chiaro/Scuro)
  • Configurazione notifiche
  • Giorni di anticipo per allarmi
  • Integrazione Email OAuth2 (Hotmail/Outlook)
  • Backup automatico
  • Visualizzazione ordini consegnati

πŸ“§ Sincronizzazione Email Avanzata

  • Auto-Tracking: Estrazione automatica di tracking, vettore e stato dalle email.
  • Supporto Multilingua: Rilevamento termini in Italiano e Inglese.
  • Smart Matching: Associazione intelligente basata su numero di tracking o ID ordine.

πŸ” FunzionalitΓ  Avanzate

  • Menu Contestuale: Click destro per azioni rapide
  • Doppio Click: Modifica rapida ordini
  • Validazione Input: Controlli su URL, quantitΓ  e campi obbligatori
  • Logging Completo: Tracciamento di tutte le operazioni
  • Performance Ottimizzate: Indici database per query veloci
  • Ordinamento Colonne: Click su intestazioni per ordinare
  • Ricerca Globale: Trova ordini per Numero di Tracking, ID Sito o Destinazione istantaneamente.
  • Preview Immagini: Tooltip con miniature (150px) ricavate dal database locale al passaggio del mouse su qualsiasi cella.

πŸ›οΈ Piattaforme Supportate

L'applicazione include parser avanzati e workflow ottimizzati per le seguenti piattaforme principali:

  • βœ… Amazon (Estrazione automatica e parsing date intelligente)
  • βœ… AliExpress (Deep Scraping di tracking, venditore e date)
  • βœ… eBay (Workflow di importazione assistito)
  • βœ… Temu (Workflow di importazione assistito)

Important

Hai bisogno di supporto per un'altra piattaforma (es. Vinted, Shein, Zalando, ecc.)? Apri una Issue su GitHub per farne esplicita richiesta! Svilupperemo nuovi parser in base ai suggerimenti della community.

πŸ“₯ Installazione Rapida (Linux)

Il modo piΓΉ semplice per configurare tutto Γ¨ usare lo script di setup automatizzato:

git clone https://github.com/losciuto/delivery-tracker.git
cd delivery-tracker
chmod +x setup.sh
./setup.sh

Questo script configurerΓ  l'ambiente virtuale, installerΓ  le dipendenze e verificherΓ  le librerie di sistema.


πŸ› οΈ Requisiti

  • Python 3.8+
  • PyQt6
  • PyQt6-Charts
  • openpyxl (per export Excel)

πŸ“₯ Installazione Manuale

Se preferisci installare manualmente:

  1. Clona o scarica la repository:
git clone https://github.com/losciuto/delivery-tracker.git
cd delivery-tracker
  1. Installa le dipendenze (si consiglia l'uso di un ambiente virtuale):
pip install -r requirements.txt

πŸš€ Utilizzo

Avvia l'applicazione con lo script di avvio rapido:

./run.sh

Oppure manualmente:

python main.py

Prima Configurazione

  1. All'avvio, l'applicazione creerΓ  automaticamente il database
  2. Accedi alle Impostazioni per configurare tema e notifiche
  3. Inizia ad aggiungere i tuoi ordini!

Navigazione

  • Dashboard: Visualizza statistiche e panoramica generale
  • Ordini: Gestisci la lista completa degli ordini
  • Sidebar: Accesso rapido a tutte le funzioni
  • Menu File: Export/Import dati
  • Menu Visualizza: Cambia vista rapidamente

Gestione Ordini

  • Aggiungi: Click su "Aggiungi" nella sidebar o Ctrl+N
  • Modifica: Doppio click su un ordine o seleziona e click "Modifica"
  • Elimina: Seleziona e click "Elimina" (con conferma)
  • Segna Consegnato: Click destro β†’ "Segna come Consegnato"

Ricerca e Filtri

  • Usa la barra di ricerca per trovare ordini specifici
  • Filtra per piattaforma o categoria
  • Nascondi ordini consegnati per focus sui pendenti

πŸ“ Struttura Progetto

delivery-tracker/
β”œβ”€β”€ main.py              # Entry point con styling
β”œβ”€β”€ gui/                 # Package interfaccia grafica
β”‚   β”œβ”€β”€ __init__.py      # Espone MainWindow
β”‚   β”œβ”€β”€ main_window.py   # Logica principale finestra
β”‚   └── dialogs.py       # Dialoghi (Ordine, Impostazioni)
β”œβ”€β”€ database.py          # Gestione database SQLite
β”œβ”€β”€ config.py            # Configurazioni e temi
β”œβ”€β”€ utils.py             # Utility e helper functions
β”œβ”€β”€ widgets.py           # Widget personalizzati (Dashboard, ecc.)
β”œβ”€β”€ export_manager.py    # Gestione export/import
β”œβ”€β”€ requirements.txt     # Dipendenze Python
β”œβ”€β”€ README.md           # Questo file
β”œβ”€β”€ README_EN.md        # English version
β”œβ”€β”€ LICENSE             # Licenza GPL-3.0
β”œβ”€β”€ logs/               # File di log (auto-creato)
β”œβ”€β”€ backups/            # Backup database (auto-creato)
└── delivery_tracker.db # Database SQLite (auto-creato)

πŸ”§ Tecnologie Utilizzate

  • PyQt6: Framework GUI moderno
  • PyQt6-Charts: Grafici e visualizzazioni
  • SQLite: Database leggero e veloce
  • openpyxl: Export Excel con formattazione
  • Python logging: Sistema di logging robusto

πŸ“ Note Tecniche

Database

  • Utilizza SQLite con indici ottimizzati
  • Foreign keys abilitate per integritΓ  referenziale
  • Migrazione automatica per nuove colonne
  • Supporto per categorie e allegati (futuro)

Performance

  • Indici su colonne frequentemente interrogate
  • Query ottimizzate con filtri
  • Caricamento lazy dei dati
  • Caching intelligente

Sicurezza

  • Validazione input completa
  • Gestione errori robusta
  • Backup automatici
  • Logging di tutte le operazioni

πŸ› Risoluzione Problemi

L'applicazione non si avvia

  • Verifica che Python 3.8+ sia installato
  • Controlla che tutte le dipendenze siano installate: pip install -r requirements.txt
  • Controlla i log in logs/ per errori specifici

Errori di export Excel

  • Assicurati che openpyxl sia installato: pip install openpyxl

Database corrotto

  • Ripristina da un backup in backups/
  • O elimina delivery_tracker.db per ricrearlo (perderai i dati)

πŸ”„ Aggiornamenti v2.6.0

  • βœ… Ricerca Globale Ottimizzata: Estesa la ricerca a tutti i campi (Tracking, ID Ordine Sito, Destinazione, Vettore, ecc.).
  • βœ… Persistence Imaging (BLOB): Le immagini dei prodotti vengono ora scaricate e memorizzate direttamente nel database.
  • βœ… Thumbnail Tooltips: Visualizzazione istantanea di una miniatura dell'articolo (150x150) passando con il mouse su qualsiasi cella della riga.
  • βœ… AliExpress Deep Scraping: Estrazione automatica avanzata di Venditore, Destinazione, Numero di Tracking e Consegna Stimata.

πŸ”„ Aggiornamenti v2.4.0

  • βœ… Merge Intelligente Duplicati: PossibilitΓ  di unire dati da file esterni in ordini esistenti, riempiendo solo i campi vuoti.
  • βœ… Logica Best-Match: Sistema di associazione articoli per ordini multi-prodotto basato su tokenizzazione delle descrizioni.
  • βœ… Documentazione Scraping: Nuova guida sulle Soluzioni di Scraping e workflow assistiti.

πŸ”„ Aggiornamenti v2.3.0

  • βœ… Importazione Universale: Supporto per Excel, CSV e JSON con anteprima e rilevamento duplicati intelligente.
  • βœ… Dati Prodotto: Nuovi campi per Prezzo e Link Immagine con visualizzazione in tabella.
  • βœ… IA Scraping: Workflow /import-temu per l'estrazione automatizzata di ordini complessi via browser.
  • βœ… Cleanup UI: Rimozione delle procedure di importazione HTML/URL obsolete per una maggiore stabilitΓ .

πŸ”„ Aggiornamenti v2.2.1

  • βœ… Ottimizzazione UI: Layout migliorato per monitor da 19" e riorganizzazione sidebar.
  • βœ… Azioni Rapide: Pulsante Aggiorna spostato in posizione prioritaria.

πŸ”„ Aggiornamenti v2.2.0

  • βœ… Email Sync 2.0:
    • Scansione dinamica basata sulle piattaforme attive nel database.
    • Supporto ottimizzato per Too Good To Go.
    • Estrazione ID Temu migliorata (supporto 15-20 cifre).
    • PrioritΓ  estrazione Order ID rispetto al Tracking per evitare sovrapposizioni.
    • Logica "Smart State": prioritΓ  all'oggetto email e riconoscimento conferme d'ordine.
  • βœ… UI & UX:
    • Raggruppamento Ordini: Evidenziazione dinamica degli articoli appartenenti allo stesso ID Ordine.
    • Indicatore Visivo: Icona πŸ”— per ordini multipli.
    • Duplicazione Intelligente: Funzione per copiare un ordine esistente.
    • Ordinamento LIFO predefinito e alfabetizzazione di piattaforme e categorie.

πŸ”„ Aggiornamenti v2.1.1

  • βœ… Fix Impostazioni: Campo email ora modificabile manualmente.

πŸ”„ Aggiornamenti v2.1.0

  • βœ… ID Ordine Sito: Nuovo campo per tracciamento ordini Amazon/eBay/ecc.
  • βœ… Stato Dinamico: Colonna stato con colorazione condizionale intelligente.
  • βœ… Email Sync Pro:
    • Supporto IT/EN completo.
    • Ricerca per data (SINCE) e scansione folder ottimizzata.
    • Fix bug estrazione e logging avanzato.

πŸ”„ Aggiornamenti v2.0.2

  • βœ… Fix: Risolto problema dipendenza mancante (PyQt6-Charts)
  • βœ… UI: Icone sidebar piΓΉ intuitive e moderne
  • βœ… Miglioramenti: StabilitΓ  generale e cleanup codice

πŸ”„ Aggiornamenti v2.0.0

Nuove FunzionalitΓ 

  • βœ… Dashboard con statistiche e grafici
  • βœ… Ricerca e filtri avanzati
  • βœ… Export Excel con formattazione
  • βœ… Sistema di backup automatico
  • βœ… Supporto categorie
  • βœ… Tema chiaro/scuro
  • βœ… Impostazioni personalizzabili
  • βœ… Menu contestuale
  • βœ… Validazione input migliorata
  • βœ… Logging completo

Miglioramenti

  • βœ… UI/UX completamente ridisegnata
  • βœ… Performance ottimizzate con indici database
  • βœ… Codice modulare e manutenibile
  • βœ… Gestione errori robusta
  • βœ… Documentazione completa

πŸ‘¨β€πŸ’» Autore

Massimo Lo Sciuto

  • Supporto: Antigravity
  • Sviluppo: Gemini 3 Pro

πŸ“„ Licenza

Questo progetto Γ¨ rilasciato sotto licenza GPL-3.0. Vedi il file LICENSE per i dettagli.

🀝 Contributi

I contributi sono benvenuti! Sentiti libero di aprire issue o pull request.

πŸ“§ Supporto

Per supporto o domande, apri una issue su GitHub.


Buon tracciamento delle tue consegne! πŸ“¦βœ¨

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors