docs: completa riscrittura del README.md in italiano

- Aggiunta sezione dettagliata sullo scopo del progetto MoneyMind
- Elenco completo delle tecnologie utilizzate nel progetto
- Requisiti minimi di software e hardware chiaramente definiti
- Descrizione dettagliata delle caratteristiche principali con benefici
- Informazioni sulla sicurezza, privacy e accessibilità
- Guida di installazione rapida in 5 semplici passaggi
- Statistiche del progetto e roadmap di sviluppo futuro
- Informazioni per contributi e contatti dell'autore
- Licenza MIT e informazioni di supporto

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Rosario Moscato
2025-09-29 15:08:36 +02:00
parent ea08bae81f
commit f5d99c665b

272
README.md
View File

@@ -1,203 +1,173 @@
# MoneyMind
A complete personal finance management application with transaction tracking, budget planning, financial analytics, and goal setting - powered by modern web technologies.
**MoneyMind** è un'applicazione web moderna per la gestione finanziaria personale, progettata per aiutarti a prendere il controllo delle tue finanze con strumenti potenti e intuitivi.
## 🚀 Features
## 🎯 Scopo del Progetto
- **🔐 Authentication**: Better Auth with Google OAuth integration
- **🗃️ Database**: Drizzle ORM with PostgreSQL
- **💰 Transaction Management**: Add, edit, and categorize financial transactions
- **📊 Analytics Dashboard**: Interactive charts and financial insights
- **🎯 Budget Planning**: Set and track budget limits
- **🏦 Account Management**: Manage multiple bank accounts and credit cards
- **📈 Goal Tracking**: Set and monitor financial goals
- **🎨 UI Components**: shadcn/ui with Tailwind CSS
- **⚡ Modern Stack**: Next.js 15, React 19, TypeScript
- **📱 Responsive**: Mobile-first design approach
MoneyMind nasce dall'esigenza di fornire uno strumento completo e accessibile per la gestione finanziaria personale. L'obiettivo è semplificare il monitoraggio delle spese, la pianificazione dei budget, il raggiungimento degli obiettivi finanziari e fornire analisi approfondite per prendere decisioni informate.
## ☕ Buy Me a Coffee
## 🛠️ Tecnologie Utilizzate
If you find this project helpful and would like to support my work, consider buying me a coffee! Your support helps me maintain and improve MoneyMind.
- **Frontend**: Next.js 15 con React 19 e TypeScript
- **Styling**: Tailwind CSS con componenti shadcn/ui
- **Database**: PostgreSQL con Drizzle ORM
- **Autenticazione**: Better Auth con Google OAuth
- **Visualizzazioni**: Recharts per grafici interattivi
- **Form Handling**: React Hook Form con Zod validation
- **Hosting**: Vercel (consigliato)
[Buy Me a Coffee](https://paypal.me/rosmoscato)
## 📋 Requisiti Minimi
## 📋 Prerequisites
### Software Necessario
- **Node.js**: Versione 18.0 o superiore
- **Git**: Per clonare il repository
- **PostgreSQL**: Database locale o servizio hosted (Vercel Postgres consigliato)
Before you begin, ensure you have the following installed on your machine:
### Hardware Consigliato
- Processore: Dual-core 2GHz o superiore
- RAM: 4GB minimum, 8GB consigliati
- Spazio disco: 1GB per l'installazione
- **Node.js**: Version 18.0 or higher (<a href="https://nodejs.org/" target="_blank">Download here</a>)
- **Git**: For cloning the repository (<a href="https://git-scm.com/" target="_blank">Download here</a>)
- **PostgreSQL**: Either locally installed or access to a hosted service like Vercel Postgres
## ✨ Caratteristiche Principali
## 🛠️ Quick Setup
### 💰 Gestione Transazioni
- Aggiungi, modifica ed elimina transazioni finanziarie
- Categorizzazione automatica e manuale delle spese
- Supporto per transazioni ricorrenti
- Importazione da file Excel/CSV (in sviluppo)
### 1. Clone or Download the Repository
### 📊 Analisi e Report
- Dashboard interattiva con grafici in tempo reale
- Analisi delle tendenze di spesa
- Report mensili e annuali
- Insight finanziari basati sui dati
**Option A: Clone with Git**
### 🎯 Pianificazione Budget
- Imposta limiti di budget per categorie
- Monitoraggio in tempo reale delle spese
- Notifiche per avvicinamento ai limiti
- Analisi delle deviazioni dal budget
### 🏦 Gestione Conti
- Gestione di conti correnti, carte di credito e investimenti
- Saldo in tempo reale
- Transferimenti tra conti
- Cronologia delle transazioni per conto
### 📈 Tracciamento Obiettivi
- Definisci obiettivi finanziari personali
- Monitoraggio dei progressi
- Grafici di avanzamento
- Notifiche per traguardi raggiunti
## 🔐 Sicurezza e Privacy
- Autenticazione sicura con Google OAuth
- Dati finanziari criptati nel database
- Nessuna condivisione di dati con terze parti
- Controllo completo sui propri dati
## 🚀 Benefici dell'Utilizzo
### Per Utenti Privati
- **Controllo**: Visione chiara e completa delle proprie finanze
- **Consapevolezza**: Capire dove vanno i soldi ogni mese
- **Pianificazione**: Prepararsi per spese future e obiettivi
- **Risparmio**: Identificare aree dove si può risparmiare
### Per Famiglie
- **Budget Familiare**: Gestire le finanze familiari in modo collaborativo
- **Obiettivi Comuni**: Pianificare acquisti importanti insieme
- **Trasparenza**: Tutti i membri possono vedere lo stato finanziario
### Per Professionisti
- **Organizzazione**: Separare finanze personali da professionali
- **Reportistica**: Avere dati chiari per la dichiarazione dei redditi
- **Pianificazione**: Preparare investimenti e spese future
## 📱 Accessibilità
- **Design Responsive**: Funziona perfettamente su desktop, tablet e smartphone
- **Interfaccia Intuitiva**: Facile da usare anche per chi non è esperto di finanza
- **Navigazione Semplice**: Struttura chiara e logica per trovare rapidamente le funzioni
## 🛠️ Installazione Rapida
### 1. Clona il Repository
```bash
git clone https://gitea.rosmoscato.xyz/ros/moneymind
cd moneymind
```
**Option B: Download ZIP**
Download the repository as a ZIP file and extract it to your desired location.
### 2. Install Dependencies
### 2. Installa le Dipendenze
```bash
npm install
```
### 3. Environment Setup
Copy the example environment file:
### 3. Configura l'Ambiente
```bash
cp env.example .env
# Modifica il file .env con le tue configurazioni
```
Fill in your environment variables in the `.env` file:
```env
# Database
POSTGRES_URL="postgresql://username:password@localhost:5432/your_database_name"
# Authentication - Better Auth
BETTER_AUTH_SECRET="your-random-32-character-secret-key-here"
# Google OAuth (Get from Google Cloud Console)
GOOGLE_CLIENT_ID="your-google-client-id"
GOOGLE_CLIENT_SECRET="your-google-client-secret"
# AI Integration (Optional - for chat functionality)
OPENAI_API_KEY="sk-your-openai-api-key-here"
OPENAI_MODEL="gpt-5-mini"
# App URL (for production deployments)
NEXT_PUBLIC_APP_URL="http://localhost:3000"
```
### 4. Database Setup
Generate and run database migrations:
### 4. Configura il Database
```bash
npm run db:generate
npm run db:migrate
```
### 5. Start the Development Server
### 5. Avvia l'Applicazione
```bash
npm run dev
```
Your application will be available at [http://localhost:3000](http://localhost:3000)
Visita `http://localhost:3000` per iniziare a usare MoneyMind.
## ⚙️ Service Configuration
## 📊 Statistiche del Progetto
### PostgreSQL Database on Vercel
- **Linguaggio**: TypeScript
- **Framework**: Next.js 15
- **Database**: PostgreSQL
- **Componenti UI**: 15+ componenti riutilizzabili
- **API Endpoints**: 10+ endpoint RESTful
- **Tabelle Database**: 7 tabelle relazionali
1. Go to <a href="https://vercel.com/dashboard" target="_blank">Vercel Dashboard</a>
2. Navigate to the **Storage** tab
3. Click **Create****Postgres**
4. Choose your database name and region
5. Copy the `POSTGRES_URL` from the `.env.local` tab
6. Add it to your `.env` file
## 🔄 Sviluppo Futuro
### Google OAuth Credentials
### Funzionalità in Arrivo
- Importazione/esportazione dati da Excel/CSV
- Notifiche push per budget e obiettivi
- Report PDF esportabili
- Integrazione con servizi bancari
- App mobile nativa
- Multi-valuta e supporto internazionale
1. Go to <a href="https://console.cloud.google.com/" target="_blank">Google Cloud Console</a>
2. Create a new project or select an existing one
3. Navigate to **Credentials****Create Credentials****OAuth 2.0 Client ID**
4. Set application type to **Web application**
5. Add authorized redirect URIs:
- `http://localhost:3000/api/auth/callback/google` (development)
- `https://yourdomain.com/api/auth/callback/google` (production)
6. Copy the **Client ID** and **Client Secret** to your `.env` file
### Contributi
Il progetto è open source e accetta contributi dalla community. Se vuoi contribuire:
### OpenAI API Key
1. Fai un fork del repository
2. Crea un branch per la tua feature
3. Fai commit delle tue modifiche
4. Apri una pull request
1. Go to <a href="https://platform.openai.com/dashboard" target="_blank">OpenAI Platform</a>
2. Navigate to **API Keys** in the sidebar
3. Click **Create new secret key**
4. Give it a name and copy the key
5. Add it to your `.env` file as `OPENAI_API_KEY`
## 📧 Contatti
## 🗂️ Project Structure
**Autore**: Rosario Moscato
**Email**: [rosario.moscato@etik.com](mailto:rosario.moscato@etik.com)
**Repository**: [https://gitea.rosmoscato.xyz/ros/moneymind](https://gitea.rosmoscato.xyz/ros/moneymind)
```
src/
├── app/ # Next.js app directory
│ ├── api/ # API routes
│ │ ├── auth/ # Authentication endpoints
│ │ └── chat/ # AI chat endpoint
│ ├── chat/ # AI chat page
│ ├── dashboard/ # User dashboard
│ └── page.tsx # Home page
├── components/ # React components
│ ├── auth/ # Authentication components
│ └── ui/ # shadcn/ui components
└── lib/ # Utilities and configurations
├── auth.ts # Better Auth configuration
├── auth-client.ts # Client-side auth utilities
├── db.ts # Database connection
├── schema.ts # Database schema
└── utils.ts # General utilities
```
## 📄 Licenza
## 🔧 Available Scripts
Questo progetto è rilasciato sotto licenza MIT. Sentiti libero di usarlo, modificarlo e distribuirlo secondo i termini della licenza.
```bash
npm run dev # Start development server with Turbopack
npm run build # Build for production
npm run start # Start production server
npm run lint # Run ESLint
npm run db:generate # Generate database migrations
npm run db:migrate # Run database migrations
npm run db:push # Push schema changes to database
npm run db:studio # Open Drizzle Studio (database GUI)
npm run db:dev # Push schema for development
npm run db:reset # Reset database (drop all tables)
```
## 🙏 Supporto
## 📖 Pages Overview
Se trovi utile questo progetto e vuoi supportare lo sviluppo:
- **Home (`/`)**: Financial dashboard with transaction overview, analytics, and quick actions
- **Dashboard (`/`)**: Main MoneyMind dashboard with financial insights and management tools
- **Profile (`/profile`)**: User profile and account settings
[Buy Me a Coffee](https://paypal.me/rosmoscato)
## 🚀 Deployment
### Deploy to Vercel (Recommended)
1. Install the Vercel CLI globally:
```bash
npm install -g vercel
```
2. Deploy your application:
```bash
vercel --prod
```
3. Follow the prompts to configure your deployment
4. Add your environment variables when prompted or via the Vercel dashboard
### Production Environment Variables
Ensure these are set in your production environment:
- `POSTGRES_URL` - Production PostgreSQL connection string
- `BETTER_AUTH_SECRET` - Secure random 32+ character string
- `GOOGLE_CLIENT_ID` - Google OAuth Client ID
- `GOOGLE_CLIENT_SECRET` - Google OAuth Client Secret
- `OPENAI_API_KEY` - OpenAI API key (optional)
- `OPENAI_MODEL` - OpenAI model name (optional, defaults to gpt-5-mini)
- `NEXT_PUBLIC_APP_URL` - Your production domain
Il tuo supporto aiuta a mantenere e migliorare MoneyMind per tutta la community.
---
**Happy financial management! 💰🚀**
**Inizia oggi stesso a prendere controllo delle tue finanze con MoneyMind! 💰🚀**