Javis OS
Javis OS is an Agentic AI that assists entrepreneurs in business tasks, helping them grow their work.
AI translation
서초여성가족플라자 서초센터 강의실·E-스튜디오 대관 및 우리동네 갤러리 전시 신청
Translation pending
BusinessGitHub @seochowomen1OnlineOwner 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 ↗온라인 공간 대관 신청 및 관리 시스템입니다.
🔧 전역적으로 deprecated 함수 완전 제거
sheets.ts 직접 import 제거getDatabase() 패턴 사용📝 로거 시스템 실제 적용
이 버전에서는 다음과 같은 주요 개선이 이루어졌습니다:
BlockedSlot 타입 별칭 추가로 타입 불일치 해결TIME_CONSTANTS 도입getDatabase() 패턴으로 일관성 확보logger 유틸리티 추가 (개발/프로덕션 환경 구분)lib/logger.ts: 구조화된 로깅 시스템lib/env-validation.ts: 환경 변수 검증 유틸리티components/apply/*: 신청 폼 섹션 컴포넌트들rental-app/
├── app/ # Next.js App Router
│ ├── space/ # 공간 목록 및 상세 페이지
│ ├── apply/ # 신청서 작성 페이지
│ ├── admin/ # 관리자 페이지
│ └── api/ # API 엔드포인트
├── components/ # React 컴포넌트
│ ├── RentalCalendar.tsx
│ ├── SpaceBooking.tsx
│ └── ...
├── lib/ # 유틸리티 및 비즈니스 로직
│ ├── space.ts # 공간 데이터 (Single Source of Truth)
│ ├── database.ts # 데이터베이스 추상화 레이어
│ ├── api-response.ts # API 응답 표준 형식
│ ├── schema.ts # Zod 스키마 정의
│ ├── config.ts # 설정 상수
│ ├── google.ts # Google API 클라이언트
│ ├── sheets.ts # Google Sheets 연동
│ ├── mockdb.ts # Mock 데이터베이스 (로컬 테스트용)
│ └── ...
└── public/ # 정적 파일
프로젝트 루트에 .env.local 파일을 생성하세요.
MOCK_MODE=true
ADMIN_PASSWORD=your_admin_password
APP_BASE_URL=http://localhost:3000
# Google API
GOOGLE_SERVICE_ACCOUNT_JSON={"type":"service_account",...}
GOOGLE_SHEET_ID=your_sheet_id
GOOGLE_DRIVE_FOLDER_ID=your_folder_id
# 관리자
ADMIN_PASSWORD=your_admin_password
# SMTP (이메일)
SMTP_HOST=smtp.gmail.com
SMTP_PORT=587
[email protected]
SMTP_PASS=your_app_password
[email protected]
# 알림
[email protected]
APP_BASE_URL=https://your-domain.com
npm install
이 프로젝트에는 기본으로 .npmrc가 포함되어 있어 audit/fund 및 대부분의 warn 로그를 숨깁니다.
만약 경고를 다시 보고 싶다면(의존성 점검/트러블슈팅 시 권장) 아래 중 하나를 선택하세요.
npm_config_loglevel=warn npm install
.npmrc에서 loglevel=error 줄을 삭제/수정Windows에서 설치/삭제가 자주 꼬이면(EPERM, cleanup 실패 등)
- 프로젝트 경로를 짧게 이동 권장:
C:\work\rental-app- 실행 중인
node.exe/next dev/VSCode 터미널을 모두 종료 후 재시도
npm run dev
브라우저에서 http://localhost:3000을 열어 확인하세요.
npm run build
npm start
모든 공간 데이터는 lib/space.ts에서 관리됩니다. 공간을 추가/수정/삭제할 때는 이 파일만 수정하면 됩니다.
// lib/space.ts
export const ROOMS: SpaceRoom[] = [
{
id: "bookcafe",
floor: "4",
name: "북카페",
capacity: 20,
// ...
},
// ...
];
lib/database.ts는 Mock 모드와 실제 모드를 통합 관리합니다.
import { getDatabase } from "@/lib/database";
const db = getDatabase(); // 환경에 따라 자동 선택
const requests = await db.getAllRequests();
모든 API는 lib/api-response.ts의 표준 형식을 따릅니다.
import { success, error, HTTP_STATUS } from "@/lib/api-response";
// 성공
return NextResponse.json(success({ requestId: "..." }), { status: HTTP_STATUS.SUCCESS });
// 에러
return NextResponse.json(error("VALIDATION_ERROR", "입력값 오류"), { status: HTTP_STATUS.VALIDATION_ERROR });
lib/space.ts의 ROOMS 배열에 새 항목을 추가하세요.
export const ROOMS: SpaceRoom[] = [
// 기존 공간들...
{
id: "new_room", // 고유 ID (영문/숫자)
floor: "5", // 층 (4, 5, 6, 7)
name: "새로운 강의실", // 표시 이름
capacity: 15, // 수용 인원
durationLimitHours: 4, // 최대 이용 시간
feeKRW: 0, // 이용 금액
contactName: "관리자",
contactPhone: "02-0000-0000",
note: "공간 설명" // 선택사항
},
];
해당 공간의 속성을 직접 수정하세요.
해당 공간을 배열에서 제거하세요.
⚠️ 주의: 기존 예약 데이터와의 일관성을 확인하세요.
lib/config.ts에서 운영 시간을 설정할 수 있습니다.
export const OPERATING_RULES = {
weekday: { start: "10:00", end: "17:00" },
tuesdayNight: { start: "18:00", end: "20:00" },
saturday: { start: "10:00", end: "12:00" }
};
이메일 템플릿은 lib/mail.ts에서 수정할 수 있습니다.
/admin/loginADMIN_PASSWORD에 설정된 값Mock 모드는 .mockdb.json 파일에 데이터를 저장합니다. 이 파일을 삭제하지 마세요.
데이터 일관성 개선
lib/space.ts로 통합타입 안전성 강화
API 중복 제거
/api/public/availability 제거/api/availability로 통합데이터베이스 추상화
lib/database.ts 추가API 응답 표준화
lib/api-response.ts 추가문서화 개선
보안 강화
UI/UX 개선
성능 최적화
기능 확장
이 프로젝트는 내부 사용을 위한 것입니다.
버그 리포트나 기능 제안은 이슈로 등록해주세요.
개발: Manus AI
버전: 2.0 (개선판)
최종 업데이트: 2026-01-15
증상 예시:
...next-swc.win32-x64-msvc.node is not a valid Win32 application대부분 아래 중 하나입니다.
node -p "process.arch"ia32면 64-bit Node(x64)로 재설치가 필요합니다.설치가 중간에 끊겨 node_modules 바이너리가 손상
Node 버전이 너무 최신(v24 등)
권장 조치(공통):
# 1) node_modules 제거
rm -rf node_modules
# 2) npm 캐시 정리
npm cache clean --force
# 3) 재설치
# - package-lock.json이 있으면: npm ci
# - lockfile이 없으면: npm install
npm install
# 4) 실행
npm run dev
Windows PowerShell 기준:
Remove-Item -Recurse -Force node_modules
npm cache clean --force
npm install
npm run dev