Skip to content

Customization

Cambiare i dati mock

Edita i file in src/assets/mock/. Vedi Mock Data.

I 6 file JSON disponibili:

FileContenuto
info.jsonRagione sociale, indirizzo, contatti, orari, servizi
attivita.json8 attività con categoria, capienza, livelli
abbonamenti.json5 piani con prezzi mensili/annuali/carnet
staff.json8 profili con certificazioni e specializzazioni
orari.jsonOrari generali + schedaOraria per attività
faq.json10 domande frequenti

Cambiare i colori

I design tokens sono in src/styles.css:

css
:root {
  --color-accent: #16a34a;        /* Verde campo — colore primario */
  --color-accent-dark: #14532d;   /* Verde scuro per hover */
  --color-secondary: #0ea5e9;     /* Blu acqua — piscina */
  --color-tertiary: #facc15;      /* Giallo energia */
  --color-hero-bg-start: #f0fdf4; /* Sfondo hero top */
  --color-hero-bg-end: #dcfce7;   /* Sfondo hero bottom */
}

Sostituisci public/favicon.ico e aggiungi il logo SVG in public/logo.svg. Modifica header.component.ts per usare <img> al posto dell'emoji.

Aggiungere route

  1. Crea il componente in src/app/pages/{nome}/
  2. Aggiungi la route in src/app/app.routes.ts:
typescript
{
  path: 'news',
  loadComponent: () => import('./pages/news/news.component').then((m) => m.NewsComponent),
  title: 'News — Polisport Center'
}
  1. Aggiungi il path in src/prerender-routes.txt

Cambiare i metadati SEO

Edita src/index.html per:

  • <title> globale
  • <meta name="description">
  • JSON-LD SportsActivityLocation (sport, amenityFeature, openingHours)

Per metadati per-route usa Title e Meta di @angular/platform-browser.

Possibili sviluppi customizzabili

12 idee specifiche per il verticale centro sportivo, ordinate per complessità:

  1. AI workout recommender Ollama: integra llama3.1:8b on-prem per suggerire programmi allenamento personalizzati in base a obiettivi e storico visite del socio — costo infra zero, privacy totale

  2. Integrazione Apple Health / Garmin / Fitbit: import dati attività tramite OAuth SDK ufficiali; aggiungi widget "Il mio progresso" nella area soci con grafici calorie/passi/frequenza cardiaca

  3. Biometria check-in QR: genera QR code univoco per ogni socio (JWT firmato), posiziona totem NFC/QR all'ingresso per check-in self-service con log su PostgreSQL

  4. Prenotazioni campi outdoor con TSP routing: ottimizza i turni di manutenzione erba sintetica calcolando il percorso minimo tra campi e pianificando irrigazione automatica (IoT + algoritmo Held-Karp semplificato)

  5. Video lezioni on-demand: carica lezioni yoga/pilates/spinning su Bunny CDN con HLS adaptive streaming, protegge i link con token JWT scadenza 2h, accessibili solo agli abbonati autenticati

  6. Payment ricorrente Stripe Connect: gestione abbonamenti mensili/annuali con rinnovo automatico, prorate upgrade/downgrade, fattura PDF automatica via Stripe Invoicing conforme a requisiti fiscali IT

  7. Family wallet digitale: crea un wallet condiviso tra i componenti del nucleo familiare (abbonamento Family) con budget mensile configurabile, notifiche push al superamento soglia, e storico spese per voce

  8. Analytics utilizzo per ottimizzare staffing: dashboard heatmap orari affluenza per ogni attività (dati check-in anonimizzati); suggerisce tagli turni in fasce basse e aperture extra in quelle sature, con export settimanale per il direttore

  9. Gamification badge e leaderboard: sistema achievement (primo allenamento, 50 ingressi, multidisciplina 3 sport diversi in 1 mese); leaderboard mensile opt-in con premi sconto abbonamento per top 10

  10. SMS broadcast segmentato: integra Vonage API per campagne SMS (es. "Padel libero domani sera — prenota ora") con segmentazione per tipo abbonamento, attività preferita e data ultima visita

  11. Schede allenamento PDF personalizzate: genera PDF settimanali con PDFLib (TypeScript) su richiesta del personal trainer; include esercizi, serie/rip, progressioni, note nutrizionali e QR per video tutorial

  12. App PWA companion: trasforma il sito in Progressive Web App installabile con manifest, service worker per offline, push notification per promemoria allenamento e scadenza abbonamento (Web Push API + VAPID key)

White-label per cliente

  1. Fork del repo o copia in nuova cartella
  2. Sostituisci centro-sportivo con nome cliente (sporting-bologna)
  3. Aggiorna tutti i JSON in src/assets/mock/ con dati reali del cliente
  4. Sostituisci footer rimuovendo riferimento a Federico (modifica footer.component.ts)
  5. Personalizza vercel.json con domain custom cliente
  6. Aggiorna JSON-LD in index.html con indirizzo reale e orari effettivi
  7. Deploy su Vercel cliente con loro account Vercel