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:
272
README.md
272
README.md
@@ -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! 💰🚀**
|
||||
Reference in New Issue
Block a user