Skip to content

Possible Addon?: User Accounts #76

Open

Description

@linw0724

Hi, I saw this app while looking for an alternative to Splitwise and it is great! Thanks for all the time and work everyone has put in to this. I just started learning how to code as a hobby so I apologize in advance for not being able to contribute much to the project yet.

I was wondering if it would be within the ethos of the app to have user logins (at least for self hosted instances as an option) through local credentials, or through Google Auth, Facebook, etc.

My thoughts on advantages of this:

  • If people create accounts on the app, it would be easier to automatically share expense groups by adding people via their accounts to a group (or if they don't have an account yet, sending a link to invite to the app).
  • Once people are added to a group via their account, whenever they log in, the group they are in will be automatically shown (making group link sharing optional instead of required).
  • Maybe this could also lead to Venmo/Paypal/etc integrations since there will be accounts to save user data to (if someone added payment info to their profile). Like next to the "Mark as Paid" have a "Pay Up" button that sends you to the Venmo/Paypal dialogue of the user you need to pay with the amount already inserted. I was thinking of staying with external payment services to avoid having to deal with the data security of storing actual banking information on the app instance.
  • I think this could also be a way to work the Make IDs Integers #36 issue as mentioned

Activity

  1. bereket42 commented on Feb 7, 2024

    @bereket42

    I wonder if the core contributors are interested in allowing user accounts. If so I'd be happy to help out

  2. ChristopherJohnston commented on Feb 26, 2024

    @ChristopherJohnston
    Collaborator

    for self-hosted, the easiest way to have this behind a login screen is to throw it behind an OIDC screen in a reverse proxy (such as Nginx or traefik). Apps like Keycloak, authentik or zitadel allow the management of accounts, auth and OIDC applications.

    If we wanted to add user support, OIDC would probably be more palatable to integrate into spliit than a full user/login system.

  3. edmondsiu0 commented on Mar 4, 2024

    @edmondsiu0

    I second an OIDC approach.

    Even an option to accept header like "X-Forwarded-User" or "X-authentik-user" would be a super useful addition on top of forward authenticators.

  4. LIRIKKER commented on Apr 2, 2024

    @LIRIKKER

    +1 to this. Might be the push needed to create and enable user accounts in spiit with an OIDC approach. Should help resolve a bunch of other issues with this app.

  5. Soulplayer commented on Jul 14, 2024

    @Soulplayer

    This would be a welcome addition for the app!

  6. antonio-ivanovski commented on Jul 4, 2025

    @antonio-ivanovski

    Looking to add user management feature, either better-auth or next-auth can be used to make the user management bit simpler.

    The proposal I am playing with

    • Introduce user management into the application. This will bring the User model.
    • Groups can be marked as "protected". Protected groups can have only participants with User linked to them. Not-protected groups can have both participants with or without User linked to them.
    • The Participant model would receive a one-to-one relation with User. Otherwise it remains the same. This is for backward compatibility without complex migrations.
    • Protecting all the view and mutation of protected groups. This will be based on the session of the User trying to access/mutate
    • Probably there should be some changes around localStorage persistance for logged in users
    • Adding auth related UI elements
      • Sign-in
      • Register
      • Forgot password
      • Unauthorised
      • Group Settings "protected" toggle
      • Group Settings user management, linking existing participants to users, adding new participants by user (email)
    • Email invite for users without account
  7. Silther commented on Jul 21, 2025

    @Silther

    would the user model allow to share expenses between users without a group?

  8. antonio-ivanovski commented on Jan 25, 2026

    @antonio-ivanovski

    After heavy use of Spliit over the holidays, got inspired to continue working on the feature, PR is open #495
    Hope @scastiel will find the time to give it a review and have it merged soon

  9. antonio-ivanovski commented on Jun 28, 2026

    @antonio-ivanovski

    #495 closed in favor of creating my fork https://github.com/antonio-ivanovski/spliit-cloud and deploying to https://spliit.cloud/ Welcome to give it a try and report feedback

    Image
  10. jvanbruegge commented on Jun 28, 2026

    @jvanbruegge

    AI slop

  11. antonio-ivanovski commented on Jun 28, 2026

    @antonio-ivanovski

    AI slop

    What specifically makes you say that?

    Yes, I used AI while working on the fork, but not as a blind code generator. The changes are reviewed, tested, and guided by my own engineering judgment. A big part of the work has been adding test coverage first, because the original repo has little/no coverage around behavior I want to preserve.

    I’m not forcing anyone to use it. If you found a real bug, unsafe behavior, or bad implementation, point me to it and I’ll take it seriously.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions