Files
tally/README.md

2.0 KiB

Tally

Daily, weekly and monthly expense tracking. Data is saved privately (local storage on web, on-device storage in the app). No account.

There are two versions:

  • This folder (plain web) — no dependencies, no build step. Start it below.
  • expo-app/ (React Native + Expo) — one codebase that runs as a website and as iOS/Android apps. Needs Node.js 20+; see expo-app/README.md.

Start

cd "/mnt/c/workspace/expense tracker"
python3 server.py

Open http://localhost:8000 in your browser. To use another port: PORT=8080 python3 server.py.

Features

  • Sidebar views — Daily, Weekly, Monthly and All expenses with live counts, each group with its own total.
  • Categories — Food, Transport, Household, Utilities, Shopping, Health, Beauty, Entertainment, Other.
  • Repeats — mark an expense Daily, Weekly or Monthly. Repeating entries appear under “Repeating expenses” with the next due date and a one-click Log next occurrence button.
  • Summary — totals plus a per-category spending breakdown for whatever is shown.
  • INR amounts — everything is shown in rupees (₹) with Indian digit grouping.
  • Search and filters — by text, category and repeat type.
  • Edit / delete — every entry can be changed or removed.
  • Sample data — realistic entries are loaded on first run so each view has content. Use Clear all to start empty and Load sample data to add them back.

Deploy

Live at https://tally.shaebali.com (Dokploy app tally, built from the main branch of the shaebali/tally Gitea repo). To ship: commit, push to main, then trigger application.deploy on Dokploy.

Cloudflare caches app.js/styles.css at the edge, so every deploy that changes them must bump the ?v= query in index.html or visitors keep getting the old files until the edge entry expires.

Files

  • index.html — page structure
  • styles.css — styling
  • app.js — all logic (views, repeats, storage)
  • server.py — zero-dependency local server (the project runner)