전국 B2B 덤핑 재고·이월상품·반품 특가 정보를 관심 카테고리만 등록하면 가장 먼저 알려드립니다. Powered by JumpX.
Translation pending
CommerceTypeScript · PLpgSQLGitHub @jumpx3459OnlineOwner 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
Welcome Nice app
Translation pending
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
회원가입 → 알림 리스트 → 매물 상세, 판매자 신청 → 관리자 승인까지 이어지는 B2B 덤핑정보 알림 웹앱입니다. Next.js(App Router) + Supabase + Tailwind CSS로 만들었습니다. 지금 바로 로컬에서 확인하기 (Supabase 없이도 동작) http://localhost:3000 접속. .env.local이 없으면 자동으로 목업 데이터(src/lib/mockData.ts)로 동작하니, 화면 흐름만 먼저 확인하고 싶을 땐 이대로 써도 됩니다.Read the full README ↗
회원가입 → 알림 리스트 → 매물 상세, 판매자 신청 → 관리자 승인까지 이어지는 B2B 덤핑정보 알림 웹앱입니다. Next.js(App Router) + Supabase + Tailwind CSS로 만들었습니다.
npm install
npm run dev
http://localhost:3000 접속. .env.local이 없으면 자동으로 목업 데이터(src/lib/mockData.ts)로
동작하니, 화면 흐름만 먼저 확인하고 싶을 땐 이대로 써도 됩니다.
supabase/schema.sql 내용 전체 복사해서 실행
(members, deals, categories, regions, interests, seller_requests 등 테이블과 보안 정책이 한 번에 생성됩니다)https://프로젝트ID.supabase.co/auth/v1/callback)를 그대로 등록NEXT_PUBLIC_SUPABASE_URLNEXT_PUBLIC_SUPABASE_ANON_KEYSUPABASE_SERVICE_ROLE_KEY (절대 외부 노출 금지, 서버에서만 사용).env.local.example을 복사해서 .env.local 생성 후 위에서 받은 값 채우기:
cp .env.local.example .env.local
카카오 채널 심사나 템플릿 승인 없이, 브라우저/PWA에 바로 알림을 띄우는 방식입니다.
npx web-push generate-vapid-keys
.env.local의 NEXT_PUBLIC_VAPID_PUBLIC_KEY.env.local의 VAPID_PRIVATE_KEY (절대 외부 노출 금지)주의: 웹 푸시는 HTTPS 환경에서만 동작합니다 (localhost는 예외). Vercel에 배포하면 자동으로 HTTPS가 적용되니 실제 테스트는 배포 후 진행하세요. 아이폰은 Safari에서 "홈 화면에 추가"(PWA 설치) 해야만 알림을 받을 수 있어요. 회원가입 화면에서 아이폰으로 접속하면 자동으로 안내 문구가 뜹니다.
매물이 없어도 열어볼 이유를 만들기 위한 기능입니다. 기업마당(중소벤처기업부) 공식 오픈 API를 씁니다.
crtfcKey)를 .env.local의 BIZINFO_API_KEY에 입력/support 화면은 자동으로 데모 데이터(src/lib/support.ts)로 동작합니다 — 화면 확인만 할 땐 이 단계 건너뛰어도 됩니다판매자 신청·관리자 등록 화면에서 기본 최대 6장까지 사진(실물·박스·라벨 등)을 첨부할 수 있어요 (추천 리워드로 회원별 슬롯이 더 늘어날 수 있어요).
deal-images, Public bucket 체크/api/upload가 서버(service_role 키)를 통해 대신 처리하므로 별도 Storage 정책 설정은 필요 없어요/admin은 관리자 계정(admin_users 테이블)별 휴대폰 번호 + 비밀번호로 로그인합니다(ADMIN_PASSWORD 환경변수는 더 이상 쓰지 않음).
ADMIN_SESSION_SECRET(32자 이상 임의 문자열, 없거나 짧으면 관리자 로그인이 거부됨), FOUNDER_ADMIN_PHONE(창업자 계정 보호, 선택).docs/ops/admin-emergency.md의 SQL 절차를 따르세요..env.local의 NEXT_PUBLIC_SITE_URL에 실제 배포 주소를 넣어주세요 (커스텀 도메인 연결 전이면
Vercel 기본 주소, 연결 후면 https://www.dumpingjumping.com 등으로). 이 값이 /robots.txt,
/sitemap.xml, Open Graph 링크에 그대로 쓰입니다. Vercel에도 같은 값을 환경변수로 등록해야
실제 배포본에 반영돼요.
등록 후 Google Search Console에 사이트를 추가하고
https://주소/sitemap.xml을 제출하면 색인 작업이 빨라집니다.
.env.local과 동일한 값들을 그대로 입력https://프로젝트명.vercel.app 주소로 접속 가능/sell 페이지에서 누구나 로그인 없이 매물 등록을 신청할 수 있어요 (사진 첨부 가능). 제출하면 seller_requests 테이블에 pending 상태로 저장됩니다./admin 페이지 비밀번호로 들어가면 대기 중인 신청을 확인하고, "매물로 등록하기"를 눌러 마감시간·최종 가격을 정해서 실제 deals로 확정할 수 있어요. 신청 없이 전화로 들어온 물량은 "새 매물 직접 등록"으로 바로 넣으면 됩니다./admin에서 재고 수정·마감 연장·조기 마감이 가능하고, 마감이 지난 매물은 /deals 리스트에서 자동으로 사라져요./admin 대시보드 최상단에 리드로 즉시 표시돼요. 전화번호와 사업자 여부가 함께 보이고, 연락하고 나면 "연락완료"로 체크해서 관리할 수 있어요.
notification_logs, interests 테이블로 반응률·전환율 확인/privacy)와 알림 해지(/unsubscribe) 흐름 사전 확인web-push, VAPID 키 기반)src/
app/
page.tsx 홈
signup/page.tsx ① 회원가입 (카테고리 선택 + 기기 알림 권한 요청)
deals/page.tsx ② 알림 리스트 (카운트다운 실시간 갱신, 대표사진)
deals/[id]/page.tsx ③ 매물 상세 (사진 갤러리, 점핑매니저 배너)
sell/page.tsx 판매자 매물 등록 신청 (공개, 사진 첨부)
admin/page.tsx 관리자 대시보드 (비밀번호 보호, 신청 승인 + 매물 등록/관리)
support/page.tsx 정부지원금 정보
privacy/page.tsx 개인정보 처리방침 · 이용약관
unsubscribe/page.tsx 알림 해지 · 탈퇴
buy/ logistics/ mypage/ tools/ 구매/물류/마이페이지/도구 관련 화면
api/
push/subscribe/route.ts 푸시 구독 정보 저장
push/status/route.ts 내 알림 상태 조회 (다른 기기 구독 수 등)
upload/route.ts 매물 사진 업로드 (Supabase Storage)
admin/deals/route.ts 관리자 매물 등록 (등록 즉시 자동 알림 발송)
admin/deals/manage/route.ts 진행 중인 매물 조회/수정/조기마감
admin/interests/route.ts 관심표시(리드) 조회 · 연락완료 처리
admin/seller-requests/route.ts 판매자 신청 조회/승인/거절
seller-requests/route.ts 판매자 신청 접수
unsubscribe/route.ts 알림 해지 처리
components/
CountdownBadge.tsx 실시간 카운트다운 배지
ImageUploader.tsx 사진 첨부 공용 컴포넌트 (기본 최대 6장)
VideoUploader.tsx 영상 첨부 컴포넌트
SplashScreen.tsx 스플래시 화면
lib/
supabase.ts Supabase 클라이언트 (env 없으면 null → 목업 데이터로 대체)
mockData.ts 로컬 데모용 목업 데이터 (카테고리 9종 · 전국 17개 지역)
format.ts 카운트다운/가격 포맷 유틸
pushClient.ts 브라우저 알림 권한 요청 + 푸시 구독
sendPush.ts 웹 푸시 발송 공용 로직
support.ts 정부지원금 데모 데이터
public/
sw.js 서비스워커 (백그라운드 알림 수신)
manifest.json PWA 매니페스트 (홈 화면 추가용)
images/manager.png 점핑매니저 인물 이미지
supabase/
schema.sql DB 스키마 (그대로 실행하면 됨)
notification_logs, interests 집계)phone_number 스코프로 전화번호 자동 수집 (현재는 로그인 후 직접 입력)