Skip to content

builder555/bil

Repository files navigation

Budget Insight Ledger

^ This is the best title GPT could spit out. A very basic bookkeeping/finance tracker for personal (or small business) use. It can run standalone or in a docker container. Stores database in json files, each project is a git repo, allowing you to undo any action and view the state of your project at any point in the past.

The app does not collect any personal information

Features

  • grouping transactions
  • search-as-you-type for groups and individual payments
  • mobile-friendly
  • receipt attachments
  • friendly API (swagger)
  • view of past states

Wishlist

  • add tags and by-tag filtering
  • read-only mode when viewing past states
  • passcode authentication
  • calendar view for date inputs
  • migrations for database changes preserving rollback

Run

Directly from command line

docker run -v ./data:/app/data -p 8000:8000 builder555/bil

Navigate to http://localhost:8000

Or using docker-compose

Create a compose.yml file:

services:
  main:
    image: builder555/bil:latest
    container_name: bil
    volumes:
      - ./data:/app/data
    ports:
      - "8000:8000"
    restart: unless-stopped

Start:

docker compose up -d

Navigate to http://localhost:8000

Development

Prerequisites:

  • node 16+
  • yarn
  • python 3.10+
  • poetry
  • libmagic
  • setuptools
git clone https://github.com/builder555/bil.git

# run api:
cd bil/api
poetry install
poetry run start
# to view swagger: http://localhost:8000/docs

#run ui:
cd bil/ui
yarn install
yarn run serve
#to view ui: http://localhost:8080
image

screencap