尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證同事推薦的書籍,發現並分享的公司內部讀書會應用程式
AI 翻譯
동료가 추천하는 책을 발견하고 나누는 사내 북클럽 애플리케이션
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
동료가 추천하는 책을 발견하고 나누는 사내 북클럽 애플리케이션입니다. Node.js 22.13 이상에서 의존성을 설치하고 개발 서버를 실행합니다. 팀 전체가 같은 데이터를 보도록 공유 PostgreSQL(Supabase)에 연결합니다. Supabase 대시보드의 Connect에서 두 종류의 연결 문자열을 받아 .env.local에 넣습니다. 스키마를 적용합니다. db/schema.ts를 바꾼 뒤에는 npm run db:generate로 마이그레이션을 생성한 다음 다시 실행합니다. npm test는 TEST_DATABASE_URL이 가리키는 DB에 실제 행을 씁니다. 운영 DB를 절대 지정하지 마세요. 별도 Supabase 프로젝트를 만들거나 로컬 PostgreSQL을 씁니다. 운영 빌드 전에는 .env.example을 복사해 .env.local을 만들고 BETTER_AUTH_SECRET을 32자 이상의 무작위 값으로 설정해야 합니다. 회사 이메일만 가입시키려면 ALLOWED_EMAIL_DOMAINS에 허용할 도메인을 쉼표로 구분해 입력합니다. 비워두면 모든 정상 이메일을 허용합니다.檢視完整 README ↗
동료가 추천하는 책을 발견하고 나누는 사내 북클럽 애플리케이션입니다.
Node.js 22.13 이상에서 의존성을 설치하고 개발 서버를 실행합니다.
npm install
npm run dev
팀 전체가 같은 데이터를 보도록 공유 PostgreSQL(Supabase)에 연결합니다. Supabase 대시보드의 Connect에서 두 종류의 연결 문자열을 받아 .env.local에 넣습니다.
# 앱 런타임 — Transaction pooler (포트 6543)
DATABASE_URL=postgresql://[email protected]:6543/postgres?sslmode=require
# 마이그레이션 — Direct 연결 (포트 5432)
DIRECT_URL=postgresql://[email protected]:5432/postgres?sslmode=require
# 테스트 전용 — 운영 DB와 반드시 분리
TEST_DATABASE_URL=postgresql://...
스키마를 적용합니다. db/schema.ts를 바꾼 뒤에는 npm run db:generate로 마이그레이션을 생성한 다음 다시 실행합니다.
npm run db:migrate
npm test는 TEST_DATABASE_URL이 가리키는 DB에 실제 행을 씁니다. 운영 DB를 절대 지정하지 마세요. 별도 Supabase 프로젝트를 만들거나 로컬 PostgreSQL을 씁니다.
docker run -d -p 5432:5432 -e POSTGRES_PASSWORD=postgres --name bookcar-test postgres:17
운영 빌드 전에는 .env.example을 복사해 .env.local을 만들고 BETTER_AUTH_SECRET을 32자 이상의 무작위 값으로 설정해야 합니다. 회사 이메일만 가입시키려면 ALLOWED_EMAIL_DOMAINS에 허용할 도메인을 쉼표로 구분해 입력합니다. 비워두면 모든 정상 이메일을 허용합니다.
cp .env.example .env.local
openssl rand -base64 32
카카오 디벨로퍼스에서 애플리케이션을 등록한 다음 REST API 키를 .env.local에 추가합니다. 키는 서버 Route Handler에서만 사용되며 브라우저로 전달되지 않습니다.
KAKAO_REST_API_KEY=발급받은_REST_API_키
비밀번호 초기화는 관리자만 할 수 있습니다. 첫 관리자는 DB에서 직접 지정합니다. Supabase 대시보드의 SQL Editor에서 한 번만 실행하면 됩니다.
update "user" set role = 'admin' where email = '관리자@encar.com';
지정된 계정으로 로그인하면 헤더에 회원 관리 메뉴가 생기고 /admin/members가 열립니다. 다른 사람에게는 이 경로가 404로 보입니다.
/signup: 이름, 회사 이메일, 비밀번호 회원가입/login: 이메일과 비밀번호 로그인/admin/members: 관리자가 회원 비밀번호를 임시 비밀번호로 초기화(1회만 표시)/profile: 임시 비밀번호로 로그인한 뒤 본인이 직접 비밀번호 변경(변경 시 다른 기기 세션 해제)/profile: 로그인 사용자만 볼 수 있는 기본 프로필/books: 실제 등록 도서 목록, 제목·저자 검색, 상태 필터, 정렬과 페이지네이션/books/new: 카카오 책 검색 결과에서 표지와 도서 정보를 선택하고 현재 대여자를 입력해 등록/books/[bookId]: 책 상세, 등록자·현재 대여자·예약 순서 표시/books/[bookId]/edit: 등록자 전용 수정 및 삭제/loans: 내가 빌린 책, 빌려준 책과 전체 대여 이력/loans/requests: 책 등록자가 확인하는 선입선출 예약 대기열