Skip to content

ArthKosh is a modern, open-source personal finance management app. It helps you track accounts, manage transactions, visualize spending, and plan budgets with ease. Designed to be secure, responsive, and extensible, ArthKosh brings together clean dashboards, insightful analytics, and future-ready SaaS capabilities.

License

Notifications You must be signed in to change notification settings

bugsum/ArthKosh

Repository files navigation

ArthKosh - Personal Finance Management

CI License: MIT

ArthKosh is a modern, open-source personal finance management application built with Next.js, TypeScript, and Prisma. Track your income, expenses, set budgets, achieve financial goals, and gain insights into your spending patterns.

✨ Features

  • Multi-Account Management: Support for bank accounts, wallets, credit cards, and investments
  • Transaction Tracking: Record income, expenses, and transfers with categories and tags
  • Budget Planning: Set monthly/quarterly/yearly budgets per category with overspending alerts
  • Goal Setting: Track savings goals with progress visualization
  • Smart Analytics: Interactive charts for income vs expenses, category breakdowns, and net worth tracking
  • Data Import/Export: CSV import/export for easy data migration
  • Authentication: Secure login with Google OAuth and email magic links
  • Responsive Design: Mobile-first design with dark/light theme support

πŸš€ Quick Start

Prerequisites

  • Node.js 18+
  • npm or yarn
  • SQLite (or PostgreSQL for production)

Installation

  1. Clone the repository

    git clone https://github.com/yourusername/arthkosh.git
    cd arthkosh
  2. Install dependencies

    npm install
  3. Set up environment variables

    cp .env.example .env

    Configure your .env file:

    DATABASE_URL="file:./dev.db"
    NEXTAUTH_URL="http://localhost:3000"
    NEXTAUTH_SECRET="your-secret-key"
    GOOGLE_CLIENT_ID="your-google-client-id"
    GOOGLE_CLIENT_SECRET="your-google-client-secret"
    EMAIL_SERVER_HOST="smtp.example.com"
    EMAIL_SERVER_PORT="587"
    EMAIL_SERVER_USER="your-email"
    EMAIL_SERVER_PASSWORD="your-password"
    EMAIL_FROM="noreply@example.com"
  4. Set up the database

    npx prisma migrate dev
    npx prisma generate
  5. Start the development server

    npm run dev
  6. Open your browser Navigate to http://localhost:3000

πŸ—οΈ Architecture

  • Frontend: Next.js 15 with App Router, TypeScript, TailwindCSS
  • Backend: Next.js API routes with Prisma ORM
  • Database: SQLite (development) / PostgreSQL (production)
  • Authentication: NextAuth.js with Google OAuth and email providers
  • Charts: Recharts for data visualization
  • Styling: TailwindCSS with shadcn/ui components

πŸ“ Project Structure

arthkosh/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ app/                    # Next.js App Router pages
β”‚   β”‚   β”œβ”€β”€ api/               # API routes
β”‚   β”‚   β”œβ”€β”€ auth/              # Authentication pages
β”‚   β”‚   β”œβ”€β”€ dashboard/         # Dashboard with charts
β”‚   β”‚   β”œβ”€β”€ accounts/          # Account management
β”‚   β”‚   β”œβ”€β”€ transactions/      # Transaction CRUD
β”‚   β”‚   β”œβ”€β”€ budgets/           # Budget management
β”‚   β”‚   └── goals/             # Goal tracking
β”‚   β”œβ”€β”€ components/            # Reusable UI components
β”‚   β”‚   β”œβ”€β”€ charts/            # Chart components
β”‚   β”‚   β”œβ”€β”€ dashboard/         # Dashboard widgets
β”‚   β”‚   β”œβ”€β”€ layout/            # Layout components
β”‚   β”‚   └── providers/         # Context providers
β”‚   β”œβ”€β”€ lib/                   # Utility functions
β”‚   └── types/                 # TypeScript type definitions
β”œβ”€β”€ prisma/                    # Database schema and migrations
β”œβ”€β”€ public/                    # Static assets
└── docs/                      # Documentation

πŸ”§ Development

Available Scripts

  • 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 format - Format code with Prettier

Code Quality

  • ESLint: Code linting with Next.js and TypeScript rules
  • Prettier: Code formatting
  • Husky: Git hooks for pre-commit checks
  • TypeScript: Strict type checking

Database

  • Prisma: Type-safe database client
  • Migrations: Version-controlled database schema changes
  • Seed Data: Sample data for development

πŸš€ Deployment

Vercel (Recommended)

  1. Push your code to GitHub
  2. Connect your repository to Vercel
  3. Set environment variables in Vercel dashboard
  4. Deploy automatically on every push

Docker

docker build -t arthkosh .
docker run -p 3000:3000 arthkosh

Manual Deployment

  1. Build the application: npm run build
  2. Start the production server: npm run start
  3. Set up a reverse proxy (nginx/Apache)
  4. Configure environment variables

🀝 Contributing

We welcome contributions! Please see our Contributing Guide for details.

Development Workflow

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Make your changes
  4. Run tests: npm run lint && npm run build
  5. Commit your changes: git commit -m 'Add amazing feature'
  6. Push to the branch: git push origin feature/amazing-feature
  7. Open a Pull Request

πŸ“Š Roadmap

  • Mobile App: React Native companion app
  • Advanced Analytics: Machine learning insights
  • Multi-Currency: International currency support
  • Investment Tracking: Portfolio management
  • Bill Reminders: Automated payment notifications
  • Tax Reports: Year-end tax summaries
  • API Access: Public API for integrations
  • Collaboration: Shared household finances

πŸ› Issues & Support

πŸ“„ License

This project is licensed under the Creative Commons Zero v1.0 Universal License - see the LICENSE file for details.

πŸ™ Acknowledgments

πŸ“ˆ Project Status

  • Version: 0.1.0
  • Status: Active Development
  • Last Updated: 03 September 2025

Made with ❀️ by Samarth Sharma

About

ArthKosh is a modern, open-source personal finance management app. It helps you track accounts, manage transactions, visualize spending, and plan budgets with ease. Designed to be secure, responsive, and extensible, ArthKosh brings together clean dashboards, insightful analytics, and future-ready SaaS capabilities.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published