# 볼링 매니저 (Bowling Manager) 볼링 매니저는 볼링장 운영자와 클럽 관리자를 위한 종합 관리 시스템입니다. 회원 관리, 이벤트 일정 관리, 점수 기록 및 통계, 구독 기반 프리미엄 기능을 제공합니다. ## 프로젝트 구조 이 프로젝트는 세 가지 주요 구성 요소로 이루어져 있습니다: ### 1. 백엔드 (Node.js/Express) `/backend` 디렉토리에 위치한 서버 측 코드입니다. - **기술 스택**: Node.js, Express, Sequelize ORM, MySQL - **주요 기능**: - RESTful API 제공 - 데이터베이스 관리 - 인증 및 권한 관리 - 구독 및 결제 처리 - 영수증 검증 ### 2. 프론트엔드 (Vue.js) `/frontend` 디렉토리에 위치한 웹 클라이언트 코드입니다. - **기술 스택**: Vue 3, Vite, Vuex, Vue Router - **주요 기능**: - 관리자 대시보드 - 회원 및 이벤트 관리 - 통계 및 보고서 - 구독 관리 ### 3. 모바일 앱 (Flutter) `/mobile` 디렉토리에 위치한 크로스 플랫폼 모바일 앱 코드입니다. - **기술 스택**: Flutter, Dart, Provider 상태 관리 - **주요 기능**: - 회원 관리 - 이벤트 및 일정 관리 - 점수 기록 및 통계 - 인앱 결제 및 구독 - 오프라인 지원 ## 설치 및 실행 ### 백엔드 ```bash cd backend npm install npm start ``` ### 프론트엔드 ```bash cd frontend npm install npm run dev ``` ### 모바일 앱 ```bash cd mobile flutter pub get flutter run ``` ## 구독 및 인앱 결제 기능 볼링 매니저는 다양한 구독 플랜을 제공합니다: - **무료 플랜**: 기본 기능, 제한된 회원 및 이벤트 관리 - **기본 플랜**: 확장된 회원 및 이벤트 관리, 기본 통계 - **프리미엄 플랜**: 고급 통계, 커스터마이징 옵션 - **프로 플랜**: 모든 기능 무제한 이용, 우선 지원 구독 관련 문서: - [구독 및 인앱 결제 요구사항 및 사용자 플로우](/docs/subscription_requirements_flow.md) - [구독 및 인앱 결제 QA 체크리스트](/docs/subscription_qa_checklist.md) - [배포 체크리스트](/docs/deployment_checklist.md) ## 개발 가이드 ### 백엔드 API 백엔드 API는 RESTful 원칙을 따르며, JWT 기반 인증을 사용합니다. 주요 엔드포인트: - `/api/auth`: 인증 관련 엔드포인트 - `/api/clubs`: 클럽 관리 엔드포인트 - `/api/members`: 회원 관리 엔드포인트 - `/api/events`: 이벤트 관리 엔드포인트 - `/api/scores`: 점수 관리 엔드포인트 - `/api/subscriptions`: 구독 관리 엔드포인트 ### 모바일 앱 구조 모바일 앱은 다음과 같은 구조로 구성되어 있습니다: - `lib/models`: 데이터 모델 클래스 - `lib/services`: API 통신 및 비즈니스 로직 - `lib/screens`: UI 화면 - `lib/widgets`: 재사용 가능한 UI 구성 요소 - `lib/utils`: 유틸리티 함수 및 상수 ## 라이선스 이 프로젝트는 MIT 라이선스 하에 배포됩니다. 자세한 내용은 [LICENSE](LICENSE) 파일을 참조하세요. ## 기여 버그 신고, 기능 요청 및 풀 리퀘스트는 환영합니다. 기여하기 전에 프로젝트 관리자에게 문의하세요.