CoOp:Anything
게임을 검색해 협동 플레이 가능한 모드·단계·품질·커뮤니티 평점을 확인합니다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기삶으로 쓰는 예배전(展): <상황 경매>에 사용될 프로그램
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗현장에서 진행되는 특별한 오프라인 경매를 위한 실시간 모바일 웹 경매 플랫폼입니다. 참여자들이 자신의 스마트폰을 이용해 실시간으로 랭킹을 확인하고, 입찰 경쟁을 벌이며, 낙찰의 순간을 경험할 수 있도록 빠르고 직관적인 UX를 제공합니다.
Frontend
Backend & Database (BaaS)
이 프로젝트는 오프라인 현장에서 수많은 유저가 동시에 접속하고 입찰하는 상황을 가정하여 설계되었습니다.
place_bid) 함수를 사용하여 안전하게 입찰 로직을 처리합니다.데이터베이스는 Supabase(PostgreSQL)를 기반으로 설계되었으며, 주요 테이블 간의 관계는 다음과 같습니다.
| Table | Description |
|---|---|
auction_items | 경매에 올라온 물품들의 정보와 현재 입찰 상태, 낙찰자 정보를 관리합니다. |
bids | 유저의 모든 입찰 이력을 기록하며, auction_items와 users를 연결합니다. |
users | 경매 서비스의 사용자 프로필 및 크레딧 정보를 관리하며 Supabase Auth와 연동됩니다. |
global_settings | 경매 종료 시간 등 시스템 전체의 설정값을 관리하는 키-밸류 저장소입니다. |
auction_items는 여러 개의 bids를 가질 수 있습니다 (1:N 관계).users는 여러 개의 bids를 생성할 수 있습니다 (1:N 관계).auction_items의 winner_id는 users 테이블을 참조하여 현재 낙찰자를 식별합니다.master 권한을 가진 계정만 접근 가능한 관리자 페이지에서 경매 시작/즉시 종료/상태 초기화를 제어합니다.FSD(Feature-Sliced Design)를 따라 계층별로 폴더를 분리했습니다.
src/
├── app/ # Next.js App Router 페이지 및 라우트 (/, /login, /setup-profile, /auction, /my-values, /admin, /api/health)
├── widgets/ # 여러 feature/entity를 조합한 화면 단위 UI (header, auction 목록, my-values 위젯 등)
├── features/ # 사용자 행동 단위 기능 (입찰하기, 카카오 로그인, 관리자 경매 제어 등)
├── entities/ # 도메인 모델 및 관련 UI (auction 등)
└── shared/ # 공통 UI, Supabase 클라이언트(db), 유틸, 타입, 라우트 상수 등
이 프로젝트를 실행하기 위해서는 Node.js(LTS)와 pnpm, 그리고 Supabase 프로젝트가 필요합니다.
Supabase 프로젝트에는 다음 스키마가 사전에 구성되어 있어야 합니다 (현재 마이그레이션 SQL은 레포에 포함되어 있지 않으므로, 기존 프로젝트를 공유받거나 동일한 스키마를 직접 구성해야 합니다).
users(role 컬럼 포함), auction_items, bids, global_settingsplace_bid (동시 입찰 Race Condition 방지용), reset_auction_results (경매 결과 초기화용, supabase/migrations/20261021144036_reset_auction_results.sql)# 저장소 클론
git clone https://github.com/kingkiboots/worth-it-auction.git
# 프로젝트 폴더로 이동
cd worth-it-auction
# 의존성 설치 (pnpm 사용을 권장합니다)
pnpm install
프로젝트 루트 디렉토리에 .env.local 파일을 생성하고, Supabase 프로젝트 정보를 입력합니다.
NEXT_PUBLIC_SUPABASE_URL=your_supabase_project_url
NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY=your_supabase_publishable_key
pnpm dev
브라우저를 열고 http://localhost:3000에 접속하여 프로젝트를 확인합니다.
Supabase 스키마가 변경되었다면, 아래 명령어로 src/shared/db/database.types.ts를 최신 상태로 갱신할 수 있습니다.
pnpm gen:db-types