whatisgithub

What is expense-tracker-app?

nuel36j/expense-tracker-app — explained in plain English

Analysis updated 2026-05-18

1HTMLAudience · developerComplexity · 3/5Setup · moderate

In one sentence

A personal expense tracking app with a FastAPI backend, JWT login, and a single-file HTML frontend needing no build tools.

Mindmap

mindmap
  root((repo))
    What it does
      Track personal expenses
      Category breakdown
      Monthly summary
    Tech stack
      FastAPI backend
      SQLAlchemy and SQLite
      Plain HTML frontend
    Use cases
      Personal budgeting
      Mobile use via Termux
      Swap to Postgres or MySQL
    Audience
      Individual users
      Developers learning FastAPI

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Log your daily expenses with categories and keep a searchable personal history.

USE CASE 2

See a live breakdown of your spending by category and a monthly total.

USE CASE 3

Run your own private expense tracker on a phone via Termux or on a regular computer.

USE CASE 4

Swap the default SQLite database for PostgreSQL or MySQL without changing any code.

What is it built with?

FastAPIPythonSQLAlchemySQLiteJWTHTML/CSS/JS

How does it compare?

nuel36j/expense-tracker-appabhishek-kumar09/mern-live-js-june-2021abhishek-kumar09/z
Stars111
LanguageHTMLHTMLHTML
Last pushed2021-09-132019-12-23
MaintenanceDormantDormant
Setup difficultymoderatemoderateeasy
Complexity3/52/51/5
Audiencedeveloperdevelopergeneral

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires Python 3.10+, creating a .env file with a secret key, and tightening CORS before production use.

So what is it?

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.

Copy-paste prompts

Prompt 1
Help me set up this FastAPI expense tracker locally, including the .env file and secret key.
Prompt 2
Walk me through switching this project's database from SQLite to PostgreSQL.
Prompt 3
Explain how the JWT authentication and Argon2 password hashing work in app/core/security.py.
Prompt 4
Help me lock down the CORS settings in main.py before deploying this app to production.

Frequently asked questions

What is expense-tracker-app?

A personal expense tracking app with a FastAPI backend, JWT login, and a single-file HTML frontend needing no build tools.

What language is expense-tracker-app written in?

Mainly HTML. The stack also includes FastAPI, Python, SQLAlchemy.

How hard is expense-tracker-app to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is expense-tracker-app for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.