Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
299 changes: 0 additions & 299 deletions README.matchmaking-client.md

This file was deleted.

13 changes: 0 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -105,19 +105,6 @@ Required environment variables:
- `FIREBASE_CLIENT_EMAIL`
- `NODE_ENV`

## Matchmaking Caveats and Development Notes

1. Match cards are intentionally minimal (`firstName`, `lastName`, `school`) because the current user profile does not include richer dating fields or photo support.
2. Discord handle exposure for matched hackers is deferred; hacker documents do not currently store `discordUsername`.
3. Only the second swiper sees an immediate match response. The first swiper sees new matches on the next `GET /match/matches` fetch because notifications are deferred.
4. Eligibility is snapshotted by opt-in (`matchEnabled`). If a user's RSVP status changes later, they remain in the matchmaking pool by design.
5. Opt-in is irreversible for this MVP. There is no opt-out, undo swipe, or unmatch flow.
6. Deck generation reads all opted-in users plus the caller's prior swipes. This is acceptable for the expected ~500 participant scale.
7. Reporting is frontend-only for now (mailto to organizers). There is no backend reports collection in this phase.
8. Incoming likes are intentionally deferred, but the schema is designed to support it later via `swipes` queries on `targetId` and `direction`.
9. There is no automated test suite in this repository. Validate behavior with Firebase emulators (`cd functions && npm run serve`).
10. `config/matchConfig` is a required runtime document. In local development it can be seeded by `FakeDataPopulator`; production/staging must create and maintain it manually.

## 🤝 Contributing

1. Fork the repository
Expand Down
49 changes: 1 addition & 48 deletions firestore.indexes.json
Original file line number Diff line number Diff line change
@@ -1,51 +1,4 @@
{
"indexes": [
{
"collectionGroup": "swipes",
"queryScope": "COLLECTION",
"fields": [
{
"fieldPath": "swiperId",
"order": "ASCENDING"
},
{
"fieldPath": "createdAt",
"order": "DESCENDING"
}
]
},
{
"collectionGroup": "notifications",
"queryScope": "COLLECTION",
"fields": [
{
"fieldPath": "userId",
"order": "ASCENDING"
},
{
"fieldPath": "createdAt",
"order": "DESCENDING"
}
]
},
{
"collectionGroup": "notifications",
"queryScope": "COLLECTION",
"fields": [
{
"fieldPath": "userId",
"order": "ASCENDING"
},
{
"fieldPath": "type",
"order": "ASCENDING"
},
{
"fieldPath": "createdAt",
"order": "DESCENDING"
}
]
}
],
"indexes": [],
"fieldOverrides": []
}
Loading