Coder Social home page Coder Social logo

spiral-project / ihatemoney Goto Github PK

View Code? Open in Web Editor NEW
1.1K 26.0 261.0 18.29 MB

A simple shared budget manager web application

Home Page: https://ihatemoney.org

License: Other

Python 74.20% CSS 6.10% JavaScript 2.39% HTML 14.29% Mako 0.09% Makefile 0.82% Shell 0.28% Dockerfile 0.37% Jinja 1.47%
python flask budget-manager

ihatemoney's Introduction

I hate money

GitHub Actions Status Translation status from Weblate Donate Docker image

I hate money is a web application made to ease shared budget management. It keeps track of who bought what, when, and for whom; and helps to settle the bills.

The code is distributed under a BSD beerware derivative: if you meet the people in person and you want to pay them a craft beer, you are highly encouraged to do so.

Requirements

  • Python: version 3.7 to 3.12.
  • Backends: SQLite, PostgreSQL, MariaDB (version 10.3.2 or above), Memory.

Current direction (as of 2024)

Ihatemoney was started in 2011, and we believe the project has reached a certain level of maturity now. The overall energy of contributors is not as high as it used to be.

In addition, there are now several self-hosted alternatives (for instance cospend, spliit).

As maintainers, we believe that the project is still relevant but should gear towards some kind of "maintenance mode":

  • Simplicity is now the main goal of the project. It has always been a compass for the project, and the resulting software is appreciated by both users and server administrators. For us, "simplicity" is positive and encompasses both technical aspects (very few javascript code, manageable dependencies, small code size...) and user-visible aspects (straightforward interface, no need to create accounts for people you invite, same web interface on mobile...)

  • Stability is prioritized over adding major new features. We found ourselves complexifying the codebase (and the interface) while accepting some contributions. Our goal now is to have a minimal set of features that do most of the job. We believe this will help lower the maintainance burden.

  • User interface and user experience improvements are always super welcome !

It is still possible to propose new features, but they should fit into this new direction. Simplicity of the UI/UX and simplicity of the technical implementation will be the main factors when deciding to accept new features.

Contributing

Do you wish to contribute to IHateMoney? Fantastic! There's a lot of very useful help on the official contributing page.

You can also donate some money. All funds will be used to maintain the hosted version.

Join the other contributors.

Translation status

Translation status for each language

ihatemoney's People

Contributors

0livd avatar aavenel avatar almet avatar andrew-dickinson avatar arnaudbos avatar azmeuk avatar barbariska505 avatar bnjbvr avatar comradekingu avatar dependabot-preview[bot] avatar dependabot[bot] avatar emerzh avatar eugenia-russell avatar feth avatar fredericsureau avatar glandos avatar jocelyndelalande avatar jojo144 avatar joseantoniotorre avatar leomouyna avatar natim avatar phyks avatar rensoliemans avatar rezaalmanda avatar santossi avatar tomroussel avatar umeaboy avatar vistaus avatar weblate avatar zorun avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ihatemoney's Issues

"Shared" users error

It is not possible to add the same user (or a different one under the same name) on different project.

Manage transfers

Transfers of money from one person to another should be handled in a simple way.

No REST API doc

The Readme file states:

"Yep, you're right, there is a REST API with this. Head to the api documentation to know more."

I wish I could find it.
kthxbye :op

Provide a REST API

All the things should be available trough a simple HTTP REST Interface.

Export and import features

As suggested by @Tinmn, it could be useful to be able to export the list of bills into a CSV format. I think we could achieve this using a particular format with the REST API (See #27) , thus, we would be able to provide export into others formats as well such as XML, JSON etc.

Delete a user causes HTTP Error 500

Edit: I just realized it might be somehow related to #21?

One of my friend at work tried to crash things (several good beta testers in da place BTW) and inserted some shit into the demo project, see http://ihatemoney.notmyidea.org/demo/.

I tried to delete the entry and found this bug. We can't delete a member, it causes HTTP Error 500. Any idea?

User shouldn't be able to add negative bills

One of my co-workers noticed that there was no validation preventing negative bills.

Yes, it's a silly idea to insert a negative bill but still, do we ignore it and let the user do what he wants, or do we prevent wrong behaviors like this one?

CSS footer is not done right.

@arnaudbos said: "The #footer element has absolute positioning, however the PC I'm testing with Chrome 13 has a very small screen (11"), so the bottom of the screen coincides with an element of the form".

Having an alternate stylesheet for mobile would probably solve this.

Number format

Hi there,

Number format for the bill list looks "wrong" to me. It's like "15.0" or "45.1". I think it should be "15.00" or "45.10" by default. Amounts should have 2 decimals digits, IMHO.

Who should pay ?

Could it be interesting for a project to indicate who should pay the next time? (the person with the lower balance), or is it obvious regarding the balance itself?

Keep the last payer selection

When adding a lot of bills, it is boring to click each time in the list for the payer.

I propose to keep the last selected payer (in the session for example) and select it by default in the add list.

Bug in the user adding

When you try to add a new user in a project, if the user name is already used in another project, this is not possible. Fix this!

Management of users

Support adding / removing users to a project.

Users are not really removed until they don't have any event bound to them.

Adding a disabled user should enable it

If I de-activate an user and try to add him again, I'll get an error. Different things:

  • The system should find him and reactivate him.
  • The balance should make him appear, in grey, even if the user is deactivated
  • Error messages should be put in flash messages, not in for messages in a different page as it is done currently.

Members view

The members view displays all of the project's members, even the desactivated ones.
It is then possible to manage members (edit, add, delete).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.