사이드 프로젝트 fit-hr 시작: Next.js 16과 Supabase
· 약 2분
회사 밖에서 혼자 하는 사이드 프로젝트를 시작했다. 이름은 fit-hr. 피트니스 트레이너와 센터를 잇는 구인구직 서비스다. 저장소는 공개로 열었다.
스택은 회사에서 못 써본 것 위주로 골랐다. Next.js 16, React 19, Turbopack, Supabase(Auth, Postgres, RLS), shadcn/ui, React Hook Form, Zod 4. Next.js 16에서는 middleware.ts가 proxy.ts로 바뀌어서 세션 갱신과 라우트 보호를 거기에 넣었다.
export async function proxy(request: NextRequest) {
return await updateSession(request);
}
Supabase 클라이언트는 두 가지로 나눴다. 지역, 직무, 고용 형태 같은 상수 테이블은 서버에서만 secret key 클라이언트로 읽고, 사용자 데이터는 publishable key 클라이언트로 읽어서 RLS 정책이 막도록 했다. DB 스키마를 바꾸면 supabase gen types로 타입을 다시 뽑는 스크립트도 만들어 두었다.
