Untitled

 avatar
unknown
plain_text
a month ago
7.3 kB
6
Indexable
 Tao's role: Backend API shared (tao/api-features)

  Branch: tao/api-features
  Blocked on: Ray's DB schema + Aryan's auth routes (his routes need auth middleware to work)

  ---
  His 5 tasks

  ┌─────────────────────────────┬─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
  │            Task             │                                                                           Detail                                                                            │
  ├─────────────────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
  │ Rate limiting middleware    │ Max 5 vouches/24h per user, max 3 claim submissions/10 min per user                                                                                         │
  ├─────────────────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
  │ GET /api/find               │ Yellow Pages search. Params: skill, resource, borough. Returns grouped counts by area. Public for counts, auth required for individual profiles.            │
  ├─────────────────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
  │ POST /api/help              │ Create help post. Requires auth (any score). Auto-expires 24h.                                                                                              │
  ├─────────────────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
  │ GET /api/help               │ List help posts filtered by borough. Requires auth.                                                                                                         │
  ├─────────────────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
  │ Supabase realtime           │ Subscribe to score updates so client score ring updates live without a page refresh. Coordinate with Hemish (he builds the ring component that consumes     │
  │                             │ it).                                                                                                                                                        │
  ├─────────────────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
  │ Gov hierarchy seeding       │ Coordinate with Ray's seed script — helps populate the L0/L1 gov anchor accounts                                                                            │
  │ helper                      │                                                                                                                                                             │
  └─────────────────────────────┴─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘

  ---
  Key things Tao needs to know

  - The rate limiting middleware wraps your vouch route and your claims route — you and Tao need to coordinate on the middleware interface so it slots in cleanly
  - The /api/find endpoint returns counts by area, not names — names only come through after auth + clicking into a profile (that's Maalav's page)
  - Help posts are only visible to Verified users (score 50+) in the same borough — Tao needs to enforce that in the GET /api/help query
  - Realtime: Tao sets up the Supabase channel, Hemish subscribes to it in the score ring component — agree on the channel name/event shape early

  ---
  That's everything Tao owns. His work mostly starts after yours (auth) is up, so he's phase 2 onwards.
Editor is loading...
Leave a Comment