feat: implement MoneyMind personal finance management application

- Complete transformation from boilerplate to full-featured financial app
- Add comprehensive dashboard with KPI cards and interactive charts
- Implement transaction management with predefined expense/income categories
- Create account management system with multiple account types
- Add authentication flow with session management
- Implement analytics overview with demo financial data
- Add budget tracking and goal progress visualization
- Include custom category creation functionality
- Update branding and footer with MoneyMind by RoMoS
- Add shadcn/ui components and Recharts for data visualization

🤖 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 14:41:40 +02:00
parent 312f760844
commit 5270bbd40a
37 changed files with 5469 additions and 204 deletions

View File

@@ -0,0 +1,283 @@
# Product Requirements Document (PRD)
## MoneyMind - Personal Finance Management Web Application
***
**Product Name:** MoneyMind
**Prepared By:** AI Product Team
**Date:** 29 Settembre 2025
**Version:** 1.0
***
## Executive Summary
MoneyMind è una web application moderna per la gestione delle finanze personali che trasforma il tradizionale foglio Excel in un'esperienza digitale intelligente e interattiva. L'applicazione combina visualizzazioni avanzate, analisi predittive e un assistente virtuale AI per offrire insights personalizzati sulla situazione finanziaria dell'utente.[^3][^4][^5]
## Obiettivi del Prodotto
### Obiettivo Primario
Digitalizzare e potenziare il processo di gestione del budget personale, trasformando dati finanziari statici in insights dinamici e actionable attraverso un'interfaccia responsiva e un assistente AI integrato.[^6][^3]
### Obiettivi Secondari
- Aumentare la consapevolezza finanziaria degli utenti del 40% entro 6 mesi
- Ridurre il tempo dedicato alla gestione del budget del 60%
- Migliorare le abitudini di risparmio attraverso consigli personalizzati
- Fornire previsioni finanziarie accurate basate sui pattern storici
## Target User \& Personas
### Persona Primaria: "Il Professionista Organizzato"
- **Età:** 25-45 anni
- **Occupazione:** Professionista, manager, freelancer
- **Tech Savviness:** Intermedio-Avanzato
- **Pain Points:** Gestione manuale del budget, mancanza di insights, difficoltà nel tracciamento su mobile
- **Goals:** Controllo completo delle finanze, ottimizzazione dei risparmi, pianificazione a lungo termine
### Persona Secondaria: "Il Digital Native"
- **Età:** 22-35 anni
- **Occupazione:** Startup employee, consulente, creativo
- **Tech Savviness:** Avanzato
- **Pain Points:** Strumenti finanziari poco intuitivi, mancanza di automazione
- **Goals:** Gestione smart delle finanze, insights real-time, integrazione con altri tools
## Core Features \& Functionality
### 1. Dashboard Interattiva
**Priority:** P0 (Critical)
- **Descrizione:** Dashboard principale con overview finanziaria completa
- **User Story:** "Come utente, voglio vedere immediatamente la mia situazione finanziaria attuale e i trend principali"
- **Acceptance Criteria:**
- Visualizzazione real-time di entrate, spese, risparmi e investimenti
- Grafici interattivi (line charts, pie charts, bar charts)
- Comparazioni mese-su-mese e anno-su-anno
- KPI cards con metriche chiave
- Responsive design per mobile e desktop
### 2. Gestione Transazioni
**Priority:** P0 (Critical)
- **Descrizione:** Sistema completo per inserimento e categorizzazione transazioni
- **User Story:** "Come utente, voglio inserire facilmente le mie transazioni e vederle categorizzate automaticamente"
- **Acceptance Criteria:**
- Form di inserimento rapido con validazione
- Auto-categorizzazione basata su ML
- Import da file Excel/CSV
- Ricerca e filtri avanzati
- Edit bulk per multiple transazioni
### 3. Analytics \& Insights
**Priority:** P0 (Critical)
- **Descrizione:** Suite di analisi avanzate con visualizzazioni dinamiche
- **User Story:** "Come utente, voglio comprendere i miei pattern di spesa e ricevere insights actionable"
- **Acceptance Criteria:**
- Analisi trend spese per categoria
- Identificazione anomalie e pattern insoliti
- Forecasting spese future
- Goal tracking per risparmi e budgeting
- Report mensili/annuali esportabili
### 4. MoneyMind AI Advisor
**Priority:** P1 (High)
- **Descrizione:** Assistente virtuale AI conversazionale per consigli finanziari personalizzati
- **User Story:** "Come utente, voglio ricevere consigli finanziari personalizzati basati sulla mia situazione specifica"
- **Acceptance Criteria:**
- Chat interface con AI conversazionale
- Accesso a tutto lo storico finanziario dell'utente
- Consigli personalizzati su budget optimization
- Alerts proattivi per spese anomale
- Supporto multilingua (italiano/inglese)
- Risposte contestualizzate ai dati finanziari
### 5. Budget Planning \& Goals
**Priority:** P1 (High)
- **Descrizione:** Sistema di pianificazione budget e obiettivi finanziari
- **User Story:** "Come utente, voglio impostare budget per categorie e tracciare il progresso verso i miei obiettivi"
- **Acceptance Criteria:**
- Creazione budget per categoria con limiti personalizzabili
- Progress tracking con alert per overbudget
- Goal setting per risparmi a breve/lungo termine
- Scenario planning per decisioni finanziarie
- Calendar view per pianificazione future spese
### 6. Mobile-First Experience
**Priority:** P0 (Critical)
- **Descrizione:** Esperienza ottimizzata per dispositivi mobili
- **User Story:** "Come utente, voglio accedere alle mie finanze in modo fluido da qualsiasi dispositivo"
- **Acceptance Criteria:**
- PWA (Progressive Web App) con offline capabilities
- Touch-optimized interface
- Quick actions per transazioni frequenti
- Sincronizzazione real-time cross-device
- Performance ottimizzate (<3s load time)
## Technical Requirements
### Frontend
- **Framework:** React.js con TypeScript
- **State Management:** Redux Toolkit
- **UI Library:** Material-UI o Ant Design
- **Charting:** Chart.js o Recharts
- **Mobile:** PWA con service workers
### Backend
- **Runtime:** Node.js con Express.js
- **Database:** PostgreSQL per transazioni, Redis per caching
- **AI/ML:** Integration con OpenAI API per MoneyMind AI Advisor
- **Authentication:** JWT-based con OAuth2 support
- **API:** RESTful con GraphQL per complex queries
### Infrastructure
- **Hosting:** Cloud-native (AWS/GCP/Azure)
- **CDN:** CloudFlare per performance globali
- **Monitoring:** Application monitoring e error tracking
- **Security:** End-to-end encryption, GDPR compliance
## Success Metrics
### Primary KPIs
- **User Engagement:** DAU/MAU ratio >30%
- **Feature Adoption:** MoneyMind AI Advisor usage >60% degli utenti attivi
- **Retention:** 90-day retention >40%
- **Performance:** App load time <3 secondi
### Secondary KPIs
- **Financial Impact:** Miglioramento medio risparmi utenti +15%
- **User Satisfaction:** NPS score >50
- **Technical:** Uptime >99.5%
- **Growth:** User acquisition crescita 20% MoM
## Timeline \& Milestones
### Phase 1: MVP (3 mesi)
- Dashboard base con import Excel
- Gestione transazioni core
- Responsive design
- Grafici essenziali
### Phase 2: Analytics (2 mesi)
- Suite completa analytics
- Goal tracking
- Report avanzati
- Performance optimization
### Phase 3: AI Integration (2 mesi)
- MoneyMind AI Advisor
- ML per categorizzazione
- Predictive analytics
- Conversational interface
### Phase 4: Advanced Features (1 mese)
- PWA capabilities
- Advanced forecasting
- Integration APIs
- Premium features
## Constraints \& Assumptions
### Technical Constraints
- Budget di sviluppo: €50.000 per MVP
- Team size: 4-5 sviluppatori full-time
- Compliance GDPR obbligatoria
- Supporto browser moderni (Chrome, Firefox, Safari, Edge)
### Business Assumptions
- Target market: Italia inizialmente, espansione EU successiva
- Modello freemium con features premium
- Utenti disposti a migrare da soluzioni Excel
- Crescente adozione di strumenti fintech in Italia
### User Assumptions
- Comfort con interfacce web moderne
- Disponibilità a condividere dati finanziari per insights
- Utilizzo misto desktop/mobile (70/30)
- Preferenza per lingua italiana con fallback inglese
## Risk Assessment
### High Risk
- **Privacy/Security:** Gestione dati finanziari sensibili richiede security massima
- **AI Reliability:** MoneyMind AI Advisor deve fornire consigli accurati e responsabili
- **Competition:** Mercato fintech competitivo con players consolidati
### Medium Risk
- **User Adoption:** Migrazione da Excel potrebbe incontrare resistenza
- **Technical Complexity:** Integration multiple APIs e ML pipelines
- **Scalability:** Crescita utenti potrebbe richiedere architettura revision
### Mitigation Strategies
- Security audit esterni e penetration testing regolari
- Extensive testing dell'AI con review umano
- Differenziazione attraverso UX superiore e personalizzazione italiana
- Architettura microservices per scalabilità futura
## Brand Identity \& Positioning
### Brand Promise
MoneyMind rappresenta l'intelligenza finanziaria personalizzata - un compagno digitale che comprende le tue finanze e ti guida verso decisioni più smart.[^2][^1]
### Key Messaging
- "La tua mente finanziaria digitale"
- "Intelligenza artificiale per decisioni finanziarie intelligenti"
- "Trasforma i tuoi dati in saggezza finanziaria"

View File

@@ -1,9 +1,8 @@
I'm working with an agentic coding boilerplate project that includes authentication, database integration, and AI capabilities. Here's what's already set up:
## Current Agentic Coding Boilerplate Structure
- **Authentication**: Better Auth with Google OAuth integration
- **Database**: Drizzle ORM with PostgreSQL setup
- **Database**: Drizzle ORM with PostgreSQL setup
- **AI Integration**: Vercel AI SDK with OpenAI integration
- **UI**: shadcn/ui components with Tailwind CSS
- **Current Routes**:
@@ -12,11 +11,9 @@ I'm working with an agentic coding boilerplate project that includes authenticat
- `/chat` - AI chat interface (requires OpenAI API key)
## Important Context
This is an **agentic coding boilerplate/starter template** - all existing pages and components are meant to be examples and should be **completely replaced** to build the actual AI-powered application.
### CRITICAL: You MUST Override All Boilerplate Content
**DO NOT keep any boilerplate components, text, or UI elements unless explicitly requested.** This includes:
- **Remove all placeholder/demo content** (setup checklists, welcome messages, boilerplate text)
@@ -26,14 +23,12 @@ This is an **agentic coding boilerplate/starter template** - all existing pages
- **Replace placeholder routes and pages** with the actual application functionality
### Required Actions:
1. **Start Fresh**: Treat existing components as temporary scaffolding to be removed
2. **Complete Replacement**: Build the new application from scratch using the existing tech stack
3. **No Hybrid Approach**: Don't try to integrate new features alongside existing boilerplate content
4. **Clean Slate**: The final application should have NO trace of the original boilerplate UI or content
The only things to preserve are:
- **All installed libraries and dependencies** (DO NOT uninstall or remove any packages from package.json)
- **Authentication system** (but customize the UI/flow as needed)
- **Database setup and schema** (but modify schema as needed for your use case)
@@ -41,7 +36,6 @@ The only things to preserve are:
- **Build and development scripts** (keep all npm/pnpm scripts in package.json)
## Tech Stack
- Next.js 15 with App Router
- TypeScript
- Tailwind CSS
@@ -51,8 +45,21 @@ The only things to preserve are:
- shadcn/ui components
- Lucide React icons
## Component Development Guidelines
## AI Model Configuration
**IMPORTANT**: When implementing any AI functionality, always use the `OPENAI_MODEL` environment variable for the model name instead of hardcoding it:
```typescript
// ✓ Correct - Use environment variable
const model = process.env.OPENAI_MODEL || "gpt-5-mini";
model: openai(model)
// ✗ Incorrect - Don't hardcode model names
model: openai("gpt-5-mini")
```
This allows for easy model switching without code changes and ensures consistency across the application.
## Component Development Guidelines
**Always prioritize shadcn/ui components** when building the application:
1. **First Choice**: Use existing shadcn/ui components from the project
@@ -62,25 +69,115 @@ The only things to preserve are:
The project already includes several shadcn/ui components (button, dialog, avatar, etc.) and follows their design system. Always check the [shadcn/ui documentation](https://ui.shadcn.com/docs/components) for available components before implementing alternatives.
## What I Want to Build
MoneyMind - Personal Finance Management Web Application
Product Name: MoneyMind Prepared By: AI Product Team Date: 29 Settembre 2025 Version: 1.0
Basic todo list app with the ability for users to add, remove, update, complete and view todos.
Executive Summary
MoneyMind è una web application moderna per la gestione delle finanze personali che trasforma il tradizionale foglio Excel in un'esperienza digitale intelligente e interattiva. L'applicazione combina visualizzazioni avanzate, analisi predittive e un assistente virtuale AI per offrire insights personalizzati sulla situazione finanziaria dell'utente.[^3][^4][^5]
Obiettivi del Prodotto
Obiettivo Primario
Digitalizzare e potenziare il processo di gestione del budget personale, trasformando dati finanziari statici in insights dinamici e actionable attraverso un'interfaccia responsiva e un assistente AI integrato.[^6][^3]
Obiettivi Secondari
Aumentare la consapevolezza finanziaria degli utenti del 40% entro 6 mesi
Ridurre il tempo dedicato alla gestione del budget del 60%
Migliorare le abitudini di risparmio attraverso consigli personalizzati
Fornire previsioni finanziarie accurate basate sui pattern storici
Target User & Personas
Persona Primaria: "Il Professionista Organizzato"
Età: 25-45 anni
Occupazione: Professionista, manager, freelancer
Tech Savviness: Intermedio-Avanzato
Pain Points: Gestione manuale del budget, mancanza di insights, difficoltà nel tracciamento su mobile
Goals: Controllo completo delle finanze, ottimizzazione dei risparmi, pianificazione a lungo termine
Persona Secondaria: "Il Digital Native"
Età: 22-35 anni
Occupazione: Startup employee, consulente, creativo
Tech Savviness: Avanzato
Pain Points: Strumenti finanziari poco intuitivi, mancanza di automazione
Goals: Gestione smart delle finanze, insights real-time, integrazione con altri tools
Core Features & Functionality
1. Dashboard Interattiva
Priority: P0 (Critical)
Descrizione: Dashboard principale con overview finanziaria completa
User Story: "Come utente, voglio vedere immediatamente la mia situazione finanziaria attuale e i trend principali"
Acceptance Criteria:
Visualizzazione real-time di entrate, spese, risparmi e investimenti
Grafici interattivi (line charts, pie charts, bar charts)
Comparazioni mese-su-mese e anno-su-anno
KPI cards con metriche chiave
Responsive design per mobile e desktop
2. Gestione Transazioni
Priority: P0 (Critical)
Descrizione: Sistema completo per inserimento e categorizzazione transazioni
User Story: "Come utente, voglio inserire facilmente le mie transazioni e vederle categorizzate automaticamente"
Acceptance Criteria:
Form di inserimento rapido con validazione
Auto-categorizzazione basata su ML
Import da file Excel/CSV
Ricerca e filtri avanzati
Edit bulk per multiple transazioni
3. Analytics & Insights
Priority: P0 (Critical)
Descrizione: Suite di analisi avanzate con visualizzazioni dinamiche
User Story: "Come utente, voglio comprendere i miei pattern di spesa e ricevere insights actionable"
Acceptance Criteria:
Analisi trend spese per categoria
Identificazione anomalie e pattern insoliti
Forecasting spese future
Goal tracking per risparmi e budgeting
Report mensili/annuali esportabili
4. MoneyMind AI Advisor
Priority: P1 (High)
Descrizione: Assistente virtuale AI conversazionale per consigli finanziari personalizzati
User Story: "Come utente, voglio ricevere consigli finanziari personalizzati basati sulla mia situazione specifica"
Acceptance Criteria:
Chat interface con AI conversazionale
Accesso a tutto lo storico finanziario dell'utente
Consigli personalizzati su budget optimization
Alerts proattivi per spese anomale
Supporto multilingua (italiano/inglese)
Risposte contestualizzate ai dati finanziari
5. Budget Planning & Goals
Priority: P1 (High)
Descrizione: Sistema di pianificazione budget e obiettivi finanziari
User Story: "Come utente, voglio impostare budget per categorie e tracciare il progresso verso i miei obiettivi"
Acceptance Criteria:
Creazione budget per categoria con limiti personalizzabili
Progress tracking con alert per overbudget
Goal setting per risparmi a breve/lungo termine
Scenario planning per decisioni finanziarie
Calendar view per pianificazione future spese
6. Mobile-First Experience
Priority: P0 (Critical)
Descrizione: Esperienza ottimizzata per dispositivi mobili
User Story: "Come utente, voglio accedere alle mie finanze in modo fluido da qualsiasi dispositivo"
Acceptance Criteria:
PWA (Progressive Web App) con offline capabilities
Touch-optimized interface
Quick actions per transazioni frequenti
Sincronizzazione real-time cross-device
Performance ottimizzate (<3s load time)
## Request
Please help me transform this boilerplate into my actual application. **You MUST completely replace all existing boilerplate code** to match my project requirements. The current implementation is just temporary scaffolding that should be entirely removed and replaced.
## Final Reminder: COMPLETE REPLACEMENT REQUIRED
🚨 **IMPORTANT**: Do not preserve any of the existing boilerplate UI, components, or content. The user expects a completely fresh application that implements their requirements from scratch. Any remnants of the original boilerplate (like setup checklists, welcome screens, demo content, or placeholder navigation) indicate incomplete implementation.
**⚠ IMPORTANT**: Do not preserve any of the existing boilerplate UI, components, or content. The user expects a completely fresh application that implements their requirements from scratch. Any remnants of the original boilerplate (like setup checklists, welcome screens, demo content, or placeholder navigation) indicate incomplete implementation.
**Success Criteria**: The final application should look and function as if it was built from scratch for the specific use case, with no evidence of the original boilerplate template.
## Post-Implementation Documentation
After completing the implementation, you MUST document any new features or significant changes in the `/docs/features/` directory:
1. **Create Feature Documentation**: For each major feature implemented, create a markdown file in `/docs/features/` that explains:
- What the feature does
- How it works
- Key components and files involved
@@ -92,3 +189,5 @@ After completing the implementation, you MUST document any new features or signi
3. **Document Design Decisions**: Include any important architectural or design decisions made during implementation.
This documentation helps maintain the project and assists future developers working with the codebase.
Think hard about the solution and implementing the user's requirements.