A React + Firebase web app for players looking to find college rugby programs.
- 826 programs (514 men's, 312 women's) loaded from your spreadsheet
- 37 conference contacts with clickable email links
- Search by school name, city, conference, or coach
- Filter by state, gender, GPA, tuition, and scholarship availability
- Click any program card to see full details and contact the coach
- Go to https://console.firebase.google.com
- Click Add project → name it (e.g. "college-rugby-recruiting")
- Disable Google Analytics (optional) → Create project
- In the left sidebar → Firestore Database → Create database
- Choose Start in test mode (you can lock it down later)
- Pick your nearest region → Done
- In the left sidebar → Project Settings (gear icon)
- Under Your apps → click </> (Web) → Register app
- Copy the
firebaseConfigobject shown
Open both of these files and replace the placeholder config:
src/App.jsx(lines 8–15)scripts/seed-firebase.js(lines 16–23)
const firebaseConfig = {
apiKey: "AIzaSy...",
authDomain: "your-project.firebaseapp.com",
projectId: "your-project-id",
storageBucket: "your-project.appspot.com",
messagingSenderId: "123456789",
appId: "1:123456789:web:abc123",
};# Install dependencies
npm install
# Upload all spreadsheet data to Firestore (run once)
npm run seedThis uploads all 826 programs and 37 conference contacts to your Firestore database. You can re-run it anytime if the data changes — just clear the Firestore collections first.
npm run devOpen http://localhost:5173 in your browser.
# Install Firebase CLI
npm install -g firebase-tools
# Login
firebase login
# Initialize hosting
firebase init hosting
# → Select your project
# → Public directory: dist
# → Single-page app: Yes
# → Don't overwrite index.html
# Build and deploy
npm run build
firebase deployYour app will be live at https://your-project-id.web.app
If you update the spreadsheet:
- Re-run the data export script to regenerate
programs.jsonandconferences.json - Clear the Firestore
programsandconferencescollections - Run
npm run seedagain
Once you're ready to go live, update your Firestore rules to read-only:
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read: if true;
allow write: if false;
}
}
}
This allows anyone to read the data but prevents any modifications from the browser.