Skip to content

tomjtoth/saldo

Repository files navigation

CI/CD codecov

Saldo

A multi-user expense tracker made for making splitting the bills, keeping track of debts, and providing summary of consumption easier. Click here to check it out in production (branch main).

Typical usage scenarios

  • Friends A, B and C spend the weekend in a rented weekend house, they travel by the same car:

    • A pays for gas, which is split 3-way
    • B pays for all the food and soft-drinks (split 3-way)
    • B pays for alcoholic beverages, which are split 2-way, since person A doesn't drink alcohol
    • C books and pays for the accommodation (split 3-way)

After everyone joined the same group, created the relevant categories, added their receipts (marking shares of each item vs. user), the balance view will show each "realtion of debt" within the group, while the consumption view shows the total consumption of each category/user.

Implementation

The app uses Next.js, Auth.js, Recharts, drizzle ORM (with SQLite backend) and custom migrations written in plain SQL, which are handled atomically (also rolling back on FK violations) during instrumentation. The database sports a few solutions aiming to minimize storage size.

Docker images are generated from select commits (via inserting "#deploy" in the head commit message). A previous version of branch staging is deployed here, providing access to (the clone of) production data, while branch dev is deployed here without access to production data or OAuth (any email address is viable and the password TEST_PASSWD).

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages