Skip to content

PreetKot/FinTrack

Repository files navigation

πŸš€ FinTrack - AI-Powered Personal Finance Management

FinTrack Logo

Next.js React TypeScript Tailwind CSS Clerk

Transform your financial life with intelligent budgeting, expense tracking, and personalized AI insights.


✨ Features

🧠 AI-Powered Insights

  • Get personalized financial advice powered by advanced AI
  • Smart recommendations based on your spending patterns
  • Intelligent budget optimization suggestions

πŸ“Š Comprehensive Dashboard

  • Beautiful, modern interface with real-time updates
  • Interactive charts and analytics
  • Mobile-responsive design for on-the-go access

πŸ’° Smart Budget Management

  • Create and manage multiple budgets
  • Track spending against budget limits
  • Visual progress indicators and alerts

πŸ“ˆ Expense Tracking

  • Categorize and track all your expenses
  • Upload receipts and add notes
  • Historical spending analysis

πŸ’΅ Income Management

  • Track multiple income streams
  • Monitor income vs. expenses
  • Financial health scoring

πŸ”’ Secure & Private

  • End-to-end encryption
  • Secure authentication with Clerk
  • Your data stays private and protected

πŸ› οΈ Tech Stack

Technology Purpose Version
Next.js React Framework 14.2.28
React Frontend Library 18
TypeScript Type Safety Latest
Tailwind CSS Styling 3.4.1
Framer Motion Animations 11.3.2
Clerk Authentication 4.30.0
Drizzle ORM Database ORM 0.44.2
NeonDB Database Latest
OpenAI AI Integration 4.52.7
Recharts Data Visualization 2.12.5
Lucide React Icons 0.371.0

πŸš€ Quick Start

Prerequisites

  • Node.js 18+
  • npm or yarn
  • Git

1. Clone the Repository

git clone https://github.com/PreetKot/FinTrack.git
cd FinTrack

2. Install Dependencies

npm install
# or
yarn install

3. Environment Setup

Create a .env.local file in the root directory:

# Clerk Authentication
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key
CLERK_SECRET_KEY=your_clerk_secret_key

# Database
DATABASE_URL=your_neon_database_url

# OpenAI (for AI features)
OPENAI_API_KEY=your_openai_api_key

4. Database Setup

# Push database schema
npm run db:push

# (Optional) Open database studio
npm run db:studio

5. Run Development Server

npm run dev
# or
yarn dev

Visit http://localhost:3000 to see your application!


πŸ“± Screenshots

Dashboard

Modern, intuitive dashboard with real-time insights


πŸ—οΈ Project Structure

FinTrack/
β”œβ”€β”€ πŸ“ app/                    # Next.js App Router
β”‚   β”œβ”€β”€ πŸ“ (auth)/             # Authentication pages
β”‚   β”œβ”€β”€ πŸ“ (routes)/           # Protected routes
β”‚   β”‚   └── πŸ“ dashboard/      # Dashboard pages
β”‚   └── πŸ“ _components/        # Shared components
β”œβ”€β”€ πŸ“ components/             # Reusable UI components
β”‚   └── πŸ“ ui/                 # shadcn/ui components
β”œβ”€β”€ πŸ“ lib/                    # Utility libraries
β”œβ”€β”€ πŸ“ utils/                  # Helper functions
β”œβ”€β”€ πŸ“ drizzle/                # Database migrations
└── πŸ“ public/                 # Static assets

🎨 Design System

Color Palette

  • Primary: Blue gradient (#3b82f6 to #1d4ed8)
  • Secondary: Purple gradient (#8b5cf6 to #7c3aed)
  • Success: Green (#10b981)
  • Warning: Yellow (#f59e0b)
  • Error: Red (#ef4444)

Typography

  • Font: Outfit (Google Fonts)
  • Headings: Bold, modern styling
  • Body: Clean, readable text

Components

  • Cards: Rounded corners, subtle shadows
  • Buttons: Gradient backgrounds, smooth transitions
  • Forms: Clean inputs with focus states
  • Charts: Interactive, colorful visualizations

πŸš€ Deployment

Vercel (Recommended)

  1. Push your code to GitHub
  2. Connect your repository to Vercel
  3. Add environment variables
  4. Deploy!

Manual Deployment

# Build the application
npm run build

# Start production server
npm start

πŸ§ͺ Available Scripts

Script Description
npm run dev Start development server
npm run build Build for production
npm run start Start production server
npm run lint Run ESLint
npm run db:push Push database schema
npm run db:studio Open Drizzle Studio

🀝 Contributing

We love contributions! Here's how you can help:

1. Fork the Repository

git fork https://github.com/PreetKot/FinTrack.git

2. Create a Feature Branch

git checkout -b feature/amazing-feature

3. Make Your Changes

  • Follow our coding standards
  • Add tests if necessary
  • Update documentation

4. Commit Your Changes

git commit -m "Add amazing feature"

5. Push to Branch

git push origin feature/amazing-feature

6. Open a Pull Request

  • Describe your changes
  • Link any related issues
  • Request review

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


🎯 Roadmap

Phase 1 βœ…

  • User authentication
  • Basic budgeting
  • Expense tracking
  • AI-powered insights

Phase 2 🚧

  • Investment tracking
  • Debt management
  • Goal setting
  • Mobile app

Phase 3 πŸ“…

  • Multi-currency support
  • Bank integrations
  • Advanced AI features
  • Team collaboration

πŸ› Bug Reports & Feature Requests

Found a bug or have a feature request? Please create an issue:

  1. Go to Issues
  2. Click "New Issue"
  3. Choose the appropriate template
  4. Fill out the required information

πŸ’¬ Community & Support


πŸ“Š Stats

GitHub Stats

πŸ™ Acknowledgments


⭐ Star this repository if you found it helpful!

Made with ❀️ by Preet Kotmire

About

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published