Files
Alberto Balbo 77eb9943d0 Gestione avanzata database e rimozione MaxClicks
Aggiunta sezione impostazioni per manutenzione database (auto-salvataggio, pulizia duplicati/incompleti, retention, ottimizzazione). Implementati metodi asincroni in DatabaseService per pulizia e statistiche. Pulizia automatica all’avvio secondo impostazioni. Rimossa la proprietà MaxClicks da modello, UI e logica. Migliorata la sicurezza thread-safe e la trasparenza nella gestione dati. Spostato il badge versione nelle info applicazione.
2026-01-24 01:30:49 +01:00
..
2025-11-04 23:05:49 +01:00
2025-10-28 12:45:08 +01:00
2025-10-28 12:45:08 +01:00

?? AutoBidder - Sistema Automatizzato Gestione Aste Bidoo

Version .NET Blazor Docker Security License

Sistema Blazor .NET 8 per il monitoraggio e la partecipazione automatica alle aste Bidoo, con autenticazione sicura per deploy Tailscale.


?? Quick Start

?? NUOVO v1.2.0: Configurazione Sicurezza

# 1. Copia e configura credenziali
cp .env.example .env
nano .env  # Imposta ADMIN_PASSWORD

# 2. Avvia container
docker-compose up -d

# 3. Primo login
# Browser: http://localhost:5000/login
# Username: admin
# Password: (valore ADMIN_PASSWORD)

Docker (CONSIGLIATO)

# Pull ultima versione da Gitea
docker pull gitea.encke-hake.ts.net/alby96/autobidder:1.2.0

# Avvia container CON AUTENTICAZIONE
docker run -d \
  --name autobidder \
  -p 5000:8080 \
  -e ADMIN_USERNAME=admin \
  -e ADMIN_PASSWORD="TuaPasswordSicura123!" \
  -v /path/to/data:/app/Data \
  gitea.encke-hake.ts.net/alby96/autobidder:1.2.0

# Accedi a http://localhost:5000/login

Docker Compose

# 1. Configura .env
cp .env.example .env
# Imposta ADMIN_PASSWORD in .env

# 2. Avvia stack
docker-compose up -d

Development Locale

# Imposta password admin
export ADMIN_PASSWORD="DevPassword123!"

# Avvia applicazione
dotnet run --project AutoBidder.csproj

# Accedi a http://localhost:8080/login

?? Versione Corrente: 1.2.0

Release: 2025-01-18
Tipo: MINOR (feature sicurezza + autenticazione)

?? Novità v1.2.0 - SICUREZZA

  • ?? Sistema autenticazione completo

    • Login username/password con ASP.NET Core Identity
    • Protezione brute-force (lockout 15 min dopo 5 tentativi)
    • Cookie sicuri (HttpOnly, SameSite)
    • Password policy forte (min 12 caratteri)
  • ??? Protezione route

    • Tutte le pagine richiedono autenticazione
    • Redirect automatico a /login
    • Gestione sessioni sicura
  • ?? Configurazione utente admin

    • Username/password via environment variables
    • Password temporanea se non configurata (?? da cambiare!)
    • Database Identity SQLite persistente

?? Changelog Completo | ?? Guida Sicurezza


? Caratteristiche Principali

?? Monitoraggio Aste Real-time

  • Rilevamento automatico nuove aste
  • Tracking partecipanti e offerte
  • Calcolo valore prodotto e probabilità vittoria
  • Notifiche eventi importanti

?? Sistema Offerte Automatico

  • Strategie configurabili per tipo prodotto
  • Gestione budget e limiti
  • Auto-bid su aste promettenti
  • Prevenzione overbid

?? Statistiche Avanzate

  • Database PostgreSQL per analytics
  • Storico aste chiuse
  • Analisi performance prodotti
  • Dashboard interattive

?? Gestione Sessione Sicura

  • Login automatico Bidoo
  • Session persistence
  • Cookie management
  • Auto-refresh token

?? Persistenza Dati

  • SQLite per dati operativi
  • PostgreSQL per statistiche
  • Backup automatici
  • Export/Import configurazioni

?? Struttura Progetto

AutoBidder/
??? ?? AutoBidder.csproj          # Configurazione progetto (.NET 8)
??? ?? Dockerfile                  # Container image definition
??? ?? docker-compose.yml          # Stack completo (app + PostgreSQL)
??? ?? Program.cs                  # Entry point applicazione
??? ?? CHANGELOG.md                # Storico versioni
??? ?? VERSIONING.md               # Sistema versionamento
?
??? ?? Pages/                      # Blazor Pages
?   ??? Index.razor                # Dashboard principale
?   ??? FreeBids.razor             # Gestione crediti gratuiti
?   ??? Settings.razor             # Configurazione
?   ??? Statistics.razor           # Analytics avanzate
?
??? ?? Services/                   # Business Logic
?   ??? AuctionMonitor.cs          # Core monitoring engine
?   ??? BidooApiClient.cs          # API client Bidoo
?   ??? SessionManager.cs          # Gestione autenticazione
?   ??? StatsService.cs            # Analytics service
?   ??? DatabaseService.cs         # Data persistence
?
??? ?? Data/                       # Database Contexts
?   ??? StatisticsContext.cs       # SQLite context
?   ??? PostgresStatsContext.cs    # PostgreSQL context
?
??? ?? Models/                     # Data Models
?   ??? AuctionInfo.cs
?   ??? BidderInfo.cs
?   ??? ProductStat.cs
?   ??? ...
?
??? ?? Properties/PublishProfiles/ # Profili pubblicazione
    ??? GiteaRegistry.pubxml       # Gitea Container Registry

?? Configurazione

Variabili Ambiente

# Ambiente ASP.NET
ASPNETCORE_ENVIRONMENT=Production
ASPNETCORE_URLS=http://+:8080

# Kestrel
Kestrel__EnableHttps=false

# Database
Database__SQLitePath=/app/Data/autobidder.db
Database__PostgreSQLConnection=Host=postgres;Database=autobidder_stats;Username=autobidder;Password=***

# Bidoo
Bidoo__Username=your_email@example.com
Bidoo__Password=your_password
Bidoo__MonitorInterval=5000

# Backup
Backup__Enabled=true
Backup__IntervalHours=24

Porte

Ambiente Host Container Protocollo
Development 5001 5001 HTTPS
Docker 5000 8080 HTTP

?? Documentazione

Per Utenti

Per Sviluppatori

Changelog & Release


?? Deployment

Docker (Production)

# Pull versione specifica (CONSIGLIATO)
docker pull gitea.encke-hake.ts.net/alby96/autobidder:1.1.0

# Avvia con docker-compose
docker-compose up -d

# Verifica logs
docker-compose logs -f autobidder

# Accedi
http://localhost:5000

Unraid

  1. Aggiungi Container

    • Repository: gitea.encke-hake.ts.net/alby96/autobidder:1.1.0
    • Port: 5000 (host) ? 8080 (container)
    • Volume: /mnt/user/appdata/autobidder/data ? /app/Data
    • Volume: /mnt/user/appdata/autobidder/logs ? /app/logs
  2. Variabili Ambiente

    • ASPNETCORE_ENVIRONMENT=Production
    • Bidoo__Username=email@example.com
    • Bidoo__Password=***
  3. Avvia Container

?? Guida Completa Deployment


?? Aggiornamento Versione

Da v1.0.0 a v1.1.0

Breaking Changes:

  • ?? Porta container: 5000 ? 8080
  • ?? HTTPS disabilitato di default

Aggiornamento:

# 1. Stop container vecchio
docker stop autobidder
docker rm autobidder

# 2. Pull nuova versione
docker pull gitea.encke-hake.ts.net/alby96/autobidder:1.1.0

# 3. Aggiorna port mapping (5000:8080 invece di 5000:5000)
docker run -d \
  --name autobidder \
  -p 5000:8080 \
  -v /data:/app/Data \
  gitea.encke-hake.ts.net/alby96/autobidder:1.1.0

# 4. Verifica
docker logs -f autobidder

?? Note di Migrazione Complete


??? Sviluppo

Build Locale

# Restore dipendenze
dotnet restore

# Build
dotnet build

# Run
dotnet run

# Test
dotnet test

Build Docker

# Build immagine
docker build -t autobidder:dev .

# Test locale
docker run -p 5000:8080 autobidder:dev

Pubblicazione su Gitea

# Da Visual Studio
# Tasto destro ? Pubblica ? GiteaRegistry

# Da CLI
dotnet publish /p:PublishProfile=GiteaRegistry

Incremento Versione

# Bug fix (1.1.0 ? 1.1.1)
.\bump-version.ps1 -Type patch

# Nuova feature (1.1.0 ? 1.2.0)
.\bump-version.ps1 -Type minor

# Breaking change (1.1.0 ? 2.0.0)
.\bump-version.ps1 -Type major

?? Contribuire

  1. Fork del repository
  2. Crea feature branch (git checkout -b feature/amazing-feature)
  3. Commit modifiche (git commit -m 'feat: add amazing feature')
  4. Push al branch (git push origin feature/amazing-feature)
  5. Apri Pull Request

?? Contribution Guidelines


?? License

Questo progetto è rilasciato sotto licenza MIT. Vedi LICENSE per dettagli.


?? Supporto


?? Ringraziamenti


?? Roadmap

v1.2.0 (Q1 2025)

  • Notifiche email per aste vinte
  • Export statistiche CSV/Excel
  • Dashboard mobile-responsive

v1.3.0 (Q2 2025)

  • API REST pubblica
  • Integrazione webhook
  • Multi-utente support

v2.0.0 (Q3 2025)

  • Architettura microservizi
  • Supporto multi-piattaforma aste
  • Machine learning per predizioni

?? Roadmap Completa


Fatto con ?? usando .NET 8 e Blazor

?? Home?? Docs?? Changelog?? Issues

? Se ti piace il progetto, lascia una stella!