Files
clinica-veterinaria-formigi…/README.md

4.9 KiB

Clinica Veterinaria Formiginese

Repository operativo del sito della Clinica Veterinaria Formiginese, con frontend React/Vite e backend FastAPI per la gestione delle richieste di prenotazione.

Struttura

  • clinica-app/ - frontend React + Vite e build pubblica del sito
  • backend/ - backend FastAPI, schema prenotazione e servizio email
  • assets/ - materiali grafici di supporto
  • deploy_to_local_server.bat - aggiorna la copia locale di deploy partendo da Gitea
  • SETUP_ISTRUZIONI.md - note di installazione storiche

Stack

  • Frontend: React 19, TypeScript, Tailwind CSS, Vite
  • Backend: FastAPI, Uvicorn
  • Web server online: Apache
  • Certificati: Let's Encrypt / Certbot

Ambiente locale

Repository di lavoro

Percorso:

C:\devel\clinica_veterinaria_formiginese

Per sviluppo rapido:

cd C:\devel\clinica_veterinaria_formiginese\clinica-app
pnpm install
pnpm dev

Nota: la porta di sviluppo Vite e stata spostata a 3001, per evitare conflitti con Gitea in locale.

Repository di deploy locale

Percorso:

C:\deploy\clinica_veterinaria_formiginese

Il sito locale servito da Caddy legge questa copia, non quella in C:\devel\....

Per aggiornare il deploy locale:

deploy_to_local_server.bat

Attenzione: lo script riallinea la copia locale di deploy a cio che e stato pushato su Gitea.

Build frontend

Da eseguire dentro clinica-app/:

pnpm build

Prenotazioni

La form di prenotazione usa anche il campo doctor (medico richiesto). L'invio email passa da Mailjet API, con Reply-To valorizzato con l'indirizzo inserito da chi compila il modulo. Il backend mantiene protezioni anti-abuso: flag di attivazione, CAPTCHA, honeypot, rate limit e audit log JSONL.

Quando si pubblicano modifiche che toccano la form, vanno aggiornati insieme:

  • frontend React
  • backend FastAPI

In particolare:

  • backend/app/schemas/booking.py
  • backend/app/services/mailer.py

Deploy online

Server attuale:

ubuntu@129.152.31.221

Percorso progetto:

/var/www/clinicaveterinariaformiginese.it

Aggiornamento codice

La cartella online non contiene una working copy Git. Le modifiche vanno quindi pubblicate copiando i file via WinSCP/SFTP dopo commit e push su Gitea.

Build frontend

cd /var/www/clinicaveterinariaformiginese.it/clinica-app
pnpm build

Riavvio servizi

sudo systemctl restart clinicaveterinaria-backend.service
sudo systemctl reload apache2

Verifiche utili

systemctl status clinicaveterinaria-backend.service --no-pager
journalctl -u clinicaveterinaria-backend.service -n 50 --no-pager
curl -I https://www.clinicaveterinariaformiginese.it/

Nota importante su Vite

Nel build di produzione il runtime Manus deve restare disattivato. La configurazione e gia stata corretta in:

clinica-app/vite.config.ts

I plugin Manus sono attivi solo in sviluppo, non nel build di produzione.

Redirect domini veterinarioformigine

Sono stati configurati 5 domini accessori per reindirizzare sempre verso:

https://www.centrofaunaselvatica.it/

Domini gestiti:

  • veterinarioformigine.it
  • veterinarioformigine.com
  • veterinarioformigine.eu
  • veterinarioformigine.info
  • veterinarioformigine.cloud

Per ciascuno sono attivi anche i rispettivi host www.

Comportamento atteso

Tutti questi URL devono restituire:

301 Moved Permanently
Location: https://www.centrofaunaselvatica.it/

Configurazione Apache

I virtual host HTTP sono stati creati in:

/etc/apache2/sites-available/veterinarioformigine.*.conf

I virtual host HTTPS creati da Certbot sono in:

/etc/apache2/sites-available/veterinarioformigine.*-le-ssl.conf

Certificato

Certificato emesso con:

sudo certbot --apache \
  -d veterinarioformigine.it -d www.veterinarioformigine.it \
  -d veterinarioformigine.com -d www.veterinarioformigine.com \
  -d veterinarioformigine.eu -d www.veterinarioformigine.eu \
  -d veterinarioformigine.info -d www.veterinarioformigine.info \
  -d veterinarioformigine.cloud -d www.veterinarioformigine.cloud

Scadenza attuale del certificato:

2026-08-25

Verifica redirect domini accessori

curl -I https://veterinarioformigine.it
curl -I https://www.veterinarioformigine.it
curl -I https://veterinarioformigine.com
curl -I https://www.veterinarioformigine.com
curl -I https://veterinarioformigine.eu
curl -I https://www.veterinarioformigine.eu
curl -I https://veterinarioformigine.info
curl -I https://www.veterinarioformigine.info
curl -I https://veterinarioformigine.cloud
curl -I https://www.veterinarioformigine.cloud

Git

Branch operativo corrente:

backend_init

Flusso consigliato:

  1. Modifiche in C:\devel\clinica_veterinaria_formiginese
  2. Test con pnpm dev
  3. Commit e push su Gitea
  4. Deploy locale con deploy_to_local_server.bat
  5. Deploy online su Linux quando approvato