Un'applicazione React a tema natalizio per gestire le liste di Babbo Natale e interagire con un agente AI.
Questo progetto è il frontend di un servizio backend che permette di:
- Visualizzare la lista dei bambini cattivi
- Visualizzare la lista dei bambini buoni
- Gestire le letterine per Babbo Natale
- Interagire con un agente AI per modificare le liste
npm installnpm run devL'applicazione sarà disponibile su http://localhost:5173
Il backend deve essere in esecuzione su http://localhost:5288 e deve esporre le seguenti API:
Restituisce le liste di Babbo Natale
Risposta esempio:
{
"naughtyList": ["Luca", "Fabio", "Roberto", "Giuseppe", "Luigi"],
"niceList": ["Andrea", "Lorenzo", "Federico", "Mario"],
"santaLetter": [
{ "quantity": 1, "gift": "macchinina", "recipient": "Andrea" },
{ "quantity": 3, "gift": "giochi in scatola", "recipient": "Federico" },
{ "quantity": 2, "gift": "videogiochi", "recipient": "Mario" }
]
}Invia una richiesta all'agente AI
Body esempio:
{
"request": "Aggiungi Mario alla lista dei buoni e Luigi alla lista dei cattivi"
}Risposta esempio:
{
"agentResponse": "Ho aggiunto con gioia Mario alla lista dei buoni! 🎉..."
}- Design a tema natalizio con colori ispirati a Babbo Natale
- Material-UI per i componenti UI
- Custom hooks per la gestione dello stato
- TypeScript per la type-safety
- Responsive design con layout a 3 colonne
- Aggiornamento automatico delle liste dopo ogni richiesta all'agente
src/
├── api.ts # Servizi API
├── types.ts # Type definitions
├── hooks/
│ └── useSantaLists.ts # Custom hook per le liste
├── components/
│ ├── AgentInput.tsx # Componente input per l'agente
│ ├── NaughtyList.tsx # Lista dei cattivi
│ ├── NiceList.tsx # Lista dei buoni
│ └── SantaLetterList.tsx # Letterine per Babbo Natale
└── App.tsx # Componente principale
- React 19
- TypeScript
- Material-UI (@mui/material)
- Vite
- Emotion (CSS-in-JS)