Yaad Adz
Jamaica's free classifieds site. Find cars for sale, houses for rent, phones, jobs and more across all 14 parishes — Kingston, Portmore, Montego Bay and beyond. Post free, buy local.
인증된 인플루언서가 직접 써 보고 고른 웰니스. 브랜드가 바로 보내고, 결제 대금은 판매 종료 후 21일까지 셀러리가 보관합니다.
Translation pending
CommerceTypeScript · PLpgSQLGitHub @weglow-devOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
셀러리(Sellery) — 건강·웰니스 브랜드 × 인플루언서 협업판매 플랫폼 (web/ Next.js 앱 + 루트 클릭 프로토타입)
Translation pending
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
브랜드사와 인플루언서(셀러)를 잇는 건강·웰니스 전용 브랜드사 협업판매 중개 플랫폼의 클릭 가능한 UI/UX 프로토타입입니다. (주)위글로우 · 오픈 준비 중. 정식 서비스 → https://sellery.life (아래 "현재 서비스 상태" 참고). **SvelteKit 데모(apps/)* 는 로컬에서 앱별 dev 서버로 봅니다(아래 "로컬 개발" 포트 표). (예전 Vercel 데모 주소 sellery-swart.vercel.app 은 2026-09-18 삭제) 제안서에 인쇄된 옛 데모 → https://junho763-dotcom.github.io/sellery-prototype/ (PDF 링크용으로 유지)Read the full README ↗
좋은 브랜드를 만나는 공간, 셀러리
브랜드사와 인플루언서(셀러)를 잇는 건강·웰니스 전용 브랜드사 협업판매 중개 플랫폼의 클릭 가능한 UI/UX 프로토타입입니다. (주)위글로우 · 오픈 준비 중.
정식 서비스 → https://sellery.life (아래 "현재 서비스 상태" 참고). SvelteKit 데모(apps/*) 는 로컬에서 앱별 dev 서버로 봅니다(아래 "로컬 개발" 포트 표). (예전 Vercel 데모 주소 sellery-swart.vercel.app 은 2026-09-18 삭제)
| 주소 | 화면 |
|---|---|
/ | 고객 판매 페이지 · 장바구니 · 카카오 로그인(데모) · 내 주문 (shop 앱 — 도메인 루트) |
/influencer/ | 인플루언서 콘솔 (가입 · 로그인 · 홈 · 상품 갤러리 · 샘플 · 캠페인 · 매출 · 정산 · 랭킹 · 추천 · 셀러리 샵 · 내 정보 — 실서비스). 남은 프로토타입 화면(데모 홈 · 캠페인 목록 · DM 인박스)은 dev 의 (demo) 그룹 /influencer/demo |
/brand/ | 브랜드 센터 (상품 관리 · 주문·발주 · 고객 문의 · 인플루언서 갤러리 · 데이터 열람 · 셀러리 샵 · 정산 — 실서비스) |
/admin/ | 관리자 콘솔 (홈 대시보드 · 인플루언서 · 브랜드 · 상품 검수 · 캠페인 상세 · 매칭·자동 제안 · 정산 실행 · 매출·순수익 — 실서비스). 남은 프로토타입 화면(데모 대시보드 · 데이터 초기화)은 dev 의 (demo) 그룹 /admin/demo |
/s/c1 | 판매 링크 진입 (링크 유입 보호 모드) |
/influencer/login | 인플루언서 콘솔 로그인 (이메일/비밀번호 · Supabase Auth · 실계정) |
/brand/login | 브랜드 로그인 데모 (계정 목록은 화면 안 · 비밀번호 8자 이상 아무거나) |
제안서에 인쇄된 옛 데모 → https://junho763-dotcom.github.io/sellery-prototype/ (PDF 링크용으로 유지)
apps/shop(Vercel sellery-shop) 이 서비스합니다 — 고객 사이트 전부(/ /s/* /c/* 판매 링크 · /login /auth/* 카카오 로그인 · /checkout* 토스 결제 · /account/* 내 주문 · /api/* · /terms /privacy). 옛 Next.js 앱 web/ 은 S5 PR-11 에서 저장소에서 삭제됐습니다./influencer/* 는 apps/influencer(Vercel sellery-influencer) 의 인플루언서 콘솔 1~5단계(가입 · 로그인 · 홈 · 내 정보 · 채널 인증 · 상품 갤러리 · 샘플 · 캠페인 · 매출 · 정산 · 랭킹 · 추천) 로, /brand/* 는 apps/brand(Vercel sellery-brand) 의 브랜드 콘솔 1~5단계(가입 · 로그인 · 홈 · 상품 · 처리 대기 · 캠페인 · 주문/발주 · 고객 문의 · 실시간 매출 · 정산 · 내 정보/등급) 로 리라이트됩니다. /admin/* 는 apps/admin(Vercel sellery-admin) 의 관리자 콘솔(로그인 게이트 · 홈 대시보드 · 인플루언서 · 브랜드 · 상품 검수 · 캠페인 상세 · 정산 실행) 로 리라이트됩니다. 세 앱의 남은 데모 화면은 (demo) 그룹 — dev 또는 PUBLIC_DEMO=1 에서만 열립니다. Vercel 은 프로젝트 4개(옛 Next sellery-app 은 2026-09-21 삭제). 배포·운영은 docs/deploy.md(정본), 설계는 docs/app-plan.md · docs/inf-console-plan.md · docs/monorepo-migration.md.campaigns.regongu 를 세우는 코드가 아직 없다) · Preview/Production 의 PUBLIC_DEMO 정리. 6단계는 거의 끝났다 — 랭킹·추천(0026) · 독점권(0025) · 데이터 열람·갤러리(0035) · 제안권(0036) · 셀러리 샵(0037~0039)이 들어갔고, 이다(유료 레퍼런스 열람 0035 → 열람한 브랜드만 제안 0036 → 수락 시 신원 공개 + 캠페인 스레드 0016). 유상 충전만 미도입(운영 결정 · §0). 계획 · · .SvelteKit 2 · Svelte 5(runes) · TypeScript · Tailwind v4 모노레포(npm workspaces). 앱 4개가 한 도메인 아래(shop 은 루트 /, 나머지는 /influencer /brand /admin 경로 — Vercel rewrite)로 배포되며, 같은 origin 이라 세션 쿠키를 앱끼리 공유합니다. 네 앱 모두 Supabase SSR(hooks.server.ts) 로 실인증·실데이터가 붙어 있고(shop 은 토스페이먼츠 실결제 · 카카오/이메일 인증), 각 앱에 남은 프로토타입 화면만 (demo) 그룹에서 localStorage 로 돕니다.
npm install # 처음 한 번 (Node 22+)
cp .env.example .env.local # PUBLIC_SUPABASE_URL · PUBLIC_SUPABASE_ANON_KEY — 값은 비워도 됨 (이름이 없으면 check·build 가 실패)
npm run check # 앱 4개 svelte-check (CI 와 동일)
npm run build # 앱 4개 vite build → apps/*/.vercel/output (adapter-vercel · CI 와 동일)
| 앱 | 명령 | 주소 |
|---|---|---|
| 고객 (shop) | npm run dev:shop | http://localhost:5176/ (base '' — 도메인 루트) |
| 인플루언서 | npm run dev:influencer | http://localhost:5173/influencer |
| 브랜드 | npm run dev:brand | http://localhost:5174/brand |
| 관리자 | npm run dev:admin | http://localhost:5175/admin |
4 앱은 kit.env.dir: '../..' 로 루트 .env.local 하나만 읽습니다 — vercel env pull 은 앱 폴더가 아니라 루트 파일로(vercel env pull ../../.env.local, apps/<앱>/.env.local 은 읽히지 않음). 개발 서버는 포트가 달라 localStorage 가 앱별로 분리되고, 다른 앱 링크(/influencer/…)는 shop dev 서버에 없으니 위 포트로 직접 엽니다. 공용 이미지·파비콘(/assets/* /favicon.svg /email/*)은 apps/shop/static/ 한 곳에 있고 scripts/vite-root-assets.mjs 가 4 앱 dev 서버에서 서빙합니다.
Windows 에서
npm run build는 adapter-vercel 이 만드는 심링크 때문에EPERM으로 실패할 수 있습니다 — 설정 → 개발자 모드를 켜거나 WSL 에서 빌드하세요. CI(ubuntu)·Vercel 은 영향 없고,npm run check와npm run dev:*는 Windows 에서 그대로 됩니다.
정본은 docs/deploy.md — Vercel 프로젝트 표 · 환경변수 이름 · 리라이트 표 · 도메인 전환 체크리스트 · 운영 스크립트.
Vercel 프로젝트 4개 — sellery-shop(Root Directory apps/shop, 도메인 sellery.life · www) · sellery-influencer · sellery-brand · sellery-admin(각 apps/<앱>; "Include source files outside of the Root Directory" ON · Node 22 · @sveltejs/adapter-vercel · 리전 icn1). 브라우저 오리진은 하나 — apps/shop/vercel.json 의 rewrites 가 /influencer/* 를 sellery-influencer(콘솔), /brand/* 를 sellery-brand, /admin/* 를 sellery-admin 으로 프록시하므로 세션 쿠키를 모든 앱이 공유합니다. main 병합 = 프로덕션, PR = 앱별 Preview URL. 정적 자산은 shop 만 서빙합니다(다른 앱의 Preview URL 에서는 이미지 대신 이모지). 단계 기록은 docs/monorepo-migration.md §7(S1~S5 완료).
상품 등록 → 검수 → 샘플 요청·승인·배송·테스트 → 판매 일정 제안·승인 → 기간 한정 판매링크 → 판매(실시간 매출) → 종료 → D+21 교환·환불 기간 → 브랜드·셀러 정산 → 재판매
같은 상품이라도 기간은 기본 공유 — 누구나 판매를 열 수 있습니다. 다만 플래티넘 이상 인플루언서가 확정한 기간에는 플래티넘 이상만 함께 진입할 수 있습니다.
apps/ SvelteKit 앱 4개 — 라우트 = 화면 (폴더 이름이 URL)
shop/ 고객 판매 페이지 (base '' — 도메인 루트) src/routes/{+page, influencers, cart, orders, about, s/[cid]}
static/ 아바타 SVG · 상품 이미지 · 파비콘 · email/celery.png — 앱 4개 공용, /assets/ /favicon.svg /email/ 로 서빙 (원본은 static/assets/_src/, git 제외)
*/svelte.config.js · vercel.json · src/hooks.server.ts adapter-vercel(nodejs22.x · env.dir '../..') · 리전 icn1 (shop 은 /influencer /brand /admin rewrites) · Supabase SSR 세션 hooks
influencer/ 인플루언서 센터 (base /influencer) src/routes/(console)/{home, products(+[code], pay/*), campaigns, sales, ranking, referral, shop, settle, my, login, signup} · 남은 데모는 (demo)/{demo, camps, dm, explore, rank, ref}
brand/ 브랜드 센터 (base /brand) src/routes/(console)/{home, products(+new, [code], [code]/invite), campaigns, requests, orders, cs, sales, settle, gallery, shop, my, login, signup} · 남은 데모는 (demo)/{demo, camps, dm}
admin/ 관리자 콘솔 (base /admin) src/routes/(console)/{home, login, sellers, brands, products(+[code]/preview), campaigns/[code], match, (money)/{settle, payouts, orders, payments, cs, revenue}} · 남은 데모는 (demo)/{demo, influencers}
packages/core/src/ 프레임워크 무관 로직 (TypeScript)
constants.ts PG_RATE · PLAT_RATE · WHT · CLEAR_DAYS · GRADES · LS 키 … 정책 숫자의 정답 ← 정책
seed.ts 시드 데이터 — 데모 브랜드 · 인플루언서 · 상품 · 캠페인 ← 카피 · 데모 데이터
state.svelte.ts 상태 S($state) · D_() · save() · 링크 유입 컨텍스트 · 초기화
helpers.ts 등급 · 정산 calc · 샘플 · 자동 매칭 · 링크 유입 보호 등 읽기 전용 계산
actions.ts 버튼이 하는 일 전부 — 상태를 바꾸는 유일한 곳 (act.xxx)
storage.ts Storage 어댑터 (지금 localStorage · supabase.ts 는 자리)
packages/ui/src/ 공용 UI
css/theme.css Tailwind + 디자인 토큰(:root) + 픽셀 스킨 (css/legacy/base.css · skin.css 를 layer 로) ← 디자인
components/ AppShell(앱바·탭) · HeroBand · Sec · CampRow · ProdCard · Chips …
modals/ ModalHost 가 종류별로 렌더 (일정 · 샘플 구매 · 제안 · 상품 등록 · CS · 카카오 …)
views/ CampaignDetail · Store · Shop · Sales · DM · LoginPage (여러 앱이 공유)
scripts/vite-root-assets.mjs dev 전용 — apps/shop/static 을 4 앱 dev 서버에서 /assets/ /email/ /favicon.svg 로 서빙
docs/ 운영 정책 문서 · 수정 가이드 · 데이터 모델 · 이식 계획(monorepo-migration.md) (아래)
supabase/ Supabase 스키마 — migrations/0001~0039 + seed.sql (클라우드 프로젝트 `sellery` 적용 · docs/data-model.md §8 · 병합 뒤 `npx supabase db push --linked`)
.github/ CI(프로토타입 점검 = npm run check + build · 더미 PUBLIC_*) · @claude 봇 · 이슈 템플릿 5종 · PR 템플릿
.env.example 4 앱 공용 환경변수 이름 표 → 복사해서 .env.local (gitignored)
숫자의 정답은 코드 상수(packages/core/src/constants.ts)이고, 사람이 읽는 판은 docs/에 있습니다. 상수를 바꾸면 같은 PR에서 문서도 고칩니다.
CONTRIBUTING.md 참고. 요약하면 브랜치 → npm run check → PR → 병합 → Vercel 자동 배포. main에는 직접 올리지 않습니다.
(demo) 그룹 화면(dev 또는 PUBLIC_DEMO=1)의 데이터는 브라우저 localStorage 에 저장됩니다 — /admin/demo 상단의 데이터 초기화 버튼으로 시드 상태로 되돌립니다. 실서비스 콘솔은 Supabase 를 씁니다.
docs/points-policy.mdsupabase/migrations/0001~0039 가 클라우드 프로젝트 sellery 에 적용돼 있습니다(0007 service_role 권한 · 0008 체크아웃/결제 · 0009 가상계좌 판정 수정 · 0010 파트너 가입 · 0011