Skip to content

falker47/easy-contract

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Easy Contract

License: MIT Netlify Status Node.js JavaScript Google Gemini

Easy Contract è uno strumento web per l'analisi automatica di contratti legali, alimentato dall'intelligenza artificiale di Google Gemini.

Il sistema analizza file PDF o foto di contratti caricati dall'utente e fornisce un report strutturato evidenziando:

  • Punteggio di sicurezza 🛡️
  • Sintesi dei vincoli principali 💡
  • Punti di attenzione e rischi ⚠️
  • Consigli operativi ⚖️

🚀 Tecnologie

Il progetto è costruito con un'architettura Serverless semplice e leggera:

  • Frontend: HTML5, CSS3, Vanilla JavaScript. Nessun framework complesso.
  • Backend: Netlify Functions (Node.js) per gestire le chiamate sicure alle API.
  • AI: Google Gemini API (modello gemini-2.5-flash).

🛠️ Prerequisiti

  • Node.js (v18 o superiore)
  • Netlify CLI (npm install -g netlify-cli)
  • Una o più API Key di Google Gemini.

📦 Installazione

  1. Clona la repository:

    git clone https://github.com/falker47/easy-contract.git
    cd easy-contract
  2. Installa le dipendenze:

    npm install

    Questo installerà @google/generative-ai necessario per le funzioni serverless.

⚙️ Configurazione

Il progetto richiede le API Key di Google Gemini per funzionare. Per la sicurezza, queste non devono mai essere esposte nel codice frontend, ma gestite come variabili d'ambiente.

Sviluppo Locale

Crea un file .env nella root del progetto (o usa la gestione env di Netlify CLI):

# Chiave singola
GEMINI_API_KEY=la_tua_chiave_api_qui

# OPPURE Lista di chiavi (per rotazione automatica e gestione quote)
GEMINI_API_KEYS=chiave_1,chiave_2,chiave_3

Nota: La logica di backend supporta nativamente la rotazione delle chiavi se viene fornita la variabile GEMINI_API_KEYS separata da virgole.

▶️ Avvio in Locale

Per avviare l'applicazione in locale simulando l'ambiente serverless di Netlify:

netlify dev

Il sito sarà accessibile solitamente su http://localhost:8888. Le funzioni serverless saranno disponibili su /.netlify/functions/analyze.

🚢 Deployment su Netlify

Il progetto è pre-configurato per il deployment su Netlify grazie al file netlify.toml.

  1. Collega la repository al tuo account Netlify.
  2. Nelle impostazioni del sito su Netlify, vai su Site configuration > Environment variables.
  3. Aggiungi le variabili d'ambiente GEMINI_API_KEY (o GEMINI_API_KEYS).
  4. Esegui il deploy.

📂 Struttura del Progetto

easy-contract/
├── functions/          # Funzioni Serverless (Backend)
│   ├── analyze.js      # Logica principale (proxy verso Gemini)
│   └── prompt.js       # System prompt per l'analisi legale
├── index.html          # Interfaccia utente
├── style.css           # Stili
├── script.js           # Logica Frontend
├── netlify.toml        # Configurazione Netlify
└── package.json        # Dipendenze Node.js

🔒 Sicurezza

  • No Upload: I file (PDF o Immagini) vengono processati al volo convertendoli in Base64 e inviati a Gemini. Il codice attuale non salva i file permanentemente su disco o storage cloud.
  • API Key Protection: Le chiavi API risiedono solo sul server (Netlify Functions) e non sono mai esposte al client.

📄 Licenza

Questo progetto è distribuito sotto licenza MIT.

About

AI-powered legal assistant that analyzes contracts from PDFs or camera photos to identify risks and provide safety scores. Built with Google Gemini and Netlify Functions.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors