Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/hack4impact-umd/breastfeeding-center-gw/llms.txt

Use this file to discover all available pages before exploring further.

Users cannot self-register on the BCGW Dashboard. All new accounts must be created through an invitation sent by an existing staff member with sufficient permissions.

Who can send invites

Only users with the ADMIN or DIRECTOR role can send invitations. An ADMIN can only invite users at a role level below their own, meaning ADMINs may invite VOLUNTEERs but cannot invite other ADMINs or DIRECTORs.

Invite flow

1

Open the User Management page

Navigate to User Management from the sidebar. You will see a list of all registered users along with a search bar and role filter.
2

Click Add Account

Click the Add Account button in the top-right area of the page to open the invite dialog.
3

Enter the invitee's details

Fill in the invitee’s first name, last name, and email address. Select the role to assign — either VOLUNTEER or ADMIN (DIRECTORs can assign either; ADMINs can only assign VOLUNTEER).
4

Send the invite

Submit the form. The server generates a unique invite record with a UUID and sends an email to the provided address via nodemailer. A success notification confirms the invite was sent.
5

Invitee clicks the registration link

The invitee receives an email containing a link to /register/:inviteId. The link is unique to this invite and tied to the specified email address.
6

Invitee fills in the registration form

On the registration page, the invitee provides their:
  • First and last name (required)
  • Password (required)
  • Phone number (optional)
  • Pronouns (optional)
The email address is pre-filled from the invite and cannot be changed to a different address.
7

Account is created

The server validates the invite and creates the Firebase Auth user and Firestore profile. The new account is assigned the role specified in the invite. The invite is then marked as used: true and cannot be reused.

Invite expiration and single-use enforcement

Invite links expire after a configurable number of days, validated server-side at registration time. The expiration window is set in the cloud functions configuration via inviteExpirationDays.
Each invite can only be used once. After a successful registration, the invite document is marked used: true. Any attempt to register with an already-used or expired invite will be rejected. If an invite expires before the recipient registers, a new invite must be sent.

Build docs developers (and LLMs) love