diff --git a/javascript/12_Progetti/film/README.md b/javascript/12_Progetti/film/README.md
new file mode 100644
index 0000000..0781d49
--- /dev/null
+++ b/javascript/12_Progetti/film/README.md
@@ -0,0 +1,146 @@
+# Database Film
+
+Questo è un progetto del corso JavaScript.
+Dovrai creare una pagina web per cercare film usando l'**API OMDb** e salvarli nei preferiti con **localStorage**.
+
+Le funzionalità principali da implementare sono:
+1. **Ricerca film** - Usare `fetch` per cercare film per titolo
+2. **Mostrare i risultati in una tabella** - con poster, titolo, anno, tipo e pulsante "Aggiungi ai Preferiti"
+3. **Salvare nei preferiti** - Usare `localStorage` per salvare i film preferiti
+4. **Gestire i preferiti** - Disabilitare il pulsante se il film è già nei preferiti, e creare una pagina separata per visualizzare e rimuovere i preferiti
+
+## 🔑 Ottenere la Chiave API di OMDb
+
+Prima di iniziare, devi ottenere una **chiave API gratuita** da OMDb.
+
+### Passaggi per ottenere la chiave:
+
+1. **Vai sul sito OMDb**: http://www.omdbapi.com/apikey.aspx
+2. **Scegli il piano FREE (Gratis)**: seleziona *"FREE! (1,000 daily limit)"* che ti permette di fare 1000 richieste al giorno senza pagare. Non è necessario inserire i dati della carta di credito.
+3. **Compila il Form** con dei dati:
+ - **Email Address**: il tuo indirizzo email (DEVE ESSERE VALIDO, riceverai un'email)
+ - **First Name**: il tuo nome (puoi mettere un nome fittizio se vuoi)
+ - **Last Name**: il tuo cognome (anche questo può essere fittizio)
+ - **Use**: metti "Learning JavaScript" o qualcosa di simile
+ - Premi il pulsante "Submit" per inviare la richiesta
+4. **Controlla la Email**: riceverai un'email da OMDb con il soggetto "OMDb API - Free API Key". Se non la vedi, controlla la cartella spam o posta indesiderata. Qui troverai un link per attivare la tua chiave API e la tua chiave API stessa. Nota che se non attivi la chiave cliccando sul link, non funzionerà!
+
+5. **Copia la Chiave API**: dopo aver cliccato sul link di attivazione, vedrai la tua chiave API (è una stringa alfanumerica tipo `abc12345`). Copia questa chiave e incollala nel file `script.js` alla riga dove c'è la costante `API_KEY`.
+
+ ```javascript
+ const API_KEY = 'abc12345'; // <-- Sostituisci con la tua chiave
+ ```
+
+### Come Funziona l'API OMDb
+
+URL Base
+```
+http://www.omdbapi.com/
+```
+
+Cercare Film per Titolo
+```
+http://www.omdbapi.com/?apikey=TUA_CHIAVE&s=matrix
+```
+
+**Parametri**:
+- `apikey`: la tua chiave API
+- `s`: termine di ricerca (search)
+
+**Esempio di Risposta**:
+```json
+{
+ "Search": [
+ {
+ "Title": "The Matrix",
+ "Year": "1999",
+ "imdbID": "tt0133093",
+ "Type": "movie",
+ "Poster": "https://..."
+ },
+ {
+ "Title": "The Matrix Reloaded",
+ "Year": "2003",
+ "imdbID": "tt0234215",
+ "Type": "movie",
+ "Poster": "https://..."
+ }
+ ],
+ "totalResults": "12",
+ "Response": "True"
+}
+```
+
+**Cosa Fare nel Codice**:
+1. Costruisci l'URL con la chiave API e il termine di ricerca
+2. Fai un `fetch()` all'URL
+3. Usa l'array `Search` per mostrare i film
+
+
+## Come Iniziare
+
+1. **Ottieni la Chiave API**: Segui i passaggi sopra per ottenere la tua chiave OMDb.
+
+2. **Crea la Repository su GitHub**: Crea una nuova repository su github.com con il seguente nome: DatabaseFilm
+
+3. **Clona il Progetto**
+ ```bash
+ git clone https://github.com/[tuonome]/DatabaseFilm.git
+ cd DatabaseFilm
+ ```
+
+4. **Copia i File**: Copia tutti i file del progetto nella tua cartella:
+ - `index.html`
+ - `preferiti.html`
+ - `style.css`
+ - `script.js`
+ - `preferiti.js`
+
+5. **Inserisci la Chiave API**: ricorda di inserire la tua chiave API in `script.js` prima di fare il commit iniziale, altrimenti non potrai prendere i dati dei film dall'API.
+
+6. **Commit Iniziale**: Fai un commit iniziale con i file base e la chiave API configurata.
+
+
+## 💡 Suggerimenti per l'Implementazione
+
+1. **Usa `fetch()` per chiamare l'API**: costruisci l'URL con la chiave API e il termine di ricerca, poi usa `fetch()` per ottenere i dati. Nella costruzione dell'URL, assicurati di includere tutti i parametri necessari. ***ATTENZIONE*** ai nomi delle proprietà che sono maiuscole negli oggetti restituiti dall'API (es. `Title`, `Year`, `imdbID`, `Type`, `Poster`).
+
+2. **Gestisci i Poster Mancanti**: se il campo `Poster` è "N/A", mostra un'immagine di placeholder invece del poster del film. Puoi usare un'immagine generica come questa: `https://via.placeholder.com/60x90?text=No+Poster`.
+
+3. **Crea le Righe della Tabella**: per ogni film nei risultati, crea una riga nella tabella con il poster, titolo, anno, tipo e un pulsante "Aggiungi ai Preferiti". Usa `innerHTML` per inserire i dati dinamicamente. Puoi anche aggiungere una classe CSS al pulsante per poterlo stilizzare e gestire più facilmente. Inoltre consiglio di spezzare la creazione della riga in una funzione separata rispetto alla creazione della tabella, in modo da mantenere il codice più organizzato.
+
+4. **Salvare nei Preferiti**: quando l'utente clicca su "Aggiungi ai Preferiti", salva il film in un array di preferiti e poi salva questo array in `localStorage` usando `JSON.stringify()`. Assicurati di gestire i casi in cui `localStorage` è vuoto (devi inizializzare l'array) e di non aggiungere duplicati (controlla con l'imdbID).
+
+6. **Gestire i Preferiti**: nella pagina `preferiti.html`, recupera i preferiti da `localStorage` usando `JSON.parse()`, e mostra la tabella dei preferiti. Aggiungi un pulsante "Rimuovi" per ogni film che, quando cliccato, rimuove il film dai preferiti e aggiorna la visualizzazione. Puoi usare `array.splice()` per rimuovere l'elemento dall'array dei preferiti in base all'indice, oppure `array.filter()` per creare un nuovo array senza il film da rimuovere.
+
+
+## 🐛 Debug
+
+### La chiave API non funziona
+- Hai attivato la chiave cliccando sul link nell'email?
+- Hai copiato la chiave completa senza spazi?
+- Hai sostituito `'TUA_CHIAVE_API_QUI'` nel codice?
+
+### I film non si vedono
+- Apri la Console (F12)
+- Cerca errori di rete (tab Network)
+- Verifica che l'URL sia corretto
+- Testa l'URL direttamente nel browser
+
+### localStorage non funziona
+- Controlla in DevTools → Application → Local Storage
+- Verifica di usare JSON.stringify() quando salvi
+- Verifica di usare JSON.parse() quando recuperi
+
+### I preferiti non si vedono
+- Controlla che la chiave sia `'preferiti'` in entrambi i file
+- Verifica che `caricaPreferiti()` sia chiamata all'avvio
+- Usa console.log() per vedere cosa c'è in localStorage
+
+
+## Risorse Utili
+
+- [OMDb API Documentation](http://www.omdbapi.com/)
+- [MDN - localStorage](https://developer.mozilla.org/it/docs/Web/API/Window/localStorage)
+- [MDN - Fetch API](https://developer.mozilla.org/it/docs/Web/API/Fetch_API)
+- [MDN - Array Methods](https://developer.mozilla.org/it/docs/Web/JavaScript/Reference/Global_Objects/Array)
diff --git a/javascript/12_Progetti/film/index.html b/javascript/12_Progetti/film/index.html
new file mode 100644
index 0000000..9191ada
--- /dev/null
+++ b/javascript/12_Progetti/film/index.html
@@ -0,0 +1,51 @@
+
+
+
+
+
+ Database Film
+
+
+
+
+
+
🎬 Database Film
+
Cerca e salva i tuoi film preferiti
+
+
+
+
+
+
+
+
+
+
+
+
Risultati della Ricerca
+
+
+
+
Poster
+
Titolo
+
Anno
+
Tipo
+
Azioni
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/javascript/12_Progetti/film/index.js b/javascript/12_Progetti/film/index.js
new file mode 100644
index 0000000..61f1af4
--- /dev/null
+++ b/javascript/12_Progetti/film/index.js
@@ -0,0 +1,67 @@
+/**
+ * Progetto JS - Database Film con OMDb API
+ *
+ * ========================================
+ * 🔑 COME OTTENERE LA CHIAVE API OMDb
+ * ========================================
+ *
+ * OMDb API è GRATUITA e molto semplice da usare, ma richiede una chiave
+ * API per funzionare. Segui i passaggi qui sotto per ottenere la tua chiave.
+ *
+ * PASSAGGI:
+ * 1. Vai su: http://www.omdbapi.com/apikey.aspx
+ * 2. Seleziona "FREE! (1,000 daily limit)"
+ * 3. Compila il form con:
+ * - Email (vera, dato che vi deve arrivare la chiave)
+ * - First Name (puoi mettere il tuo nome o un nickname)
+ * - Last Name (puoi mettere il tuo cognome o un nickname)
+ * - Use ("Testing" va benissimo o "For School Project" se preferisci)
+ * 4. Clicca su "Submit"
+ * 5. Controlla la tua email e clicca sul link di attivazione (altrimenti la chiave non funzionerà)
+ * 6. Copia la tua API Key (dalla mail) e incollala nel codice
+ *
+ * NOTA: La chiave gratuita permette al massimo 1000 richieste al giorno (più che sufficienti)
+ *
+ * ========================================
+ * URL API:
+ * http://www.omdbapi.com/?apikey={TUA_CHIAVE}&s={TERMINE_DI_RICERCA}
+ *
+ * Nota la struttura della query:
+ * - apikey: la tua chiave API
+ * - s: termine di ricerca (es. "Matrix")
+ * ========================================
+ *
+ * Risposta (esempio):
+ * {
+ * "Search": [
+ * { "Title": "The Matrix", "Year": "1999", "imdbID": "tt0133093", "Type": "movie", "Poster": "url" }
+ * ],
+ * "Response": "True"
+ * }
+ *
+ * ========================================
+ * FUNZIONALITÀ DA IMPLEMENTARE:
+ * ========================================
+ *
+ * 1. Creare una variabile per la chiave API (dove mettere la tua chiave) e l'URL base
+ * 2. Recuperare gli elementi del DOM (input ricerca, bottone, tabella, ecc.)
+ * 3. Creare una funzione per cercare film dall'API OMDb (usa fetch)
+ * 4. Creare una funzione per mostrare i risultati in una tabella (spezzala in più funzioni se vuoi)
+ * 5. Creare una funzione per gestire i preferiti in localStorage (aggiungere i film se non sono già presenti)
+ * 6. Aggiungere pulsante "Aggiungi ai Preferiti" per ogni film
+ * 7. Disabilitare il pulsante se il film è già nei preferiti
+ *
+ * Suggerimenti per l'implementazione:
+ * - Usa fetch() per chiamare l'API con il termine di ricerca
+ * - Usa data.Search per ottenere l'array di film
+ * - Crea le righe della tabella dinamicamente con innerHTML o createElement)
+ * - Usa localStorage.setItem() e localStorage.getItem() per i preferiti
+ * - Salva i preferiti come JSON: JSON.stringify() e JSON.parse()
+ * - Salva almeno questi dati dei film (titolo, anno, imdbID, tipo, poster)
+ * - Controlla se un film non è già nei preferiti prima di aggiungerlo (controlla con l'imdbID)
+ * - Aggiungi event listener al pulsante di ricerca e all'input (per Enter)
+ *
+ * Bonus:
+ * - Gestisci il caso in cui la chiave API non è stata inserita e mostra un messaggio di errore
+ * - Gestisci il caso in cui non ci sono risultati per la ricerca e mostra un messaggio "Nessun film trovato"
+ */
diff --git a/javascript/12_Progetti/film/preferiti.html b/javascript/12_Progetti/film/preferiti.html
new file mode 100644
index 0000000..15ecaa0
--- /dev/null
+++ b/javascript/12_Progetti/film/preferiti.html
@@ -0,0 +1,44 @@
+
+
+
+
+
+ I Miei Preferiti
+
+
+
+