Skip to content

Auticad/vibe-crm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Vibe CRM

CRM multi-tenant costruito con React, TypeScript e Supabase. Gestisce clienti, progetti, task e fatture all'interno di organizzazioni isolate con Row Level Security.


Stack

  • Frontend — React 18, TypeScript, Vite, Tailwind CSS, shadcn/ui
  • Backend — Supabase (PostgreSQL + RLS)
  • State / Data — TanStack React Query v5
  • Form — React Hook Form + Zod
  • PDF — @react-pdf/renderer
  • Kanban — @dnd-kit
  • Test — Vitest, Testing Library, Playwright

Avvio rapido

npm install
npm run dev

L'applicazione è disponibile su http://localhost:5173.

Configurazione Supabase richiesta: vedi docs/SETUP.md.


Struttura del progetto

src/
├── pages/           # Componenti di routing (una pagina per entità)
├── components/      # Componenti UI raggruppati per dominio
│   ├── auth/        # ProtectedRoute, SuperadminRoute
│   ├── clients/     # Tabella e dialog clienti
│   ├── invoices/    # Tabella, dialog, generazione PDF
│   ├── projects/    # Dialog progetti
│   ├── tasks/       # Tabella, dialog, KanbanBoard
│   ├── dashboard/   # StatCard, RevenueChart
│   ├── layout/      # AppSidebar, DashboardLayout, Header
│   └── ui/          # Libreria shadcn/ui (Radix UI)
├── hooks/           # Custom hooks (React Query) per ogni entità
├── services/        # Logica di business Supabase
├── contexts/        # AuthContext, ThemeContext
└── integrations/
    └── supabase/    # Client e tipi generati dal database

Funzionalità

  • Gestione clienti con anagrafica completa (email, telefono, indirizzo, P.IVA, stato)
  • Progetti con priorità, budget, date e collegamento al cliente
  • Task con vista lista e Kanban drag & drop
  • Fatture con voci di dettaglio, export PDF e stati (draft / sent / paid / overdue)
  • Dashboard con KPI e grafico dei ricavi
  • Upload allegati su progetti e task
  • Gestione utenti con ruoli: superadmin, owner, admin, member
  • Tema chiaro / scuro

Multi-tenancy

Ogni risorsa (client, progetto, fattura, ecc.) appartiene a un'organizzazione tramite organization_id. L'isolamento è garantito da Row Level Security a livello di database — non solo da filtri applicativi.

La cache di React Query viene svuotata a ogni login/logout per impedire l'accesso ai dati di un utente precedente.


Script disponibili

npm run dev          # Avvia il server di sviluppo
npm run build        # Build di produzione
npm run preview      # Anteprima della build
npm run lint         # Linting ESLint
npm test             # Esegue i test (single run)
npm run test:watch   # Test in modalità watch
npm run test:ui      # Dashboard UI dei test

Documentazione

La documentazione completa è nella cartella /docs:


Contatti

Pietro Cammise · pietro_cam@hotmail.com · linkedin.com/in/pietrocammise · github.com/Auticad


Licenza

MIT — vedi LICENSE

About

CRM multi-tenant per agency management: clienti, progetti, task Kanban e fatturazione con export PDF. Architettura React + Supabase con Row Level Security per isolamento dati per organizzazione.

Topics

Resources

License

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors