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.
The official source code repository for the calibre ebook manager

calibre calibre is an e-book manager. It can view, convert, edit and catalog e-books in all of the major e-book formats. It can also talk to e-book re

Kovid Goyal 14.1k Dec 27, 2022
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
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
🗃 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 5, 2023
: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 2, 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

null 1.5k 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 9, 2023
Django-shared-app-isolated-databases-example - Django - Shared App & Isolated Databases

Django - Shared App & Isolated Databases An app that demonstrates the implementa

Ajai Danial 5 Jun 27, 2022
ArinjoyTheDev 1 Jul 17, 2022
A web project to control the daily life budget planing

Budget Planning - API In this repo there's only the API and Back-End of the this project. Install and run the project # install virtualenv --python=py

Leonardo Da Vinci 1 Oct 24, 2021
PyTorch implementation of "A Simple Baseline for Low-Budget Active Learning".

A Simple Baseline for Low-Budget Active Learning This repository is the implementation of A Simple Baseline for Low-Budget Active Learning. In this pa

null 10 Nov 14, 2022
Deploy a ML inference service on a budget in less than 10 lines of code.

BudgetML is perfect for practitioners who would like to quickly deploy their models to an endpoint, but not waste a lot of time, money, and effort trying to figure out how to do this end-to-end.

null 1.3k Dec 25, 2022
wger Workout Manager is a free, open source web application that helps you manage your personal workouts, weight and diet plans and can also be used as a simple gym management utility.

wger (ˈvɛɡɐ) Workout Manager is a free, open source web application that helps you manage your personal workouts, weight and diet plans and can also be used as a simple gym management utility.

wger Project 2k Dec 29, 2022
A simple and easy to use Python's PIP configuration manager, similar to the Arch Linux's Java manager.

PIPCONF - The PIP configuration manager If you need to manage multiple configurations containing indexes and trusted hosts for PIP, this project was m

João Paulo Carvalho 11 Nov 30, 2022
Photonix Photo Manager - a photo management application based on web technologies

A modern, web-based photo management server. Run it on your home server and it will let you find the right photo from your collection on any device. Smart filtering is made possible by object recognition, face recognition, location awareness, color analysis and other ML algorithms.

Photonix Photo Manager 1.5k Jan 1, 2023
Installer, package manager, build wrapper and version manager for Piccolo

Piccl Installer, package manager, build wrapper and version manager for Piccolo

null 1 Dec 19, 2021
File-manager - A basic file manager, written in Python

File Manager A basic file manager, written in Python. Installation Install Pytho

Samuel Ko 1 Feb 5, 2022
Expense-manager - Expense manager with python

Expense_manager TO-DO Source extractor: Credit Card, Wallet Destination extracto

null 1 Feb 13, 2022
A PyTorch implementation of paper "Learning Shared Semantic Space for Speech-to-Text Translation", ACL (Findings) 2021

Chimera: Learning Shared Semantic Space for Speech-to-Text Translation This is a Pytorch implementation for the "Chimera" paper Learning Shared Semant

Chi Han 43 Dec 28, 2022