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!
Support this project by becoming a sponsor ❤️. Your logo will show up here with a link to your website. Become a sponsor
- Self-hosted - full control over your data privacy
- Parse SMS bank transactions
- Powerful AI model - FinanceGPT 🔥 - DEMO
- Detailed analysis of income and expenses
- Detailed monthly report of income and expenses - see example
Try the app with live demo.
Docker Installation
- 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
Thank you, JetBrains for sponsoring the license ❤️
- Laravel
- Inertia & ReactJs
- GraphQL
- MySQL
- Docker
This project is licensed under the MIT License - see the LICENSE.md file for details.