mirror of
https://github.com/roleypoly/roleypoly.git
synced 2025-04-24 19:39:11 +00:00
127 lines
3 KiB
Markdown
127 lines
3 KiB
Markdown
# User Stories
|
|
|
|
Loose doc defining end-to-end functionality for Roleypoly. Each slice has a cloud function or bot handler attached.
|
|
|
|
Legend
|
|
|
|
- (Hot) - Denotes cachable data stored for a short time, 2 minutes.
|
|
- Typical use cases: User roles; anything volatile.
|
|
- (Warm) - Denotes cachable data stored for a medium time, 10 minutes.
|
|
- Typical use cases: Guild roles; anything unlikely to change, but not painful to query.
|
|
- (Cold) - Denotes cachable data stored for a long time, 1 hour.
|
|
- Typical use cases: Guild lists for a session; anything very unlikely to change, and commonly used.
|
|
- (Permanent) - Denotes data that is permanent.
|
|
- Typical use cases: Guild customization data (categories, message)
|
|
- (Sec) - Security-minded data. Should never reach end-users.
|
|
- Typical use cases: Access tokens
|
|
|
|
## Primary
|
|
|
|
### Logged-in Index
|
|
|
|
As a user, I'd like to see all the servers I am in that can be used with the app.
|
|
|
|
- Type: Function
|
|
- Auth Level: User
|
|
- Flow Type: JSON API
|
|
- Data:
|
|
- User Current Guilds (Cold)
|
|
|
|
### Server Role Picker View
|
|
|
|
As a user, I'd like to see all of the roles I can select in a previously set up server.
|
|
|
|
- Type: Function
|
|
- Auth Level: User
|
|
- Flow Type: JSON API
|
|
- Data:
|
|
- User Current Guilds (Cold)
|
|
- Guild Roles (Warm)
|
|
- User Roles (Hot)
|
|
- Guild Customization (Cold) (Permanent)
|
|
|
|
### Server Role Picker Action
|
|
|
|
As a user, I'd like to select roles that have been selected in the role picker view for a server.
|
|
|
|
- Type: Function
|
|
- Auth Level: User
|
|
- Flow Type: JSON API
|
|
- Data:
|
|
- User Current Guilds (Cold)
|
|
- Guild Roles (Warm)
|
|
- User Roles (Hot)
|
|
|
|
### Server Editor View
|
|
|
|
As an admin, I'd like to see all of the settings and options for a server.
|
|
|
|
- Type: Function
|
|
- Auth Level: Admin
|
|
- Flow Type: JSON API
|
|
- Data:
|
|
- User Current Guilds (Cold)
|
|
- Guild Roles (Warm)
|
|
- Guild Customization (Cold) (Permanent)
|
|
|
|
### Server Editor Action
|
|
|
|
As an admin, I'd like to save settings and options that I have set within the editor view.
|
|
|
|
- Type: Function
|
|
- Auth Level: Admin
|
|
- Flow Type: JSON API
|
|
- Data:
|
|
- User Current Guilds (Cold)
|
|
- Guild Roles (Warm)
|
|
- Guild Customization (Cold) (Permanent)
|
|
|
|
### Session Pre-warming
|
|
|
|
As a user, I'd like to warm the cache with my current guild list after I log in.
|
|
|
|
- Type: Function
|
|
- Auth Level: User
|
|
- Flow Type: Bounces
|
|
- Data:
|
|
- User Current Guilds (Cold)
|
|
|
|
### Login
|
|
|
|
As a guest, I'd like to login with Discord so I can be authenticated as a user.
|
|
|
|
- Type: Function
|
|
- Auth Level: Guest
|
|
- Flow Type: OAuth, Bounces
|
|
- Data:
|
|
- Access Tokens (Sec)
|
|
|
|
### Logout
|
|
|
|
As a user, I'd like to revoke my authentication details.
|
|
|
|
- Type: Function
|
|
- Auth Level: User
|
|
- Flow Type: OAuth
|
|
- Data:
|
|
- Access Tokens (Sec)
|
|
|
|
### Bot Mention
|
|
|
|
As a discord user, I'd like to mention Roleypoly's bot account to get a link to my editor view.
|
|
|
|
- Type: Bot Responder
|
|
- Auth Level: N/A
|
|
- Flow Type: Command
|
|
- Data:
|
|
- None
|
|
|
|
### Bot Join
|
|
|
|
As a discord server admin, I'd like to follow the flow for adding Roleypoly to my server.
|
|
|
|
- Type: Function
|
|
- Auth Level: Guest
|
|
- Flow Type: OAuth
|
|
- Data:
|
|
- None
|