Architecture
Collectives
In Open Collective, every entity is a collective and can be accessed publicly via their unique slug https://opencollective.com/:slug
. In our public API, Collectives are usually refered to as Accounts
. You can think about it like "profiles" that's what we really store in that table.
A Collective can be of type:
COLLECTIVE e.g. Webpack
EVENT e.g. BrusselsTogether Meetup 4
ORGANIZATION e.g. iDoneThis, DigitalOcean, etc.
USER e.g. xdamman
PROJECT
FUND
Members
A Member connects two profiles together. It can have multiple roles (one role per row):
HOST legal holder of the bank account that holds the money on behalf of the collective
ADMIN users who can approve expenses for the collective
MEMBER aka core contributors
BACKER users who gave money to the collective
Orders
An Order is the intent to give money to an Account. It is created by a UserId on behalf of a collective (which can be their own UserCollective or any other Collective that they are a member of).
Attributes:
Transactions
A Transaction records money moving from one account to another ac. In this example, a collective webpack is giving €100 to Women Who Code Berlin hosted by Women Who Code 501(c)(3).
Note: The Collective currency might be different than the Host Currency (both for the source "From" and the recipient "To"). The fxrate only takes into account the conversion between ToCollectiveCurrency
to ToHostId
.
Last updated