국민체육진흥공단 공공데이터를 활용한 스포츠 생활 통합 플랫폼
스포츠 시설 정보부터 동호회·용병 매칭까지 한 번에!
공공데이터와 커뮤니티 기능을 결합하여 대한민국 체육 활동 참여를 촉진합니다.
| Team Leader | Team Member | Team Member | Team Member |
|---|---|---|---|
정세현 |
이윤형 |
김태연 |
안예준 |
| 개인 리포트 | 개인 리포트 | 개인 리포트 | 개인 리포트 |
🛠 기술 스택
US-FIT-FE/
├── .expo/ # Expo 관련 설정
├── .github/ # GitHub Actions 등 CI/CD 설정
├── .idea/ # IDE 설정
├── api/ # 백엔드 API 통신 로직 (Axios)
│ ├── Club/ # 동호회 관련 API
│ │ ├── Activity/ # 동호회 활동(Activity) API
│ │ └── Members/ # 동호회 멤버/관리자 관련 API
│ ├── Course/ # 강좌 관련 API
│ ├── Facility/ # 시설 관련 API
│ ├── Review/ # 리뷰 관련 API
│ ├── api.ts # Axios 인스턴스 및 인터셉터
│ ├── auth.ts # 인증(로그인/회원가입) API
│ ├── profile.ts # 프로필 조회/수정 API
│ └── recruits.ts # 용병 모집 API
├── assets/ # 이미지, 아이콘 리소스
│ ├── icon/ # SVG 아이콘
│ └── images/ # PNG/JPG 이미지
├── components/ # 재사용 가능한 UI 컴포넌트
│ ├── Club/ # 동호회 전용 컴포넌트 (Box, Modal, Tab 등)
│ ├── Course/ # 강좌 전용 컴포넌트
│ ├── Facility/ # 시설 전용 컴포넌트 (MapButton, Filter 등)
│ ├── Mercenary/ # 용병 전용 컴포넌트
│ ├── Review/ # 리뷰 전용 컴포넌트
│ ├── BottomTabBar.tsx # 하단 탭 바
│ ├── CustomButton.tsx # 공통 버튼
│ ├── CustomHeader.tsx # 공통 헤더
│ ├── KakaoMap.tsx # 카카오맵 웹뷰 컴포넌트
│ └── ... # 기타 공통 컴포넌트 (Input, Modal 등)
├── interfaces/ # 타입 인터페이스 정의 (facility.ts 등)
├── pages/ # 화면(Screen) 페이지
│ ├── ClubPage/ # 동호회 관련 페이지 (리스트, 상세, 작성 등)
│ ├── Course/ # 강좌 관련 페이지
│ ├── FacilityPage/ # 시설 관련 페이지 (리스트, 상세, 지도)
│ ├── Mercenary/ # 용병 관련 페이지
│ ├── OnBoarding/ # 로그인 및 초기 설정 페이지
│ ├── Review/ # 리뷰 작성 페이지
│ ├── Login/ # (구조상 존재하나 OnBoarding과 통합 고려)
│ ├── Mainpage.tsx # 메인 홈 화면
│ ├── Mypage.tsx # 마이페이지
│ └── ProfileEditPage.tsx # 프로필 수정 페이지
├── store/ # 전역 상태 관리 (Zustand)
│ ├── useProfileFormStore.ts
│ └── useUserStore.ts
├── styles/ # 공통 스타일 및 테마
├── types/ # 전역 타입 정의 (navigationTypes 등)
├── App.tsx # 앱 진입점 및 네비게이션 설정
└── ... # 설정 파일들 (package.json, tsconfig.json 등)
이 프로젝트는 Expo 프레임워크를 기반으로 제작되었습니다.
실행 전 아래 도구들이 설치되어 있어야 합니다.
- Node.js (LTS 버전 권장) - 다운로드
- npm 또는 yarn
- Expo Go 앱 (모바일 기기)
## 🏃♂️ Getting Started
### 1️⃣ 환경 설정
프로젝트 실행을 위해 다음 환경이 필요합니다.
| 요구사항 | 설명 |
| :--- | :--- |
| **Node.js** | v16.0.0 이상 (LTS 권장) |
| **Package Manager** | npm 또는 yarn |
| **Mobile App** | [Expo Go](https://expo.dev/client) 설치 |
### 2️⃣ 설치 및 실행
아래 명령어를 순서대로 터미널에 입력해주세요.
```bash
# 1. 프로젝트 클론
$ git clone [https://github.com/Us-Fit/Us-Fit-FE.git](https://github.com/Us-Fit/Us-Fit-FE.git)
# 2. 프로젝트 폴더로 이동
$ cd Us-Fit-FE
# 3. 의존성 패키지 설치
$ npm install
# 4. 개발 서버 시작
$ npx expo start
git clone [https://github.com/Us-Fit/Us-Fit-FE.git](https://github.com/Us-Fit/Us-Fit-FE.git)
cd Us-Fit-FE
> **⚠️ 중요:** 실행 전 `.env` 파일 설정이 필요합니다.
> 프로젝트 루트에 `.env` 파일을 생성하고 필요한 환경변수를 입력해주세요.
**UsFit - 운동으로 연결되는 우리, 함께 만들어가는 건강한 대한민국 **
Made with ❤️ by Us-Fit Team
🤝 기여 및 문의버그 발견 시 이슈를 등록해주시거나 Pull Request를 보내주세요.
Backend Repo: https://github.com/Us-Fit/Us-Fit-BEFrontend Repo: https://github.com/Us-Fit/Us-Fit-FE