Aggiunta barra azioni per gestione massiva limiti prodotto in Statistics.razor (applica, salva, attiva/disattiva, copia consigliati). Uniformati simboli euro e messaggi in italiano. Ottimizzata la logica del ticker: controllo puntata ora avviene prima del polling, gestione fine asta differita tramite PendingEndState. Introdotto controllo esplicito su MaxClicks per asta. Implementata cache delle impostazioni in SettingsManager per ridurre accessi disco. Vari fix minori e miglioramenti di robustezza.
?? 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!