Splitify ti aiuterà a dividere correttamente le spese tra i tuoi amici.
- Frontend: React (Vite), TypeScript, Mantine UI, TanStack Query, Zustand, Socket.IO
- Backend: Node.js, Express, Postgres (prisma), typia, Socket.IO
- Containerization: Docker,
# Copia il compose.yml su una cartella su tuo server
docker compose pull && docker compose up -d
# verrà creata la cartella "./db" contenente i dati di postgres
# Questo comando aggiornerà l'immagine da ghcr.io all'ultima versionePrima di eseguire il deploy, specialmente se intendi utilizzare un dominio, è raccomandato creare un file .env accanto al tuo compose.yml e passare le variabili al container tramite docker.
Ecco le variabili supportate che puoi impostare:
RP_ID: Il dominio del server (es.splitify.miodominio.com). Il default èlocalhost. È necessario impostarlo in produzione affinché funzionino le Passkey.RP_ORIGIN: L'origine completa per WebAuthn (es.https://splitify.miodominio.com). Il default èhttp://localhost:8080.ADMIN_EMAIL: Obbligatorio. L'email dell'account admin predefinito che viene creato al primo avvio. Se non definita (e non ci sono admin), il backend si rifiuterà di avviarsi.SMTP_HOST: Obbligatorio. L'host del server SMTP per l'invio delle email di OTP (es.smtp.gmail.com). Se non definito, il backend si rifiuterà di avviarsi.SMTP_PORT: La porta del server SMTP (es.465o587). Default587.SMTP_USER: L'username per l'autenticazione SMTP.SMTP_PASS: La password per l'autenticazione SMTP.SMTP_FROM: L'indirizzo mittente (es.Splitify <noreply@miodominio.com>). Se non definito, utilizza di default il valore diSMTP_USER.DATABASE_URL: Stringa di connessione a Postgres. Il default in produzione èpostgresql://splitify:splitify_password@postgres:5432/splitify?schema=public.PORT: Porta su cui il server backend ascolta internamente. Default8080.CORS_ALLOW: Impostare atrueo1per abilitare CORS.TRUST_PROXY: Impostare atrue(o a un IP/subnet specifico comeloopbacko192.168.1.0/24) se il server è dietro a un reverse proxy (es. Nginx, Cloudflare, Traefik). Questo permette al backend di leggere correttamente l'indirizzo IP reale del client.DEBUG: Impostare atrueo1per avviare il container in modalità sviluppo.
docker compose -f ./compose.build.yml up -d --buildVisita http://localhost:80 nel tuo browser per utilizzare l'applicazione.
