Una challenge pratica per migliorare le proprie skill con GitHub Copilot sviluppando un CRM completo utilizzando tecniche di sviluppo assistito da AI.
L'obiettivo di questa challenge è imparare a utilizzare efficacemente GitHub Copilot per:
- Generare codice in modo efficiente
- Implementare funzionalità complesse con l'aiuto dell'AI
- Migliorare la produttività nello sviluppo software
- Comprendere come collaborare con un assistente AI nel processo di sviluppo
- React 19 - Libreria UI
- TypeScript - Tipizzazione statica
- Vite - Build tool e dev server
- Tailwind CSS 4 - Framework CSS utility-first
- ReUI - Component library per React
- SQLite (sql.js) - Database nel browser per la persistenza dei dati
⚠️ Nota: Per semplicità, tutte le funzionalità dovranno essere implementate utilizzando SQLite come database nel browser. Questo permette di avere persistenza dei dati senza necessità di un backend esterno.
- Node.js 20.19 o superiore
- NPM installato sul PC
- (Opzionale) ReUI MCP Server per migliorare l'assistenza di GitHub Copilot → Guida installazione
-
Clona il repository e accedi alla root del progetto:
cd agentic-crm-challenge -
Installa le dipendenze:
npm install
-
Esegui la build:
npm run build
-
Avvia il server di sviluppo:
npm run dev
-
Apri il browser su
http://localhost:5173
Di seguito i task da completare durante la challenge. Usa GitHub Copilot per aiutarti nell'implementazione!
- Configurare sql.js per utilizzare SQLite nel browser
- Creare lo schema del database per contacts, companies, deals, tasks, notes
- Implementare le funzioni CRUD base
- Collegare la lista contatti al database SQLite
- Implementare creazione nuovo contatto con salvataggio su DB
- Implementare modifica e eliminazione contatti
- Collegare la lista aziende al database SQLite
- Implementare creazione nuova azienda con salvataggio su DB
- Implementare modifica e eliminazione aziende
- Collegare la pipeline deals al database SQLite
- Implementare drag & drop con aggiornamento stato su DB
- Implementare creazione e modifica deals
- Implementare persistenza tasks
- Implementare persistenza note
- Collegare tasks e note a contatti/aziende
- Implementare query aggregate per statistiche
- Creare grafici dinamici basati sui dati reali
- Aggiungere filtri per periodo temporale
- Implementare ricerca full-text
- Aggiungere export/import dati
- Implementare undo/redo operazioni
Leggi copilot-instructions.md per la configurazione, le best practice e le convenzioni del repository.
Consulta prompts/challenges per una libreria di prompt riutilizzabili, pensata appositamente per questo progetto.
Suggerimento rapido: quando chiedi a Copilot di generare codice, includi i percorsi dei file, i tipi e richiedi l’allineamento a TypeScript in modalità strict, alle regole degli hook ESLint, all’ordinamento delle classi Tailwind e agli import con alias @.
Questo progetto è stato creato per scopi educativi.
