# πŸ₯ Clinica Veterinaria Formiginese - Guida di Installazione ## Requisiti di Sistema - **Node.js**: versione 18.x o superiore - **npm** o **pnpm**: gestore pacchetti - **Linux/Unix**: per il server di produzione - **Porta disponibile**: 3000 (sviluppo) o 5000 (produzione) --- ## πŸ“¦ Struttura del Pacchetto ``` clinica-deploy/ β”œβ”€β”€ clinica-app/ # Sorgenti React completi β”‚ β”œβ”€β”€ client/ # Frontend React β”‚ β”œβ”€β”€ server/ # Backend Express β”‚ β”œβ”€β”€ package.json # Dipendenze β”‚ └── ... β”œβ”€β”€ assets/ # Tutte le immagini (7 file) β”‚ β”œβ”€β”€ hero_dog_cat.jpg β”‚ β”œβ”€β”€ hero_dog.jpg β”‚ β”œβ”€β”€ hero_cat.jpg β”‚ β”œβ”€β”€ clinica_sede1.png β”‚ β”œβ”€β”€ clinica_ingresso1.png β”‚ β”œβ”€β”€ clinica_ingresso2.png β”‚ └── clinica_ingresso3.webp └── SETUP_ISTRUZIONI.md # Questo file ``` --- ## πŸš€ Installazione Passo-Passo ### 1. Estrai il pacchetto ZIP ```bash unzip clinica-veterinaria-deploy.zip cd clinica-deploy ``` ### 2. Copia le immagini nel progetto ```bash cp -r assets/* clinica-app/client/public/images/ mkdir -p clinica-app/client/public/images ``` ### 3. Installa le dipendenze ```bash cd clinica-app npm install # oppure se usi pnpm: pnpm install ``` ### 4. Aggiorna i percorsi delle immagini Apri il file `clinica-app/client/src/components/HeroSection.tsx` e sostituisci gli URL CDN con percorsi locali: **Prima (URL CDN):** ```javascript const heroImages = [ { url: "https://d2xsxph8kpxj0f.cloudfront.net/310519663483796440/DLUbzKbSnCG3dLeob4sLeC/ChatGPTImage28mar2026,18_49_09_7d867bcd.png", alt: "Clinica Veterinaria Formiginese - Sede esterna", }, // ... ]; ``` **Dopo (Percorsi locali):** ```javascript const heroImages = [ { url: "/images/clinica_sede1.png", alt: "Clinica Veterinaria Formiginese - Sede esterna", }, { url: "/images/hero_dog_cat.jpg", alt: "Golden retriever e gatto tabby insieme in un prato soleggiato", }, { url: "/images/clinica_ingresso1.png", alt: "Clinica Veterinaria Formiginese - Ingresso e sala d'attesa", }, { url: "/images/hero_dog.jpg", alt: "Ritratto maestoso di un Labrador", }, { url: "/images/clinica_ingresso2.png", alt: "Clinica Veterinaria Formiginese - Ingresso con logo", }, { url: "/images/hero_cat.jpg", alt: "Ritratto maestoso di un Maine Coon", }, { url: "/images/clinica_ingresso3.webp", alt: "Clinica Veterinaria Formiginese - Ingresso principale", }, ]; ``` ### 5. Build per produzione ```bash npm run build ``` Questo creerΓ  una cartella `dist/` con il sito compilato e ottimizzato. ### 6. Avvia il server di produzione ```bash npm run start ``` Il sito sarΓ  disponibile a: **http://localhost:3000** --- ## πŸ”§ Configurazione Avanzata ### Cambiare la porta Modifica il file `server/index.ts`: ```typescript const port = process.env.PORT || 5000; // Cambia 5000 con la porta desiderata ``` ### Configurare Nginx come reverse proxy Se usi Nginx, crea un file di configurazione: ```nginx server { listen 80; server_name tuodominio.it; location / { proxy_pass http://localhost:3000; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } } ``` ### Usare PM2 per gestire il processo ```bash npm install -g pm2 pm2 start npm --name "clinica" -- start pm2 save pm2 startup ``` --- ## πŸ“ Modifiche Personalizzate ### Cambiare il numero di telefono File: `client/src/components/HeroSection.tsx` ```typescript // Cambia questo numero ``` ### Cambiare i testi Tutti i testi sono nei componenti React in `client/src/components/`: - `HeroSection.tsx` - Titolo, sottotitolo, CTA - `AboutSection.tsx` - Descrizione della clinica - `ServicesSection.tsx` - Descrizione servizi - `TeamSection.tsx` - Nomi e specializzazioni - `NewsSection.tsx` - Articoli del blog - `BookingSection.tsx` - Form prenotazioni - `AuthSection.tsx` - Registrazione/Login - `Footer.tsx` - Informazioni di contatto ### Cambiare i colori File: `client/src/index.css` Cerca le variabili OKLCH e modifica i valori: ```css --primary: oklch(0.623 0.214 259.815); /* Blu petrolio */ --accent: oklch(0.967 0.001 286.375); /* Verde acqua */ ``` --- ## πŸ› Troubleshooting ### Errore: "npm: command not found" Installa Node.js: ```bash curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash - sudo apt-get install -y nodejs ``` ### Errore: "Port 3000 already in use" Cambia la porta: ```bash PORT=5000 npm start ``` ### Immagini non si caricano Verifica che le immagini siano in `client/public/images/` e che i percorsi in `HeroSection.tsx` siano corretti. --- ## πŸ“Š Struttura dei Componenti ``` client/src/ β”œβ”€β”€ components/ β”‚ β”œβ”€β”€ Navbar.tsx # Barra di navigazione β”‚ β”œβ”€β”€ HeroSection.tsx # Carousel hero con immagini β”‚ β”œβ”€β”€ ServicesSection.tsx # Radiologia, Chirurgia, Laboratorio β”‚ β”œβ”€β”€ AboutSection.tsx # Chi Siamo β”‚ β”œβ”€β”€ TeamSection.tsx # I 6 professionisti β”‚ β”œβ”€β”€ NewsSection.tsx # Blog/News β”‚ β”œβ”€β”€ BookingSection.tsx # Prenotazione visite β”‚ β”œβ”€β”€ AuthSection.tsx # Registrazione/Login β”‚ β”œβ”€β”€ Footer.tsx # Footer β”‚ └── ui/ # Componenti shadcn/ui β”œβ”€β”€ pages/ β”‚ β”œβ”€β”€ Home.tsx # Pagina principale β”‚ └── NotFound.tsx # Pagina 404 β”œβ”€β”€ App.tsx # Router e layout β”œβ”€β”€ index.css # Stili globali └── main.tsx # Entry point React ``` --- ## 🎨 Design System **Colori:** - Blu petrolio (primary): `#1B4F72` - Verde acqua (accent): `#4ECDC4` - Sabbia (secondary): `#F5E6D3` - Bianco (background): `#FFFFFF` **Font:** - Display: Cormorant Garamond (serif) - Body: Nunito Sans (sans-serif) **Spacing:** - Base unit: 4px (Tailwind default) - Container max-width: 1280px --- ## πŸ“ž Supporto Per domande o problemi: 1. Controlla i log: `npm run dev` per vedere gli errori in tempo reale 2. Verifica che Node.js sia aggiornato: `node --version` 3. Pulisci la cache: `rm -rf node_modules && npm install` --- ## βœ… Checklist Pre-Produzione - [ ] Tutte le immagini sono copiate in `client/public/images/` - [ ] I percorsi delle immagini in `HeroSection.tsx` sono aggiornati - [ ] Il numero di telefono Γ¨ corretto - [ ] I testi sono personalizzati - [ ] La build Γ¨ stata creata: `npm run build` - [ ] Il server parte senza errori: `npm start` - [ ] Le immagini si caricano correttamente - [ ] Il carousel funziona (3 secondi per immagine) - [ ] I pulsanti CTA funzionano - [ ] Il sito Γ¨ responsive su mobile --- **Versione:** 1.0.0 **Data:** 31 Marzo 2026 **Tecnologie:** React 19, Node.js, Express, Tailwind CSS 4