Skip to content

i-xul/shopping-tracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Shopping Tracker

A small self-hosted Flask application for tracking monthly purchases.

The application allows adding purchases with prices, calculates monthly totals, and keeps a history of previous months.


Project Status

This project is under active development.

New features are added incrementally based on real-world usage rather than implementing everything at once.


Language

The current user interface is available only in Finnish.

The application was originally developed for personal use. Multi-language support may be added in the future if needed.


Features

  • Add purchases
  • Monthly total calculation
  • Monthly history
  • Delete purchases
  • Dark mode interface
  • SQLite database
  • Flask web interface
  • systemd service support

Planned Features

  • Edit existing purchases
  • Categories (Food, Tools, Books, Parts, etc.)
  • Store / seller field
  • Monthly comparison graph
  • Yearly overview
  • Search purchases
  • Notes field
  • CSV export
  • Automatic database backup

Tech Stack

  • Python
  • Flask
  • SQLite
  • HTML
  • CSS
  • systemd

Installation

Create a virtual environment:

python3 -m venv venv

Activate it:

source venv/bin/activate

Install dependencies:

pip install -r requirements.txt

Start the application:

python3 app.py

Open in your browser:

http://localhost:5002

Running as a systemd Service

Example service file:

[Unit]
Description=Shopping Tracker Flask App
After=network.target

[Service]
User=hmasi
WorkingDirectory=/home/hmasi/shopping-tracker
ExecStart=/home/hmasi/shopping-tracker/venv/bin/python /home/hmasi/shopping-tracker/app.py
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target

Enable the service:

sudo systemctl enable shopping-tracker.service
sudo systemctl start shopping-tracker.service

Project Goals

This project is intended to remain lightweight, self-hosted, and easy to maintain while gradually adding useful features as real-world needs arise.

The goal is to create a practical household purchase tracker rather than a full accounting system.

About

A lightweight self-hosted Flask application for tracking monthly purchases with SQLite.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors