尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证스냅 작가용 사진 셀렉 웹서비스 — 링크 하나로 보고, 별점 매기고, 제출
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 README ↗스냅 작가가 사진을 올리고 링크를 보내면, 모델이 휴대폰에서 사진마다 별점을 매기고, 그 결과를 작가가 어도비 브릿지의 원본에 바로 적용하는 셀렉 서비스입니다.
저는 한강과 웨딩 스냅을 찍습니다. 촬영이 끝나면 1차로 고르고 남은 사진을 카카오톡으로 30장씩 끊어서 보냈고, 모델은 마음에 드는 사진을 저장해서 다시 저에게 보냈습니다. 저는 그 사진을 원본과 하나씩 맞춰야 했습니다. 에필레고는 이 과정을 링크 하나로 줄입니다.
| 사용자 | 하는 일 | 로그인 |
|---|---|---|
| 작가 (1명) | 앨범을 만들고 사진을 올린 뒤 링크를 보냄, 결과 확인 | 필요 |
| 모델 | 카톡으로 받은 링크를 열고 별점을 매긴 뒤 "다 골랐어요" | 없음 |
public/bridge/epilego-apply-ratings.jsx)로 원본에 별점을 적용합니다. 파일명이 같으면 RAW와 JPEG 모두에 들어갑니다.npm install
cp .env.example .env.local # Supabase URL과 publishable 키를 넣는다
npm run dev
Supabase 프로젝트에 supabase/migrations의 SQL을 순서대로 적용하고, 작가 계정은 Supabase 대시보드에서 하나 만듭니다(회원가입은 막아 둠).
기술 스택: Next.js, Tailwind CSS, Supabase(데이터베이스, 저장소, 로그인), Vercel(배포), Pretendard 폰트.
| 날짜 | 한 일 |
|---|---|
| 10/18 | 문제와 범위를 정하고 CLAUDE.md 작성, 스택 결정, 업로드부터 별점, 완료, 결과, 브릿지 적용까지 핵심 기능 |
| 10/18 | 다른 에이전트(코덱스)로 교차 리뷰, 별점 저장 신뢰성 보강 |
| 10/19 | 별점 골라 보기, 셀렉을 마친 뒤 화면, 앨범 지우기 |
| 10/20 | Vercel 배포, 서비스 이름 확정 |
| 10/22–10/27 | 작가 화면 크게 보기, 별점 골라 보기, 버그 수정 |
코딩 경험이 거의 없어서, 규칙과 범위를 CLAUDE.md에 적어두고 Claude Code와 작업했습니다. 큰 결정은 Claude Code가 선택지를 2–3개 보여주면 제가 고르고, 이유와 비교한 안을 CLAUDE.md의 결정 기록에 남겼습니다(57개). 주요 결정은 이렇습니다.
| # | 증거 | 파일 |
|---|---|---|
| 1 | 첫 요청과 흐름 설계, 빈 부분을 묻는 질문 | evidence-1.png |
| 2 | CLAUDE.md 결정 기록 | evidence-2.png |
| 3 | Supabase MCP로 SQL 적용과 보안 점검 | evidence-3.png |
| 4 | 코덱스 리뷰에서 찾은 저장 순서 문제와 수정 커밋 | evidence-4.png |
| 5 | 모델이 휴대폰에서 보는 셀렉 화면(341장 앨범, 격자 보기와 별점 골라 보기) | evidence-5.png |
| 6 | 브릿지에 모델 별점이 적용된 화면(★5 10장, ★4 13장) | evidence-6.png |
배포 주소에서 직접 확인한 결과입니다.
| 케이스 | 기대 결과 | 결과 |
|---|---|---|
| 사진 130장 업로드 (2.5GB) | 촬영 시간순으로 130장이 보임 | 약 1분 만에 올라가고 촬영 시간순으로 정렬됨 |
| 카톡으로 받은 링크를 휴대폰에서 열기 | 로그인 없이 카톡 브라우저에서 열림 | 통과 |
| 별점을 매기고 "다 골랐어요" | 작가 화면에 별점순 결과, 파일명 일치 | 통과. 결과 파일을 브릿지에 적용하니 원본에 ★5 10장, ★4 13장, ★3 1장이 들어감 |
| 실제 모델(을지로 촬영 친구)이 설명 없이 사용 | 혼자 완료까지 진행 | 링크만 받고 끝까지 마침. 인터뷰에서 어려웠던 점은 "딱히 없다". 걸린 시간은 재지 못함 |
| 엣지: 한도를 넘는 5점 | 막히고 안내가 나옴 | 통과. "5점은 최대 N장까지예요" 안내, 별점은 그대로 |
| 엣지: 링크 주소 한 글자 변경 | 다른 앨범이 아니라 '없는 앨범' | 통과 |
| 한계: RAW 파일(.RAF 등) 업로드 | 건너뛰고 안내 | 사진 고르기 창에서는 JPEG만 보이고, 끌어다 놓으면 "JPEG가 아니라 건너뜀"으로 안내 |
잘 통한 방법
어려웠던 점
| 파일 | 역할 |
|---|---|
supabase/migrations/20261018110815_init.sql | 앨범과 사진 표, 보안 규칙, 모델용 함수 3개 |
app/a/[token]/use-ratings.ts | 별점 즉시 저장, 오래된 요청 무시, 실패 재시도, 5점 한도 |
app/a/[token]/select-app.tsx | 모델 화면(격자, 필름스트립, 비교, 완료) |
app/admin/albums/[id]/upload-photos.tsx | 사진 줄이기, 촬영 시간 읽기, 업로드 |
public/bridge/epilego-apply-ratings.jsx | 브릿지 원본에 별점 적용 |