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.

Setting up the BCGW Dashboard for local development requires cloning the repository, installing dependencies in two separate directories, and configuring environment variables for Firebase and third-party API credentials.

Prerequisites

Before you begin, make sure you have the following installed:
  • Node.js 22+ and npm
  • Firebase CLI — install globally with npm install -g firebase-tools
  • A Firebase project with Firestore and Authentication enabled

Setup steps

1

Clone the repository

Clone the project to your local machine:
git clone https://github.com/hack4impact-umd/breastfeeding-center-gw.git
cd breastfeeding-center-gw
2

Install React app dependencies

Install dependencies for the Vite frontend:
cd react-app && npm install
3

Install Cloud Functions dependencies

Install dependencies for the Firebase Cloud Functions:
cd cloud-functions/functions && npm install
4

Configure environment variables

The project requires two .env files — one for the React app and one for the Cloud Functions.react-app/.env — Firebase client configuration for the Firebase JS SDK. All variables use the VITE_ prefix so Vite exposes them to the browser:
react-app/.env
VITE_FIREBASE_API_KEY=
VITE_FIREBASE_AUTH_DOMAIN=
VITE_FIREBASE_PROJECT_ID=
VITE_FIREBASE_STORAGE_BUCKET=
VITE_FIREBASE_MESSAGING_SENDER_ID=
VITE_FIREBASE_APP_ID=
cloud-functions/functions/.env — Firebase admin config plus API keys for third-party integrations:
cloud-functions/functions/.env
ACUITY_USER_ID=
ACUITY_API_KEY=
STRIPE_API_KEY=
SQUARESPACE_API_KEY=
EMAIL_CLIENT_ID=
EMAIL_CLIENT_SECRET=
EMAIL_REFRESH_TOKEN=
ROOT_USER_EMAIL=
ROOT_USER_SECRET=
SITE_DOMAIN=
Find your Firebase client config in the Firebase console under Project Settings > Your apps. Obtain Acuity, Stripe, and Squarespace API keys from their respective service dashboards. The email variables are used by nodemailer to send invite emails via OAuth2.
Emulator test data is available at cloud-functions/emulator_test_data/. This data is automatically imported when you start the local development stack — you do not need production credentials to work with data locally.

Build docs developers (and LLMs) love