Files
moneymind/README.md
Rosario Moscato ea08bae81f docs: update README.md for MoneyMind project
- Change project name from Agentic Coding Boilerplate to MoneyMind
- Update features list to reflect financial management capabilities
- Update clone URL to point to MoneyMind repository
- Update pages overview to reflect MoneyMind structure
- Update footer message to match financial theme

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-29 15:06:17 +02:00

6.4 KiB

MoneyMind

A complete personal finance management application with transaction tracking, budget planning, financial analytics, and goal setting - powered by modern web technologies.

🚀 Features

  • 🔐 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

Buy Me a Coffee

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.

Buy Me a Coffee

📋 Prerequisites

Before you begin, ensure you have the following installed on your machine:

  • Node.js: Version 18.0 or higher (Download here)
  • Git: For cloning the repository (Download here)
  • PostgreSQL: Either locally installed or access to a hosted service like Vercel Postgres

🛠️ Quick Setup

1. Clone or Download the Repository

Option A: Clone with Git

git clone https://gitea.rosmoscato.xyz/ros/moneymind

Option B: Download ZIP Download the repository as a ZIP file and extract it to your desired location.

2. Install Dependencies

npm install

3. Environment Setup

Copy the example environment file:

cp env.example .env

Fill in your environment variables in the .env file:

# 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:

npm run db:generate
npm run db:migrate

5. Start the Development Server

npm run dev

Your application will be available at http://localhost:3000

⚙️ Service Configuration

PostgreSQL Database on Vercel

  1. Go to Vercel Dashboard
  2. Navigate to the Storage tab
  3. Click CreatePostgres
  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

  1. Go to Google Cloud Console
  2. Create a new project or select an existing one
  3. Navigate to CredentialsCreate CredentialsOAuth 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. Go to OpenAI Platform
  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

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

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

  • 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

🚀 Deployment

  1. Install the Vercel CLI globally:

    npm install -g vercel
    
  2. Deploy your application:

    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! 💰🚀