okTurtles / group-income

A decentralized and private (end-to-end encrypted) financial safety net for you and your friends.
https://groupincome.org
GNU Affero General Public License v3.0
331 stars 44 forks source link

Build out membership system + augment invite system #192

Open taoeffect opened 7 years ago

taoeffect commented 7 years ago

Problem

Invites are not merely invites to individuals. GI supports arbitrary kinds of members, and arbitrary rules for adding members. The current system does not have this flexibility, and we must make sure not to move forward with invalid assumptions.

Solution

sandrina-p commented 6 years ago

Could you better explain the difference between those 3 kinds of membership?

taoeffect commented 6 years ago

Could you better explain the difference between those 3 kinds of membership?

Sure, basically every group is composed of "slots" for its members.

Currently we think of a "slot" as referring to a single member — an individual.

In the future, however, we want these slots to be a fully generic abstraction, capable of supporting n members.

A slot could refer to an individual, or it could refer to a couple, or it could refer to an entire group that's plugged into an existing group. The rules for how payouts are handled for different types of slots can be different as well. Some of this info is on the gitlab wiki, and we'll organize more of our thoughts about the design there.

sandrina-p commented 6 years ago

Thank you for the clarification! Will those "slots" be part of the MVP or we will just start with the "Individual"?

taoeffect commented 6 years ago

@sandrina-p I think it should be part of the MVP... if it's not difficult to do. It's often a lot easier to create the right generic abstraction early on and add features to it later, than to work without the right abstraction and have to delete and rewrite everything you did.

sandrina-p commented 6 years ago

I agree with what you've said. So the step "add members" should be rethinked, since its no longer an "individual". Also, if you can add a "couple", how to I create "a couple account"? Wouldn't that be the same as a group but with only 2 members?

taoeffect commented 6 years ago

Wouldn't that be the same as a group but with only 2 members?

No, for now, don't worry at all about this. The prototype is not going to have this feature, and the abstraction is only important at the code-level, much less important at the UI/UX level. For now, just focus on taking what we've done with the dashboard and turning that into markup. Once we have that we can move forward with other details. :)

mmbotelho commented 5 years ago

@taoeffect I think this might have been solved in one of your pull requests, but I am not sure

taoeffect commented 5 years ago

@mmbotelho Nope, this is actually high on my priority list, one of the things I'll be working on next.