Skip to content

📈 A finances application to keep track of my personal spendings

Notifications You must be signed in to change notification settings

MarkusThielker/next-finances

Repository files navigation

Next-Finances

This is my simple finances tracker that I use to keep track of my spending.

Using the app

Understanding the Basics

  • Entities: The core building blocks of your finances.
    • Accounts: Where you hold money (e.g., bank accounts, PayPal account, cash)
    • Entities: Where you spend money (e.g., Walmart, Spotify, Netflix)
  • Payments: Record money movement.
    • Expenses: Money leaving an Account. (Account -> Entity)
    • Income: Money entering an Account. (Entity -> Account)
  • Categories (optional): Add labels to Payments for better tracking.

Your First Steps

  • Set up: Create Entities and Accounts that reflect your finances.
  • Record a Payment:
    • Enter the amount and date.
    • Select payor and payee
    • (optional) Assign a category or enter a note.
  • Explore: View your payment history and view your statics at the dashboard

Tips

  • Install the website as a PWA for easy access.
  • Get in the habit of recording Payments as they happen for accurate tracking.
  • Use categories to understand your spending patterns.

Development

Clone this repository and run the following commands:

## create .env file
cp .env.example .env

## start the database
docker compose -f docker/finances-dev/docker-compose.yml up -d

## generate prisma client
npx prisma generate

## apply database migrations
npx prisma migrate deploy

## start the development server
npm run dev

Then open http://localhost:3000 with your browser and create an account. While in development mode, you can generate sample data from the Account page.

Deployment

Copy the docker-compose.yaml file and the .env.example from 'docker/finances-prod' to your server.

Rename the .env.example file to .env and adjust the required environment variables.

The docker setup expects you to run a Traefik reverse proxy. It will then register itself automatically. If your setup is different, you will need to adjust the docker-compose.yaml file accordingly.

The finances containers will automatically register themselves to a running watchtower container if it is present.

Finally run docker-compose up -d on your server to start the application.

About

📈 A finances application to keep track of my personal spendings

Resources

Stars

Watchers

Forks

Languages