Replies: 3 comments 2 replies
-
|
Beta Was this translation helpful? Give feedback.
0 replies
-
Beta Was this translation helpful? Give feedback.
2 replies
-
Supabase 클라이언트 라이브러리 사용 여부
차트 라이브러리 선정
AI 파이프라인 구현 방식
|
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment


Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
마주봄 — 기술 안건
안건 1. Supabase 클라이언트 라이브러리 사용 여부
배경
Supabase는 두 가지 방식으로 사용할 수 있다.
@supabase/supabase-js+@supabase/ssrfetch로 호출A) 라이브러리 사용
장점
@supabase/ssr이 Next.js App Router 환경에서 쿠키 기반 세션을 자동 관리해준다 (서버 컴포넌트, 미들웨어, Route Handler 간 세션 공유)auth.uid()가 작동한다supabase.rpc()한 줄로 호출할 수 있다단점
@supabase/supabase-js~50KB gzipped)B) REST API 직접 호출 (fetch)
장점
fetch만 사용하므로 다른 DB로 전환 시 API 레이어만 교체하면 된다단점
apikey,Authorization헤더를 수동으로 조립해야 한다건의
A) 라이브러리 사용을 제안한다.
마주봄는 Auth(회원가입/로그인/탈퇴) + RLS(본인 데이터 접근 제어) + pgvector(벡터 유사도 검색)를 모두 사용하는 구조다. 이 세 가지를 REST API로 직접 구현하면 인증 토큰 관리, RLS 헤더 주입, RPC 호출 조립을 전부 수작업해야 하는데, 이는 마주봄의 핵심 가치(AI 매칭)와 무관한 인프라 작업이다. 라이브러리를 사용하면 이 부분을 위임하고 도메인 로직에 집중할 수 있다.
안건 2. 차트 라이브러리 선정
배경
검사 결과 화면에서 레이더 차트(5축: 반복 작업 선호 / 대인관계 / 신체 활동 / 세밀한 손작업 / 환경 민감도)를 표시해야 한다. 현재 사용하는 차트는 이 레이더 차트 1개뿐이다.
후보 비교
<RadarChart>내장<Radar>내장<Radar dataKey="value" />JSX<ResponsiveContainer>내장건의
Recharts를 제안한다. 이유는 3가지:
aria-label적용이 가능하다.사용 예시
안건 3. AI 파이프라인 구현 방식
배경
AI 호출이 발생하는 시점이 3가지 있다.
후보 비교
건의
실시간은 Route Handler, 배치는 GitHub Actions로 분리한다. n8n은 사용하지 않는다.
posting_analysis_cache에 저장하여 동일 공고 재분석을 방지한다n8n을 제외하는 이유: n8n은 "이벤트 → 여러 단계를 거쳐 → 최종 결과" 같은 복잡한 파이프라인에 강점이 있다. 마주봄의 AI 호출은 "입력 → AI API 호출 → 결과 저장" 일직선 구조라 Route Handler 하나로 충분하며, n8n을 추가하면 셀프호스팅 관리 비용만 늘어난다.
매칭 플로우 상세
비용과 속도를 위해 2단계로 나눈다.
공고 1,000개를 전부 AI에 넘기면 비용 + 응답 시간이 비현실적이므로 pgvector로 먼저 50개 수준으로 좁힌 후 AI 분석을 수행한다.
응답 시간 전략
MVP — 동기 처리
Route Handler에서 AI 호출 후 응답을 기다린다. 예상 소요 시간 10~30초.
2차 — 비동기 처리 (유저 증가 시)
Supabase Edge Function 또는 Vercel Background Function 활용. MVP에서는 불필요하며 유저 규모에 따라 전환한다.
Beta Was this translation helpful? Give feedback.
All reactions