파트와 취향, 합주 가능한 시간을 고르면 취향이 맞는 사람끼리 밴드를 짜드려요.
Translation pending
SocialGitHub @james6600OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Repository information has not been collected yet.
No updates detected yet. GitHub releases will appear here.
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗합주 모임의 멤버 모집 · 취향 매칭 · 팀 구성을 돕는 웹앱. 기간 제한 없이 계속 운영한다.
캐릭터는 도·레·미·파·솔 다섯 명: 도도(보컬) · 레레(키보드) · 미미(드럼) · 파파(베이스) · 솔솔(기타). 파트 아바타는 assets/av-*.webp, 빈 화면용 이모티콘은 assets/emo/*.webp, 무대·공유 이미지는 assets/stage-*.webp, assets/og.jpg. 원본 이모티콘 50종과 브랜딩 가이드는 저장소 밖에 보관.
/backstage (일반 화면에 링크 없음, 검색엔진 수집 차단)
합주 기간과 시간 칸은 app.js와 lib/util.js 양쪽의 RANGE_START, RANGE_END, SLOT_HOURS를 같이 고치면 바뀝니다.
가수 DB 조사 결과는 scripts/merge-research.mjs로 합칩니다 (국내 락페 라인업 2021–2026, 빌보드·그래미·UK·빌보드 재팬 차트).
npm install
npm run dev
# http://localhost:3000
로컬에서는 DB 없이 data/dev-db.json 파일에 저장됩니다(git에서 제외됨).
npm i -g vercel && vercel 로 직접 배포.DATABASE_URL 환경변수가 자동 등록됩니다. 테이블 생성과 가수 244팀 시딩은 첫 요청 때 서버가 자동으로 합니다.ANTHROPIC_API_KEY 추가.
/backstage에 접속해 최초 설정으로 최고 관리자를 만들고 Authenticator를 등록하세요.
admin 회원 비밀번호로 합니다. 그런 회원이 없으면 환경변수 ADMIN_SETUP_KEY를 정해두고 그 값을 입력하세요.index.html # 앱 전체 (단일 페이지)
api/login.js # 로그인/계정 자동 생성
api/members.js # 멤버 목록(GET) / 프로필 저장(POST)
api/artists.js # 가수 DB 조회(GET) / 매칭+AI 분류(POST)
api/proposals.js # 합주 제안 목록(GET) / 올리기·관심·신청·모임 전환·닫기(POST)
api/shows.js # 공연 목록(GET) / 참여 토글(POST)
api/chat.js # 제안 채팅: 목록·보내기·신고·안 읽은 요약 (lib/chat-filter.js가 필터)
api/jams.js # 합주 모임 목록(GET) / 만들기·수정·픽스·참석 응답(POST)
api/feedback.js # 오류 보고·기능 제안 보내기 / 내 의견 보기
api/backstage.js # 관리자 API (권한별 기능, 2단계 인증, 세션, 활동 기록)
backstage/ # 관리자 페이지 (검색 차단)
lib/admin-auth.js # 관리자 비밀번호 해시·TOTP·세션 쿠키
lib/db.js # Neon Postgres (없으면 로컬 JSON 파일)
lib/seed-artists.json # 가수 244팀 시드 데이터
scripts/dev-server.mjs# 로컬 개발 서버
간편 인증(SHA-256 해시, 토큰=해시)이라 민감한 비밀번호 사용은 금물. 소규모 모임용 수준의 보안입니다.