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
|
# 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
|
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.
|
||||||
- **🗃️ 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
|
|
||||||
|
|
||||||
## ☕ 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>)
|
## ✨ Caratteristiche Principali
|
||||||
- **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
|
|
||||||
|
|
||||||
## 🛠️ 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
|
```bash
|
||||||
git clone https://gitea.rosmoscato.xyz/ros/moneymind
|
git clone https://gitea.rosmoscato.xyz/ros/moneymind
|
||||||
|
cd moneymind
|
||||||
```
|
```
|
||||||
|
|
||||||
**Option B: Download ZIP**
|
### 2. Installa le Dipendenze
|
||||||
Download the repository as a ZIP file and extract it to your desired location.
|
|
||||||
|
|
||||||
### 2. Install Dependencies
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
npm install
|
npm install
|
||||||
```
|
```
|
||||||
|
|
||||||
### 3. Environment Setup
|
### 3. Configura l'Ambiente
|
||||||
|
|
||||||
Copy the example environment file:
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cp env.example .env
|
cp env.example .env
|
||||||
|
# Modifica il file .env con le tue configurazioni
|
||||||
```
|
```
|
||||||
|
|
||||||
Fill in your environment variables in the `.env` file:
|
### 4. Configura il Database
|
||||||
|
|
||||||
```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:
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
npm run db:generate
|
npm run db:generate
|
||||||
npm run db:migrate
|
npm run db:migrate
|
||||||
```
|
```
|
||||||
|
|
||||||
### 5. Start the Development Server
|
### 5. Avvia l'Applicazione
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
npm run dev
|
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>
|
## 🔄 Sviluppo Futuro
|
||||||
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
|
|
||||||
|
|
||||||
### 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>
|
### Contributi
|
||||||
2. Create a new project or select an existing one
|
Il progetto è open source e accetta contributi dalla community. Se vuoi contribuire:
|
||||||
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
|
|
||||||
|
|
||||||
### 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>
|
## 📧 Contatti
|
||||||
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`
|
|
||||||
|
|
||||||
## 🗂️ 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)
|
||||||
|
|
||||||
```
|
## 📄 Licenza
|
||||||
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
|
|
||||||
```
|
|
||||||
|
|
||||||
## 🔧 Available Scripts
|
Questo progetto è rilasciato sotto licenza MIT. Sentiti libero di usarlo, modificarlo e distribuirlo secondo i termini della licenza.
|
||||||
|
|
||||||
```bash
|
## 🙏 Supporto
|
||||||
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)
|
|
||||||
```
|
|
||||||
|
|
||||||
## 📖 Pages Overview
|
Se trovi utile questo progetto e vuoi supportare lo sviluppo:
|
||||||
|
|
||||||
- **Home (`/`)**: Financial dashboard with transaction overview, analytics, and quick actions
|
[Buy Me a Coffee](https://paypal.me/rosmoscato)
|
||||||
- **Dashboard (`/`)**: Main MoneyMind dashboard with financial insights and management tools
|
|
||||||
- **Profile (`/profile`)**: User profile and account settings
|
|
||||||
|
|
||||||
## 🚀 Deployment
|
Il tuo supporto aiuta a mantenere e migliorare MoneyMind per tutta la community.
|
||||||
|
|
||||||
### 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
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
**Happy financial management! 💰🚀**
|
**Inizia oggi stesso a prendere controllo delle tue finanze con MoneyMind! 💰🚀**
|
||||||
Reference in New Issue
Block a user