Skip to content

야외 운동 시 거리와 걸음수를 측정하고 기록을 공유하여 재미를 더하는 서비스

Notifications You must be signed in to change notification settings

ESTSOFT-iOS-01/RunLog

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RunLog

야외 운동 시 위치 기반으로 경로를 기록하고, 그 순간을 이미지로 남기는 러닝 기록 서비스

사용자의 야외 운동 데이터를 기반으로 거리, 걸음 수를 측정하고 경로를 시각적으로 표현해줍니다. 나아가, 이 기록을 바탕으로 무빙트랙 영상을 확인하고 트랙 이미지를 자동 생성해 누구나 쉽게 공유하고 재미를 느낄 수 있는 서비스입니다.

📑 RunLog FigJam 📑

📑 RunLog 발표자료 📑

🍎 Developers

신승재 김도연 도민준 심근웅
팀장 👑 팀원 👨🏻‍💻 팀원 👨🏻‍💻 팀원 👨🏻‍💻
로그 캘린더
로그 타임라인
마이페이지
로그 수정
상세 로그 조회
무빙 트랙
홈 화면
실시간 운동 정보

🎥 주요 기능 시연 영상

러닝 기록 상세 기록 마이

🛠️ Development Environment 🛠️

iOS Xcode

🥞 Stacks 🥞

Tech Stack

Library & API

Tools

✏️ Project Design ✏️

프로젝트 아키텍쳐

💻 Convention 💻

🌲 Branch Convention 🌲

  1. 기본 브랜치 설정
  • main : 배포 가능한 안정적인 코드가 유지되는 브랜치
  • develop: 기본 브랜치로, 기능을 개발하는 브랜치
  1. 작업 순서
    1. 작업할 이슈 작성
    2. 적합한 Assignees, Label, Project, Milestone 할당
    3. 자동 생성 브랜치에서 작업 수행
    4. 원격 저장소에 작업 브랜치 푸시
    5. Pull Request 생성
    • develop 브랜치 대상으로 Pull Request 생성
    • 리뷰어의 리뷰를 받은 후 PR을 승인 받고 develop 브랜치에 자동 병합

🧑‍💻 Code Convention 🧑‍💻

저희는 Swift Style Guide을 따릅니다. StyleShare

네이밍 규칙

  • 변수/상수: 카멜케이스 (예: userName)
  • 클래스/구조체: 파스칼케이스 (예: UserProfile)
  • 함수/메서드: 동사로 시작하며 카멜케이스 (예: fetchData())

코드 스타일

  • 명시적 타입 선언: 가능하면 타입 명시 (예: var name : String = “name”)
  • 옵셔널 처리: guardif let을 사용하여 안전하게 언래핑
  • 함수 파라미터: 간결하고 직관적인 이름 사용

💬 Issue Convention 💬

모든 이슈에 대한 템플릿

## 💡 Issue
<!-- 이슈에 대해 간단하게 설명해 주세요 -->

## 🔥 Tasks
<!-- 해야 할 작업들을 나열해 주세요 -->

🫷 PR Convention 🫸

<!-- PR 제목 컨벤션: [이슈 라벨] 작업한 내용 요약 -->

## 💡 PR 유형
<!-- 해당하는 유형에 "x"를 입력하세요. -->
- [ ] Feature: 기능 추가
- [ ] Hotfix: 작은 버그 수정
- [ ] Bugfix: 큰 버그 수정
- [ ] Refactor: 코드 개선
- [ ] Chore: 환경 설정

## ✏️ 변경 사항
<!-- 이 PR에서 작업한 내용을 간단히 요약해주세요. -->

## 🚨 관련 이슈
<!-- 관련된 이슈 번호를 적어주세요. 여러 개인 경우 쉼표로 구분하세요. -->
- close #

## 🧪 테스트
<!-- 이 PR에서 테스트한 내용을 설명해주세요. -->
- [ ] 목표한 구현 정상 동작 확인

## 🎨 스크린샷
<!-- UI 변경사항이 있는 경우 스크린샷을 첨부해주세요. -->
<!-- img src "이부분에 gif파일 넣어주세요" -->
|기능|스크린샷|
|:--:|:--:|
|GIF|<img src = "" width ="250">|

## ✅ 체크리스트
<!-- 꼭 모두 체크하고 PR을 생성해주세요. -->
- [ ] 코드/커밋이 정해진 컨벤션을 잘 따르고 있나요?
- [ ] PR의 Assignees와 Reviewers를 설정했나요?
- [ ] 불필요한 코드가 없고, 정상적으로 동작하는지 확인했나요?
- [ ] 관련 이슈 번호를 작성했나요?

## 🔥 추가 설명
<!-- 리뷰어가 알아야 할 추가적인 정보가 있다면 여기에 적어주세요. -->
<!-- 코드 리뷰를 받고 싶은 코드나, 설명하고 싶은 코드가 있다면 적어주세요. -->

🙏 Commit Convention 🙏

  • feature : 새로운 기능이 추가되는 경우
  • docs : 문서에 변경 사항이 있는 경우
  • refactor : 코드 리팩토링하는 경우 (기능 변경 없이 구조 개선)
// Format
[#Issue Number]: [Description]

// Example
[feature]: 로그인 기능 구현

📁 Foldering Convention 📁

📦RunLog
 ┗ 📂RunLog
   ┣ 📂Resources
   ┃ ┣ 📂DesignSystem
   ┃ ┗ 📂Fonts
   ┗ 📂Sources
     ┣ 📂App
     ┣ 📂Data
     ┃ ┣ 📂DTO
     ┃ ┣ 📂Impl
     ┃ ┗ 📂Network
     ┃   ┗ 📂OpenWeather
     ┣ 📂Domain
     ┃ ┣ 📂Entity
     ┃ ┣ 📂Repository
     ┃ ┣ 📂UseCase
     ┃ ┗ 📂UseCaseImpl
     ┣ 📂Presentation
     ┃ ┣ 📂Common
     ┃ ┣ 📂Coordinator
     ┃ ┃ ┗ 📂View
     ┃ ┣ 📂DetailLog
     ┃ ┃ ┣ 📂Model
     ┃ ┃ ┣ 📂View
     ┃ ┃ ┗ 📂ViewModel
     ┃ ┣ 📂Log
     ┃ ┃ ┣ 📂Component
     ┃ ┃ ┣ 📂Coordinator
     ┃ ┃ ┣ 📂View
     ┃ ┃ ┃ ┣ 📂Calendar
     ┃ ┃ ┃ ┃ ┗ 📂Model
     ┃ ┃ ┃ ┣ 📂EditLog
     ┃ ┃ ┃ ┗ 📂Timeline
     ┃ ┃ ┗ 📂ViewModel
     ┃ ┣ 📂Run
     ┃ ┃ ┣ 📂View
     ┃ ┃ ┗ 📂ViewModel
     ┃ ┗ 📂Setting
     ┃   ┣ 📂Model
     ┃   ┣ 📂View
     ┃   ┣ 📂ViewController
     ┃   ┗ 📂ViewModel
     ┗ 📂Util
      ┣ 📂Constant
      ┗ 📂Extension

🔥 Trouble Shooting 🔥

RunLog팀의 위키 바로가기

About

야외 운동 시 거리와 걸음수를 측정하고 기록을 공유하여 재미를 더하는 서비스

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages