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.
?? AutoBidder - Sistema Automatizzato Gestione Aste Bidoo
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
- ?? CHANGELOG - Storico modifiche
- ?? VERSIONING - Sistema versioning
- ?? Bump Version Script - Automazione
?? 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
-
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
- Repository:
-
Variabili Ambiente
ASPNETCORE_ENVIRONMENT=ProductionBidoo__Username=email@example.comBidoo__Password=***
-
Avvia Container
?? 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
- Fork del repository
- Crea feature branch (
git checkout -b feature/amazing-feature) - Commit modifiche (
git commit -m 'feat: add amazing feature') - Push al branch (
git push origin feature/amazing-feature) - Apri Pull Request
?? License
Questo progetto è rilasciato sotto licenza MIT. Vedi LICENSE per dettagli.
?? Supporto
- ?? Segnala Bug
- ?? Richiedi Feature
- ?? Email: support@example.com
?? Ringraziamenti
- .NET Team per .NET 8 e Blazor
- PostgreSQL per il database
- Community open source
?? 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
Fatto con ?? usando .NET 8 e Blazor
?? Home • ?? Docs • ?? Changelog • ?? Issues
? Se ti piace il progetto, lascia una stella!