Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/markusthielker/next-finances

📈 A finances application to keep track of my personal spendings
https://github.com/markusthielker/next-finances

Last synced: about 1 month ago
JSON representation

📈 A finances application to keep track of my personal spendings

Awesome Lists containing this project

README

        

# 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:

```bash

## 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](http://localhost:3000) with your browser and create an account.
While in development mode, you can generate sample data from the [Account page](http://localhost:3000/account).

## Deployment

Copy the [docker-compose.yaml](./docker/finances-prod/docker-compose.yaml) file and
the [.env.example](./docker/finances-prod/.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.