A simple shared budget manager web application

Overview

I hate money

Travis CI Build Status Translation status from Weblate

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.6 to 3.9.
  • Backends: MySQL, PostgreSQL, SQLite, Memory.

Contributing

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

Translation status

Translation status for each language
Comments
  • Add user coefficients.

    Add user coefficients.

    We currently use an App on Android, and is has a realy cool feature, you can assign a default percentage to each user (default and per transaction), so for example we have a couple here so they have a default percentage of 200% as they share the same money (And like that we don't need to split every purchase between the two of them).

    Having this feature could be really cool.

    opened by Korri 25
  • Add Project History Page

    Add Project History Page

    Adds a history page (Resolves #426 ), showing all changes to the database.

    image

    Implemented using SQLAlchemy-continuum. Per #426, users can opt-out using a new interface on the Settings page and must opt-in to have their IP addresses recorded.

    image image

    Users visiting the history page after reducing their privacy settings are prompted to delete the previously recorded data: image

    This PR also includes a reasonably comprehensive set of tests to assure the privacy protections work as intended and that log entries are created for manual & api operations.

    opened by Andrew-Dickinson 24
  • Looking for maintainers

    Looking for maintainers

    Hi folks,

    8 years ago, I published the first version of ihatemoney.

    I'm happy with what we have done with this project : it's still straight to the point, not doing a lot of fancy cool stuff nobody needs, it's just doing a set of simple tasks, and it's doing them well.

    Since its inception, we've had 10 releases (current version is 4.1.3 at the time of writing), and contributions from 39 persons, according to the git log.

    I recently changed my professional career (I'm a brewer now!), and I don't want to spend time on maintaining software projects anymore. Not that it's a pain to do, or anything like it, it's actually quite some fun, but I just don't want to take this even so small amount of time, these days.

    So, while I have no problem shutting things down, it would be phenomenal to have a set of people to take this over. The amount of maintaining-work is small : a few pull requests here and there, some reviews and some releasing work, it honnestly doesn't take too much time.

    I really hope people will step-up, but if it doesn't happen I will archive the project. I'll wait until the end of January 2020 to decide.

    So, if you're interested, please, let me know!

    Cheers, Alex

    opened by almet 24
  • Navbar fiddeling again

    Navbar fiddeling again

    Hey here :)

    seeing some open issues, like #344 or #352 i was fiddeling with another nav rework... i should probably though more about the first iteration...

    image

    image

    Done :

    • [x] enable new langs (NL)
    • [x] language switcher is recognisable
    • [x] make project name visible (and display the possibility to switch)
    • [x] add some nice svg icon
    • [x] make the project switcher available on homepage if already logged
    • [X] Add link to mobile app and doc in footer
    • [x] move dashboard link to footer...
    opened by eMerzh 20
  • Icon is too small

    Icon is too small

    Hi, and thanks for this project, it's great :-) I just discovered it and I'm opening a few issues here and there to propose feedback. Hope it's the right way to do things around here!

    The icon used as a favicon is too small for my eyes, or maybe it depends on the colors used, but I find it almost useless, and even counter-productive!

    There are plenty of existing icons provided with CC license by the Nount project. What about this one, for instance?

    https://thenounproject.com/search/?q=money&i=1406358

    good first issue 
    opened by indatwood 19
  • start making releases

    start making releases

    I was thinking, what about starting making tagged releases (or even just tagging on github) ?

    It's a bit of work, but it would :

    • make the install process a bit easier
    • simplify third-party packaging (I'm thinking about https://github.com/YunoHost-Apps/ihatemoney_ynh )
    • force us to keep track of changes in a ChangeLog

    What do you think ?

    opened by JocelynDelalande 19
  • Make a full JavaScript client

    Make a full JavaScript client

    Hi,

    @almet just to know what you would think about switching to a single-page-app framework like AngularJS, ReactJS… Goal is to get better experience for the user (#113 will help that also). The REST API would allow us to switch to this approach quite easily.

    I'm not asking anyone to do it. I just would like to know, if I PR that kind of big change, would it be welcome or not ?

    @almet ?

    improvement 
    opened by JocelynDelalande 19
  • Upgrade to bootstrap 4

    Upgrade to bootstrap 4

    Upgrade to Bootstrap 4 (see #168 )

    Included

    To summarize :

    • better factorization of templates
    • fix moving elements (ex: try switching from project page to home page, things in sidebar are moving)
    • improve readability
    • fix misaligned elements
    • make more use of BS grid system
    • better screen readers/aria support

    Still on my TODO before it could get mergeable.

    • [x] the calendar for date selection is appearing under the bill adding modal
    • [x] fix datepicker language loading race condition
    • [x] fix datepicker arrow icons
    • [x] Add a scrollbar if the content is too big for the modal (intead of overflowing)
    • [x] (chrome browser only) When you click on "add a bill" and then close the modal window, everything in the background shift a little bit.
    • [x] Weird color changing of the font color when clicking « Add bill » button
    • [x] Hovering a member « Reactivate » button shifts everything towards right on the sidebar
    • other items reviewers will find :-)

    May come later in a separate PR

    • responsive design (this PR only offers decent display for huge/medium display, not for small/tiny ones) @aavenel offered its help.
    • rethink the navbar so that its contents is placed less weirdly (I tried to keep the previous philosophy, with minor adjustements).

    Reviewers/testers are more than welcome :-) (poke @aavenel & others)

    opened by JocelynDelalande 18
  • Prepare a bugfix-only 4.1.4 release?

    Prepare a bugfix-only 4.1.4 release?

    Currently, the latest release 4.1.3 is broken for new installs (#540).

    The new 5.0.0 release (#570) might still take some time to happen (fix pending issues, wait for translators to pick up new strings, etc). In addition, it drops support for python 2 and python 3.5, so even in the long run some people may not be able to switch to 5.0.0 immediately.

    Thus, I would like to propose a new "stable" 4.1.4 release, based on 4.1.3 instead of master, that fixes the following issues with 4.1.3 (checked items are already part of the WIP branch):

    • [x] Fix failed installation because dependencies were not being pinned (#540, #545, #558)
    • [X] Fix compatibility with werkzeug 1.0 (#488)
    • [X] backend: Trim usernames to remove leading or trailing spaces. This avoids a situation where different names can be visually identical (#367)
    • [X] backend: Fix API to forbid project creation when the ALLOW_PUBLIC_PROJECT_CREATION setting is set to false (#496)
    • [X] backend: Fix crash when a localized email template is missing (#592)
    • [X] backend: Fix language code parsing (#589)
    • [x] backend: Improve error handling when sending emails (#595)
    • [X] UI: Fix datepicker that was being displayed twice on some browsers (#221)
    • [X] UI: Fix "Submit and add a new one" button that had no effect when adding a bill (#498)
    • [X] UI: Prevent bill cancellation when cancelling autocomplete (#506)
    • [X] UI: Fix responsive width of homepage on small screns (#549)
    • [X] UI: Fix color of the "Add a member" button (#499)
    • [X] UI: Fix missing HTML tag (#583)
    • [X] UI: Fix a small typo in the french project-reminder email (#486)
    • [X] UI: Fix typo on message displayed when adding a member (#575)
    • [X] Add translations for German, Spanish, Norwegian, and Indonesian
    • [x] Add translation for Russian
    • [X] Update translations for all languages

    Any other fix I may have missed?

    What do you think on principle? @almet @JocelynDelalande @0livd @eMerzh @Natim @Glandos (I hope I didn't forget anybody)

    opened by zorun 17
  • Release 5.0.0 and discussion

    Release 5.0.0 and discussion

    Hey, now that there are muliple person involve,

    i was wondering if now is not a good time to cut a release (beta or some pre- thing) or at least determin a good time to do that.

    also, not sure what's the best channel to discuss this, github issues?

    discussion 
    opened by eMerzh 17
  • Legal disclaimer - About

    Legal disclaimer - About

    There is no link to a legal disclaimer. It would be different for each instance, but I think it is a legal obligation. It could also indicate who and where the data is held, the license (because Github is ugly), etc...

    feature request good first issue low hanging fruits 
    opened by Nartagnan 17
  • Bump sphinx from 5.3.0 to 6.0.0

    Bump sphinx from 5.3.0 to 6.0.0

    Bumps sphinx from 5.3.0 to 6.0.0.

    Release notes

    Sourced from sphinx's releases.

    v6.0.0

    Changelog: https://www.sphinx-doc.org/en/master/changes.html

    v6.0.0b2

    Changelog: https://www.sphinx-doc.org/en/master/changes.html

    v6.0.0b1

    Changelog: https://www.sphinx-doc.org/en/master/changes.html

    Changelog

    Sourced from sphinx's changelog.

    Release 6.0.0 (released Dec 29, 2022)

    Dependencies

    • #10468: Drop Python 3.6 support
    • #10470: Drop Python 3.7, Docutils 0.14, Docutils 0.15, Docutils 0.16, and Docutils 0.17 support. Patch by Adam Turner

    Incompatible changes

    • #7405: Removed the jQuery and underscore.js JavaScript frameworks.

      These frameworks are no longer be automatically injected into themes from Sphinx 6.0. If you develop a theme or extension that uses the jQuery, $, or $u global objects, you need to update your JavaScript to modern standards, or use the mitigation below.

      The first option is to use the sphinxcontrib.jquery_ extension, which has been developed by the Sphinx team and contributors. To use this, add sphinxcontrib.jquery to the extensions list in conf.py, or call app.setup_extension("sphinxcontrib.jquery") if you develop a Sphinx theme or extension.

      The second option is to manually ensure that the frameworks are present. To re-add jQuery and underscore.js, you will need to copy jquery.js and underscore.js from the Sphinx repository_ to your static directory, and add the following to your layout.html:

      .. code-block:: html+jinja

      {%- block scripts %} {{ super() }} {%- endblock %}

      .. _sphinxcontrib.jquery: https://github.com/sphinx-contrib/jquery/

      Patch by Adam Turner.

    • #10471, #10565: Removed deprecated APIs scheduled for removal in Sphinx 6.0. See :ref:dev-deprecated-apis for details. Patch by Adam Turner.

    • #10901: C Domain: Remove support for parsing pre-v3 style type directives and roles. Also remove associated configuration variables c_allow_pre_v3 and c_warn_on_allowed_pre_v3. Patch by Adam Turner.

    Features added

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • Update flask-limiter requirement from <3,>=2.6 to >=2.6,<4

    Update flask-limiter requirement from <3,>=2.6 to >=2.6,<4

    Updates the requirements on flask-limiter to permit the latest version.

    Release notes

    Sourced from flask-limiter's releases.

    3.0.0

    Breaking changes

    • Change order of extension constructor arguments to only require key_func as the first positional argument and all other arguments as keyword arguments.
    • Separate positional/keyword arguments in limit/shared_limit decorators
    • Remove deprecated config variable RATELIMIT_STORAGE_URL
    • Remove legacy backward compatibility path for flask < 2

    Features

    • Allow scoping regular limit decorators / context managers
    Changelog

    Sourced from flask-limiter's changelog.

    v3.0.0

    Release Date: 2022-12-28

    • Breaking changes

      • Change order of extension constructor arguments to only require key_func as the first positional argument and all other arguments as keyword arguments.
      • Separate positional/keyword arguments in limit/shared_limit decorators
      • Remove deprecated config variable RATELIMIT_STORAGE_URL
      • Remove legacy backward compatibility path for flask < 2
    • Features

      • Allow scoping regular limit decorators / context managers

    v3.0.0b2

    Release Date: 2022-12-28

    • Breaking changes

      • Remove deprecated config variable RATELIMIT_STORAGE_URL
      • Remove legacy backward compatibility path for flask < 2
      • Enforce key_func as a required argument
    • Chores

      • Simplify registration of decorated function & blueprint limits

    v3.0.0b1

    Release Date: 2022-12-26

    • Breaking changes

      • Change order of extension constructor arguments to only require key_func as the first positional argument and all other arguments as keyword arguments.
      • Separate positional/keyword arguments in limit/shared_limit decorators
    • Features

      • Allow scoping regular limit decorators / context managers

    v2.9.2

    Release Date: 2022-12-26

    ... (truncated)

    Commits
    • 9bc1518 Update changelog for 3.0.0
    • cd6bb84 Change tag line
    • 7e06582 Remove unecessary api documentation
    • 41c19b0 Update changelog for 3.0.0b2
    • e275b56 Simplify limit management for blueprints
    • d52d662 Simplify limit management for decorated functions
    • 2677705 Fix linting errors in tests
    • b84e1ab Add test case demonstrating use of scope in limit decorator
    • f22dfbd Ensure scoping works with context manager
    • 1870a8d Fix use of scope in non shared limit decorators
    • Additional commits viewable in compare view

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • Captcha not working on german website

    Captcha not working on german website

    The correct answer didn't work, neither with uppercase nor lowercase for the first letter. I got the read banner, telling me to do the Captcha again. When I switched to the english site it accepted the answer and worked just fine. Problem occured in Firefox 107.0.1 on Mac.

    opened by oldnick1818 0
  • Bill Types added to Bill , pay feature added for Settle page, Statistics Page adjusted to be compatible with new types

    Bill Types added to Bill , pay feature added for Settle page, Statistics Page adjusted to be compatible with new types

    Description

    To tackle #137, I took some ideas from the discussion under the issue and made some design changes that are different from the previous PR that was done:

    • Bill Types are added in the Bill model and forms to differentiate refund/reimbursement from expenses of the project. Currently, only three types of bills are hardcoded in as the present for all projects: Expense, Reimbursement, and Transfer. Expense is the normal spending, Reimbursement bill serves to settle the debt within the project, and Transfer is any bills between members that should not be tracked as an expense. image image
    • Settle button is added to directly add a Reimbursement bill to clear out the debt associated with another participant with one click rather than going through another form for better UX. image
    • To maintain the Statistics page's functionality, Monthly Expense would only track expense type bills, and when participant A reimburses participant B, A's paid amount would increase and B's paid amount would decrease by the reimbursed amount to maintain the relationship between paid, expense, and balance. (balances = Paid - Spent) image

    Fixes #137

    Type of change

    • [ ] Bug fix (non-breaking change which fixes an issue)
    • [✓] New feature (non-breaking change which adds functionality)
    • [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
    • [ ] This change requires a documentation update

    How Has This Been Tested?

    Most tests associated with the Bill model are modified to be compatible with the new bill type attribute. New tests and validations are added for bill type, the pay button on the settle page, and statistics calculations. All tests pass except the broken CI/CD in history_test.py

    Test Configuration:

    • Firmware version: Windows 10
    • SDK: Python 3.8.10

    Checklist:

    • [✓] My code follows the style guidelines of this project
    • [✓] I have performed a self-review of my code
    • [ ] I have commented my code, particularly in hard-to-understand areas
    • [ ] I have made corresponding changes to the documentation
    • [✓] My changes generate no new warnings
    • [✓] I have added tests that prove my fix is effective or that my feature works
    • [✓] New and existing unit tests pass locally with my changes
    • [✓] Any dependent changes have been merged and published in downstream modules

    To-Do: Documentation changes, inline documentation (ideally will be done in the next few days) Allow custom types to be added and removed in the project setting Add more statistics page for different bill types

    opened by FlowingCloudRTL 0
  • working numProjects commandline functionality and unit tests

    working numProjects commandline functionality and unit tests

    I have edited two files for this functionality. The first is manage.py which uses the Click module to issue commands. The second is in main_test.py for testing. Let me know if you have any concerts / questions. Thank you, James.

    opened by jjspill1 0
  • New Click Command

    New Click Command

    Added Click command to display the number of projects. Options exist to specify for projects within the bounds of the specified number of bills (inclusive) and/or less than x days old.

    opened by adammentzer 0
Releases(5.2.0)
  • 5.2.0(Apr 7, 2022)

    Added

    • Make docker image production-ready: support PostgreSQL, allow customizing port, PUID, PGID (#919)
    • List supported currencies in API under api/currencies (#961)
    • Allow to import bills in CSV format, compatible with Cospend (#951) Note that there is a known issue with this new feature

    New settings

    Changed settings

    • MAIL_DEFAULT_SENDER is now a string instead of a tuple. The old syntax is still accepted but support will be dropped on the next major release (#1007)

    Fixed

    • Fix support for project IDs with uppercase characters (#925, #934)
    • Purge project history on deletion (#989)
    • Prevent large integer inputs to avoid crash (#994)
    • [Performance] Get weight sum along with bills to scale (#949)
    • Do not require a captcha when using the API (#931)
    • Fix default "legal link" value in docker (#950)
    • Fix showcase images in case of subdir installation (#974)
    • Check that chosen language is in the supported list (#971)

    Changed

    • User interface fixes, especially for mobile devices (#901, #904, #905, #929, #943, #944, #945, #991)
    • Always display topmost buttons in the list of bills: new bill button & pagination (#956)
    • Display monthly statistics for the range of months where the project was active (#885)
    • Hide "each" amount when there's only one recipient (#1008)
    • Display admin email in error message for password reminder (#965)
    • Send an email when the project is created via the API (#938)
    • Add compatibility with Python 3.10 (#921)
    • Support WTForms 3 (#916)
    Source code(tar.gz)
    Source code(zip)
  • 5.1.1(Oct 26, 2021)

    Added

    • Add the option to display a "legal link" at the bottom of pages (#883)

    New settings

    Changed

    • Improve performance of balance and statistics computation (#890)
    • Reduce the resolution of showcase pictures by 50% (#880)
    • Improve pagination style in the list of bills (#873)
    Source code(tar.gz)
    Source code(zip)
  • 5.0.1(Oct 26, 2021)

  • 5.0.0(Oct 19, 2021)

    It's been a while since we didn't issue a major release. So here we go! This contains a lot of improvements, new features and fixes.

    Thanks to everyone involved! :partying_face:

    Breaking changes

    • Include project code into project authentication token. This invalidates all existing API tokens and invitation links from previous versions (#802 #843)
    • Drop support for Python 2 (#483)
    • Drop support for Python 3.5 (#571)
    • Drop support for MySQL (#743)
    • Require MariaDB version 10.3.2 or above (#632)
    • Enable session cookie security by default (#845)
    • Change token path authentication to /{project}/join/{token} (#843)

    The minimum supported version is now Python 3.6, and the project is tested with up to Python 3.9

    See the upgrade instructions to make sure the upgrade goes smoothly.

    Security

    • Add CSRF validation on destructive actions (#796)
    • Ask for private code to delete project or project history (#796)
    • Add headers to mitigate Clickjacking, XSS, and other attacks: X-Frame-Options, X-XSS-Protection, X-Content-Type-Options, Content-Security-Policy, Referrer-Policy (#845)
    • Add URL validation to external link to prevent XSS (#846)

    Added

    • Allow to import previously exported json data (#518)
    • Add new optional field "external link" in bill form (#429)
    • Add optional currencies to project and bills (#541, #864)
    • Add new statistics showing monthly expenses (#526)
    • Add pagination to the list of bills (#480)
    • Add sorting, pagination, and searching to the admin dashboard (#538)
    • Add Project History page that records all changes (#553)
    • Add token-based authentication to the API (#504)
    • Add illustrations as a showcase, currently only for French (#544)
    • Add a page for downloading mobile application (#688)
    • Add optional support for a simple CAPTCHA (#844)
    • Add translations for Greek, Esperanto, Italian, Japanese, Portuguese and Swedish
    • Publish an official docker image

    Changed

    • Use the external debts lib to solve settlements (#476)
    • Remove balance column in statistics view (#323)
    • Make language choice persistent (#547)
    • Localize date strings in the current language (#590)
    • Differentiate "flash alerts" notifications (#594)
    • Display "flash messages" persistently instead of making them disappear (#856)
    • Improve menu bar spacing, put history and settings in a submenu (#739)
    • Change Dockerfile to install python dependencies at build time (#793)
    • Updating project settings doesn't require to enter or update project code (#774)
    • Bump dependencies: WTForms (#768) jinja2 (#753) itsdangerous (#756) flask (#755 #757 #764)
    • Remove requirements files in favor of setup.cfg pinning (#558)
    • Make language choice persistent (#547)
    • Flash messages must be dismissed manually (#856)
    • Increased the font size of the logo (#828)

    Fixed

    • Improve input of email addresses when inviting people to join a project (#133)
    • Fix order of participants in the statistics page (#608)
    • Clarify project edition form: private code is not required (#774)
    • Fix Python dependency constraints to be less strict
    • Improve documentation (#781 #819 #821)
    • Fix datepicker that was displayed twice on some browsers (#221)
    • Members weight are now rounded to 2 decimal (#838)

    Documentation

    • Reorganize "Contributing" documentation to be more accessible to new contributors
    • Improve documentation regarding database migrations (#569)
    • Added a page about the security model (#858)
    Source code(tar.gz)
    Source code(zip)
  • 4.1.5(Jul 26, 2020)

    This release fixes a serious security issue (CVE-2020-15120).

    All users are encouraged to upgrade.

    Fixed

    • Fix unauthorized access and modification of project data (CVE-2020-15120) (#663)

    Changed

    • Change mobile icon link (#598)
    • Improve French translation of email templates (#593)

    Added

    • Add translations for Portuguese (Brazil), Tamil, Hindi
    Source code(tar.gz)
    Source code(zip)
  • 4.1.4(Jul 17, 2020)

    This is a bugfix-only release. It is almost certainly the last release to support Python 2: you should upgrade to Python 3!

    Fixed

    • Fix failed installation because dependencies were not being pinned (#540, #545, #558)
    • backend: Trim usernames to remove leading or trailing spaces. This avoids a situation where different names can be visually identical (#367)
    • backend: Fix API to forbid project creation when the ALLOW_PUBLIC_PROJECT_CREATION setting is set to false (#496)
    • backend: Fix crash when a localized email template is missing (#592)
    • backend: Fix language code parsing (#589)
    • backend: Improve error handling when sending emails (#595)
    • UI: Fix datepicker that was being displayed twice on some browsers (#221)
    • UI: Fix "Submit and add a new one" button that had no effect when adding a bill (#498)
    • UI: Prevent bill cancellation when cancelling autocomplete (#506)
    • UI: Fix responsive width of homepage on small screns (#549)
    • UI: Fix color of the "Add a member" button (#499)
    • UI: Fix missing HTML tag (#583)
    • UI: Fix a small typo in the french project-reminder email (#486)
    • UI: Fix typo on message displayed when adding a member (#575)
    • UI: Fix incorrect tool-tip message about the private code (#623)

    Added

    • Add translations for German, Spanish (latin-america), Norwegian (bokmål), Indonesian, Polish, Russian, Chinese, Turkish, Ukrainian
    • Update translations for all languages
    Source code(tar.gz)
    Source code(zip)
  • 4.0(Jan 24, 2019)

    Added

    Add CORS headers in the API (#407)
    Document database migrations (#390)
    Allow basic math operations in amount field (#413)
    Add bill.creation_date field (#327)
    Document PostgreSQL configuration (#415)
    

    Fixed

    Do not allow negative weights on users (#366)
    Fix docker image (#398)
    minor documentation changes
    

    Changed

    Update API project list (#405)
    
    Source code(tar.gz)
    Source code(zip)
Owner
The spiral project.
A bunch of folks interested by free software and tool creation.
The spiral project.
Agile project management platform. Built on top of Django and AngularJS

Taiga Backend Documentation Currently, we have authored three main documentation hubs: API: Our API documentation and reference for developing from Ta

Taiga.io 5.8k Jan 05, 2023
Fava - web interface for Beancount

Fava is a web interface for the double-entry bookkeeping software Beancount with a focus on features and usability. Check out the online demo and lear

1.5k Dec 30, 2022
Find duplicate files

dupeGuru dupeGuru is a cross-platform (Linux, OS X, Windows) GUI tool to find duplicate files in a system. It is written mostly in Python 3 and has th

Andrew Senetar 3.3k Jan 04, 2023
Automatic Video Library Manager for TV Shows. It watches for new episodes of your favorite shows, and when they are posted it does its magic.

Automatic Video Library Manager for TV Shows. It watches for new episodes of your favorite shows, and when they are posted it does its magic. Exclusiv

pyMedusa 1.5k Dec 30, 2022
RedNotebook is a cross-platform journal

RedNotebook RedNotebook is a modern desktop journal. It lets you format, tag and search your entries. You can also add pictures, links and customizabl

Jendrik Seipp 417 Dec 28, 2022
Automatic music downloader for SABnzbd

Headphones Headphones is an automated music downloader for NZB and Torrent, written in Python. It supports SABnzbd, NZBget, Transmission, µTorrent, De

3.2k Dec 31, 2022
Free and open-source digital preservation system designed to maintain standards-based, long-term access to collections of digital objects.

Archivematica By Artefactual Archivematica is a web- and standards-based, open-source application which allows your institution to preserve long-term

Artefactual 338 Dec 16, 2022
Main repository of the zim desktop wiki project

Zim - A Desktop Wiki Editor Zim is a graphical text editor used to maintain a collection of wiki pages. Each page can contain links to other pages, si

Zim Desktop Wiki 1.6k Dec 30, 2022
Indico - A feature-rich event management system, made @ CERN, the place where the Web was born.

Indico Indico is: 🗓 a general-purpose event management tool; 🌍 fully web-based; 🧩 feature-rich but also extensible through the use of plugins; ⚖️ O

Indico 1.4k Jan 09, 2023
WikidPad is a single user desktop wiki

What is WikidPad? WikidPad is a Wiki-like notebook for storing your thoughts, ideas, todo lists, contacts, or anything else you can think of to write

WikidPad 176 Dec 14, 2022
A time tracking application

GTimeLog GTimeLog is a simple app for keeping track of time. Contents Installing Documentation Resources Credits Installing GTimeLog is packaged for D

GTimeLog developers 224 Nov 28, 2022
Plugin-based, unopinionated membership administration software

byro is a membership administration tool for small and medium sized clubs/NGOs/associations of all kinds, with a focus on the DACH region. While it is

123 Nov 16, 2022
:bookmark: Browser-independent bookmark manager

buku buku in action! Introduction buku is a powerful bookmark manager written in Python3 and SQLite3. When I started writing it, I couldn't find a fle

Mischievous Meerkat 5.4k Jan 02, 2023
Invenio digital library framework

Invenio Framework v3 Open Source framework for large-scale digital repositories. Invenio Framework is like a Swiss Army knife of battle-tested, safe a

Invenio digital repository framework 562 Jan 07, 2023
Small and highly customizable twin-panel file manager for Linux with support for plugins.

Note: Prefered repository hosting is GitLab. If you don't have an account there and don't wish to make one interacting with one on GitHub is fine. Sun

Mladen Mijatov 407 Dec 29, 2022
A simple shared budget manager web application

I hate money 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

The spiral project. 829 Dec 31, 2022
A collection of self-contained and well-documented issues for newcomers to start contributing with

fedora-easyfix A collection of self-contained and well-documented issues for newcomers to start contributing with How to setup the local development e

Akashdeep Dhar 8 Oct 16, 2021
:books: Web app for browsing, reading and downloading eBooks stored in a Calibre database

About Calibre-Web is a web app providing a clean interface for browsing, reading and downloading eBooks using an existing Calibre database. This softw

Jan B 8.2k Jan 02, 2023
One webpage for every book ever published!

Open Library Open Library is an open, editable library catalog, building towards a web page for every book ever published. Are you looking to get star

Internet Archive 4k Jan 08, 2023
🗃 Open source self-hosted web archiving. Takes URLs/browser history/bookmarks/Pocket/Pinboard/etc., saves HTML, JS, PDFs, media, and more...

ArchiveBox Open-source self-hosted web archiving. ▶️ Quickstart | Demo | Github | Documentation | Info & Motivation | Community | Roadmap "Your own pe

ArchiveBox 14.8k Jan 05, 2023