Realizza una pagina vetrina di prodotti utilizzando l'API di DummyJSON.
La pagina deve includere:
- Paginazione per navigare tra i prodotti.
- Filtraggio per categoria.
- Barra di ricerca generica (per nome o descrizione).
Inoltre, implementa un sistema di gestione del carrello che consenta:
- Aggiunta di prodotti al carrello.
- Rimozione di prodotti dal carrello.
- Modifica delle quantità dei prodotti.
Il progetto deve seguire il principio del Test-Driven Development (TDD).
Utilizza le API di DummyJSON per:
- Ottenere i dati dei prodotti.
- Gestire il carrello (aggiunta, rimozione, modifica delle quantità).
- Paginazione: Mostra un numero limitato di prodotti per pagina.
- Filtraggio per categoria: Visualizza prodotti filtrati per categoria.
- Ricerca: Permetti di cercare prodotti per nome o descrizione.
- Gestione completa:
- Aggiunta di prodotti al carrello.
- Rimozione di prodotti dal carrello.
- Modifica della quantità dei prodotti presenti nel carrello.
- Integra una strategia di caching per ridurre le richieste al server e migliorare le prestazioni.
- Utilizza React.
- Puoi scegliere liberamente tra CSS puro, Tailwind CSS o altre librerie di stile.
- Scrivi almeno 4-5 test significativi per le funzionalità principali.
- Segui il principio del Test-Driven Development (TDD).
- Mantieni il codice leggibile e organizzato.
- Sei libero di definire lo stile e il design della pagina.
La valutazione si baserà sui seguenti aspetti:
- Leggibilità, pulizia e manutenibilità.
- Uso di buone pratiche di sviluppo.
- Completezza e rilevanza dei test rispetto alle funzionalità richieste.
- Implementazione di tutte le funzionalità previste.
- Ottimizzazione delle chiamate API e interazioni efficienti.
- Struttura del progetto ben organizzata.
- Effettua un fork di questo repository.
- Sviluppa la tua soluzione seguendo i requisiti.
- Esegui il commit e il push delle modifiche.
Hai piena libertà creativa per:
- La grafica.
- Le scelte tecniche.
Questo progetto è pensato per valutare il tuo approccio allo sviluppo e la tua capacità di affrontare sfide tecniche.
Buon lavoro! 🎉