This article explains the conceptual structure of Boardssey, focusing on how accounts, teams, games, and projects relate to one another. It covers the hierarchical relationships between these entities and the permission system that governs access.
This article does not cover step-by-step workflows, user interface navigation, or specific feature functionality.
How It Works
Team Accounts
Team accounts are the primary container for all work data in Boardssey. All games and projects belong to team accounts. Team accounts serve as the central workspace where professional board game design work takes place.
Team accounts have:
A unique slug identifier
A subscription tied directly to the team account
Multiple members who can be assigned different roles and permissions
A primary owner who manages the team
Subscriptions are associated with team accounts. The subscription determines the features and capabilities available to the team account.
Teams
Teams are team accounts—the collaborative workspaces where all work happens. A team account can have multiple members, and each member is a personal account with a specific role and set of permissions within that team.
Personal Accounts
Personal accounts are created automatically when a user signs up. Each user has exactly one personal account, which serves as their identity in the system. Personal accounts are identified by having the same ID as the user's authentication ID.
Personal accounts do not contain games or projects. Instead, personal accounts provide access to team accounts through memberships.
A personal account can be a member of multiple team accounts.
This means a single user can participate in multiple teams, each with potentially different roles and permissions. For example, a user might be an owner in one team account and a collaborator in another team account.
Users access and manipulate data within team accounts based on their membership role and permissions in those teams. The same personal account can have different levels of access in different team accounts.
Games
Games belong to team accounts. A game is associated with a single team account through an account identifier. Games do not belong to personal accounts.
Games contain information about board game designs, including titles, descriptions, player counts, mechanics, and other game-related metadata.
Multiple games can belong to the same team account.
Projects
Projects belong to team accounts. A project is associated with a single team account through an account identifier. Projects do not belong to personal accounts.
Projects can optionally be linked to a game. When a project is linked to a game, the project is associated with that specific game. Projects can also exist without being linked to any game.
Multiple projects can belong to the same team account. Multiple projects can be linked to the same game.
Relationships
The structure follows this hierarchy:
Team Accounts (primary container for all work data)
Have subscriptions tied directly to them
Contain all games and projects
Can have multiple members (personal accounts) with different roles
Are created by users
Each team account has a unique slug identifier
Personal Accounts (user identity and access mechanism)
Created automatically for each user
Provide access to team accounts through memberships
Do not contain games or projects
Can be members of multiple team accounts simultaneously
Each personal account can have different roles and permissions in different team accounts
Games (belong to team accounts)
Each game belongs to exactly one team account
Games do not belong to personal accounts
Multiple games can belong to the same team account
Projects (belong to team accounts, optionally linked to games)
Each project belongs to exactly one team account
Projects do not belong to personal accounts
Projects can optionally be linked to one game
Projects can exist without being linked to any game
Multiple projects can belong to the same team account
Multiple projects can be linked to the same game
Access and Permissions
Access to games and projects is determined by the permission system within team accounts:
Users access team account data through their personal account membership in that team
Members of a team account have access to games and projects within that team based on their role and permissions
The permission system determines who can see and access what data within a team account
Different roles within a team account may have different levels of access to games and projects
The subscription tied to a team account determines what features and capabilities are available to that team
Since a personal account can be a member of multiple teams, a user can access different sets of games and projects depending on which team account they are working within
