PhpDev.App
saleem-hadad/finance

saleem-hadad/finance

Stars: 224

Forks: 44

Pull Requests: 47

Issues: 4

Watchers: 6

Last Updated: 2023-09-01 16:46:57

💰 Free open-source personal finance tracking web application powered by ChatGPT.

License: MIT License

Languages: Shell, PHP, Blade, Dockerfile, Makefile

https://finance-demo.saleem.dev

FINANCE

FINANCE is a simple yet powerful, self-hosted personal finance tracking web app with the ability to parse SMS transactions and generate very useful insights about your money. It's also powered by ChatGPT!

💰 Sponsors

Support this project by becoming a sponsor ❤️. Your logo will show up here with a link to your website. Become a sponsor

🛠 Features

  1. Self-hosted - full control over your data privacy
  2. Parse SMS bank transactions
  3. Powerful AI model - FinanceGPT 🔥 - DEMO
  4. Detailed analysis of income and expenses
  5. Detailed monthly report of income and expenses - see example

🎮 Demo

Try the app with live demo.

▶️ Installation

Docker Installation

  1. Method one (recommended)
git clone https://github.com/saleem-hadad/finance && cd finance

make build # build the docker image
make run # the same as docker-compose up -d

# wait for a few seconds to allow the DB to finish the setup then run
make install # only for the first time
2. Method two (using docker-compose public hosted docker image)

First, create a docker-compose.yml file

version: '3'
services:
    app:
        image: 'salee2m1/finance:1.9.0'
        ports:
            - "80:80"
        networks:
            - finance
        depends_on:
            - mysql
        environment:
            OPENAI_API_KEY: 'YOUR_OPENAI_API_KEY'
    mysql:
        image: 'mysql/mysql-server:8.0'
        ports:
            - '3306:3306'
        environment:
            MYSQL_ROOT_PASSWORD: 'root'
            MYSQL_ROOT_HOST: "%"
            MYSQL_DATABASE: 'finance'
            MYSQL_USER: 'finance'
            MYSQL_PASSWORD: 'finance'
            MYSQL_ALLOW_EMPTY_PASSWORD: 1
        volumes:
            - 'financemysql:/var/lib/mysql'
        networks:
            - finance
        healthcheck:
            test: ["CMD", "mysqladmin", "ping", "-proot"]
            retries: 3
            timeout: 5s
networks:
    finance:
        driver: bridge
volumes:
    financemysql:
        driver: local

Then, inside the same directory run

docker-compose up -d
# wait for a few seconds to run the DB then run
docker-compose run app php artisan migrate
docker-compose run app php artisan finance:install

Once done, visit the app on http://localhost

Read full documentation

JetBrains Sponsorship

Thank you, JetBrains for sponsoring the license ❤️

Get $200 DigitalOcean Credit

DigitalOcean Referral Badge

Project Visualization

Visualization of this repo

🪚 Built with

  1. Laravel
  2. Inertia & ReactJs
  3. GraphQL
  4. MySQL
  5. Docker

🔖 License

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