모험가 길드(Traveler Guild)는 여행과 모험을 사랑하는 사용자들을 위한 커뮤니티 중심의 크로스 플랫폼 모바일 애플리케이션입니다. 사용자들은 여행 정보를 공유하고, 실시간으로 소통하며, 지도 기반의 위치 서비스를 이용할 수 있습니다.
| Category | Stack |
|---|---|
| Framework | |
| Language | |
| Platform |
| Category | Stack |
|---|---|
| Navigation | |
| Networking | |
| Maps | |
| Payment | |
| Build |
프로젝트의 주요 소스 코드는 src 디렉토리에 위치합니다.
traguild-app/
├── src/
│ ├── components/ # 버튼, 입력 필드 등 재사용 가능한 UI 컴포넌트
│ ├── config/ # 앱 설정 파일 (API URL, 상수 등)
│ ├── hooks/ # 커스텀 React Hooks
│ ├── layouts/ # 내비게이션 및 레이아웃 관련 설정 (Stack, Tab 등)
│ ├── resources/ # 이미지, 테마, HTML 등 정적 리소스
│ └── views/ # 화면(Screen) 페이지 컴포넌트
│ ├── 01-home # 메인 홈 화면
│ ├── 02-community # 게시글 작성 및 조회 등 커뮤니티 기능
│ ├── 03-chat # 실시간 채팅 기능
│ ├── 04-myPage # 사용자 프로필 및 설정 관리
│ ├── 05-maps # 지도 및 위치 기반 서비스
│ ├── auth # 로그인, 회원가입 등 인증 화면
│ ├── common # 공통 화면 요소
│ └── pg # 결제 시스템 (Toss Payments) 연동 화면
├── assets/ # 앱 아이콘, 스플래시 스크린 등 애셋
├── App.jsx # 애플리케이션 진입점 (Entry Point)
├── app.json # Expo 및 앱 배포 설정 (App Config)
├── eas.json # EAS Build/Submission 설정
└── package.json # 프로젝트 의존성 및 스크립트
이 프로젝트를 실행하기 위해서는 다음 도구들이 설치되어 있어야 합니다. (Node.js v18 이상 권장)
- Node.js: Download Node.js
- Yarn 또는 npm:
npm install -g yarn - Expo Go: 모바일 기기에서 테스트할 경우 App Store/Play Store에서 다운로드
- Android Studio / Xcode: 에뮬레이터에서 실행할 경우 필요
-
리포지토리를 클론합니다.
git clone <repository-url> cd traguild-app
-
프로젝트 의존성을 설치합니다.
yarn install # 또는 npm install
개발 서버를 시작하여 앱을 실행합니다.
yarn start명령어를 실행하면 터미널에 QR 코드가 표시됩니다.
- 모바일 기기: Expo Go 앱을 열어 QR 코드를 스캔합니다.
- Android 에뮬레이터: 터미널에서
a를 누릅니다. - iOS 시뮬레이터: 터미널에서
i를 누릅니다. (macOS 필요)
백엔드 서버와의 통신을 위한 기본 URL은 src/config/fetch.config.js 파일에 정의되어 있습니다.
// src/config/fetch.config.js
const BASE_URL = "https://traguild.kro.kr/api";개발 환경에 따라 이 URL을 변경하여 로컬 서버 등을 바라보게 할 수 있습니다.
지도 기능을 위해 Google Maps API Key가 사용됩니다. 설정은 app.json 파일의 android.config.googleMaps.apiKey에 위치합니다.
-
홈 (Home)
- 앱의 메인 대시보드로, 인기 게시글이나 공지사항 등을 확인할 수 있습니다.
-
커뮤니티 (Community)
- 사용자 간의 여행 정보를 공유하는 게시판 기능입니다.
-
채팅 (Chat)
- Socket.io를 이용한 실시간 채팅 기능을 제공하여 유저 간 소통을 지원합니다.
-
지도 (Maps)
- 사용자의 위치를 표시하고 주변 정보를 탐색합니다.
-
마이페이지 (My Page)
- 내 프로필 정보 수정, 내가 쓴 글 확인 등 개인화된 기능을 제공합니다.
-
결제 (Payments)
- Toss Payments를 연동하여 앱 내 결제 기능을 지원합니다.
Note: 이 문서는 프로젝트 분석을 기반으로 자동 생성되었습니다. 추가적인 설정이나 상세 비즈니스 로직은 소스 코드를 참고하세요.