nuel36j/expense-tracker-app — explained in plain English
Analysis updated 2026-05-18
Log your daily expenses with categories and keep a searchable personal history.
See a live breakdown of your spending by category and a monthly total.
Run your own private expense tracker on a phone via Termux or on a regular computer.
Swap the default SQLite database for PostgreSQL or MySQL without changing any code.
| nuel36j/expense-tracker-app | abhishek-kumar09/mern-live-js-june-2021 | abhishek-kumar09/z | |
|---|---|---|---|
| Stars | 1 | 1 | 1 |
| Language | HTML | HTML | HTML |
| Last pushed | — | 2021-09-13 | 2019-12-23 |
| Maintenance | — | Dormant | Dormant |
| Setup difficulty | moderate | moderate | easy |
| Complexity | 3/5 | 2/5 | 1/5 |
| Audience | developer | developer | general |
Figures from each repo's GitHub metadata at analysis time.
Requires Python 3.10+, creating a .env file with a secret key, and tightening CORS before production use.
Expense Tracker is a personal finance app for logging and reviewing your own spending. It has a FastAPI backend written in Python and a plain HTML, CSS, and JavaScript frontend that needs no build tools or Node.js. FastAPI itself serves that single frontend file, so once the server is running you just open a web page in your browser to use the app. Users create an account and log in, and the app issues a JWT token to keep them signed in. Passwords are hashed with Argon2, and are first run through SHA-256 so that very long passwords are still fully protected, since Argon2 has a limit on how much of a password it can hash directly. Once logged in, a person can add, edit, and delete their expenses, filter them by category, and search by keyword. The app also shows a live bar breaking down spending by category and a monthly summary of total spend. Every expense is tied to the user who created it, and the backend always checks both the expense ID and the user ID together, so one user cannot view or change another user's expenses even by guessing an ID. By default the app stores data in a SQLite database file that is created automatically the first time you run it, with no extra setup needed. The README also explains how to switch to PostgreSQL or MySQL instead, just by changing one setting, since the database layer (SQLAlchemy) handles the difference. Setup involves installing Python dependencies, copying an example environment file, and generating a random secret key used to sign the login tokens. The project was built and tested inside Termux, a terminal app for Android phones, and the README warns that on Android the project files must live in Termux's own home folder rather than shared phone storage, or Python and pip will not work correctly. The README also notes that the API currently allows requests from any website by default and should be locked down to a specific frontend address before being deployed for real use. Interactive documentation for every API endpoint is available automatically once the server starts.
A personal expense tracking app with a FastAPI backend, JWT login, and a single-file HTML frontend needing no build tools.
Mainly HTML. The stack also includes FastAPI, Python, SQLAlchemy.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
double-check against the repo, no cap.