withRun을 통해 친구들과 함께 러닝을 즐겨보세요!
- Google Maps를 통해 내 현재 위치를 바로 확인할 수 있어요.
- 원하는 위치에서 채팅방을 개설하고, 함께 달릴 친구들을 쉽게 모집할 수 있어요.
- 러닝이 끝나면 이동 거리, 속도, 소모 칼로리, 시간을 기록으로 남길 수 있어요.
- 참가자들끼리 달린 기록을 비교하고, 오늘의 TOP 러너도 확인할 수 있어요.
- 다크 모드 지원으로 밤에도 눈에 편하게 앱을 사용할 수 있어요.
| 강민지 (조장) | 김기현 (조원) | 김지은 (조원) | 이성엽 (조원) | 이현진 (조원) |
| Meezzi | arcmee | jek1m | bang9lee | hyunjin912 |
|
|
|
|
|
| 전체 총괄 | 채팅 | 채팅 | 지도 | 로그인 |
-
📱 간편한 Google 로그인으로 빠르게 시작
-
🗺️ 현재 위치 기반 지도 표시 및 채팅방 생성
-
🌙 다크 모드 지원으로 야간에도 편리한 이용
-
🏃♂️ 러닝 결과 표시
-
Google 로그인: 사용자 인증 및 프로필 설정 (사진, 닉네임)
-
Google Maps 연동: 현재 위치 표시, 채팅방 개설/참여, 채팅방 목록 확인
-
채팅방 기능
- 개설자 : 시작/종료 버튼 제공
- 참여자 : "러닝 대기중" 상태 표시
- 위치기반으로 채팅을 개설
- 내주변의 채팅방 지도화면에서 마커로 확인가능
-
러닝 결과 표시
- 총 이동 거리 (km), 평균 속도, 소모 칼로리, 이동 시간, 걸음수
-
랭킹 기능
- 채팅방 내 닉네임 기반 랭킹
- "오늘의 TOP 러너" 표시 (닉네임, 키로수, 이동 시간)
- Flutter (Dart)
- Architecture: MVVM (Model-View-ViewModel)
- State Management: Riverpod
| 패키지 | 설명 |
|---|---|
firebase_auth |
Firebase 기반 사용자 인증 |
cloud_firestore |
실시간 채팅 및 유저 정보 저장용 NoSQL 데이터베이스 |
firebase_core |
Firebase 앱 초기화 및 연결 |
firebase_storage |
사용자 프로필 이미지 저장 |
google_sign_in |
Google 계정 로그인 지원 |
google_maps_flutter |
지도 및 위치 마커 구현 |
geolocator |
현재 위치 및 위치 권한 처리 |
geocoding |
위도/경도를 주소로 변환 |
flutter_dotenv |
.env 파일을 통한 API 키 관리 |
flutter_riverpod |
상태 관리 라이브러리 (MVVM 아키텍처에 적합) |
provider |
의존성 주입과 간단한 상태 관리 |
cupertino_icons |
iOS 스타일 기본 아이콘 제공 |
flutter_svg |
SVG 이미지 렌더링 |
http |
HTTP 통신 (서버와 데이터 송수신) |
intl |
날짜, 시간, 숫자 포맷 처리 |
image_picker |
갤러리/카메라에서 이미지 선택 |
time_range_picker |
시간 범위 선택 UI |
shared_preferences |
간단한 로컬 저장소 (ex: 토큰 저장) |
permission_handler |
위치/사진 등 접근 권한 요청 처리 |
pedometer |
걸음 수 측정 기능 제공 |
lottie |
애니메이션 효과로 UI 향상 |
(작성 예정)
향후 디렉토리 구조 설명, 기능 흐름도, 시연 영상 추가 예정
조별과제 및 발표용 문서로 최적화 완료
- Google Maps API 키
- Firebase 인증 및 콘솔 설정
.env파일에 API 키 입력- 인터넷 연결 및 위치 정보 접근 허용
- flutter pub get
- GOOGLE_MAPS_API_KEY=
-
ios/Flutter/Environment.xcconfig 파일에 추가
-
GOOGLE_MAPS_API_KEY=
-
ios/Runner/Info.plist에 추가 (필요 시)
-
GoogleMapsApiKey
-
$(GOOGLE_MAPS_API_KEY)
- flutter run
- gitignore
-android/app/google-services.json
-ios/Runner/GoogleService-Info.plist
-lib/firebase_options.dart
-.env
-ios/Flutter/Environment.xcconfig








