![KakaoTalk_Photo_2024-07-19-23-03-58](https://private-user-images.githubusercontent.com/88605949/350421270-1afc56c5-19da-4dc9-9e0c-e76075c66d32.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQxMDQzNjksIm5iZiI6MTcyNDEwNDA2OSwicGF0aCI6Ii84ODYwNTk0OS8zNTA0MjEyNzAtMWFmYzU2YzUtMTlkYS00ZGM5LTllMGMtZTc2MDc1YzY2ZDMyLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MTklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODE5VDIxNDc0OVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWE2YWI5MjYyZDgyNjU5ZWE2OTAxMGI1ZjlmZjMzMGU2Y2ZhMmYxYWUyYWI3MGI1YmU3ODQ1YzkzZjg4MjE0NzUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.Qvlbnp90bq3jxpveMzB3bDk3aW1BpZ6KfiTVZxoxqQ4)
"내 취향에 맞는 공간을 촬영하고 업로드하는 숏폼을 활용하는 라이프스타일 플랫폼"
사용자들은 새로운 장소를 자유롭게 둘러보고 취향을 찾으며, 다른 사용자들과 공간 경험을 나눌 수 있습니다.
동영상을 활용하여 방문 전에도 실제와 유사한 공간감을 느낄 수 있는 공간 영상을 제공합니다.
또한 키워드와 취향에 맞는 유저 구독 기능을 통해 무분별한 알고리즘에서 벗어나 취향에 맞는 공간 정보만 탐색할 수 있도록 하는 가치를 제공합니다.
한지석 | 문형근 | 송여경 |
영상, 기록, 로그인 |
메인페이지, 회원가입 |
마이페이지, 버블그래프 |
스플래시 | 카카오 로그인 | 애플 로그인 | 탈퇴 및 로그아웃 |
영상 기록 | 내 기록 영상 | 인기 영상 | 영상 디테일 |
프로필(내 취향) | 프로필(내 기록) | 프로필(북마크) | 프로필 empty |
칩 키워드 | 타 유저 팔로잉 | 팔로잉 팔로워 | 환경설정-이용약관 |
AWS SDK
Tuist
Moya
SnapKit
Then
Kakao SDK
RxSwift
Lottie
├── 🧩 App
| ├── 🗂️ Sources
│ │ ├── AppDelegate
│ │ ├── SceneDelegate
| ├── 🗂️ Resources
│ │ ├── LaunchScreen
| ├── 🗂️ Derived
│ │ ├── Info.plist
├── 🧩 Common
| ├── 🗂️ Sources
│ │ ├── 🗂️ Extension
│ │ ├── 🗂️ Font
│ │ ├── 🗂️ Components
│ ├── 🗂️ Resources
│ │ ├── 🗂️ Font
│ │ ├── Asset
| ├── 🗂️ Derived
│ │ ├── 🗂️ InfoPlists
│ │ ├── 🗂️ Sources
├── 🧩 Core
│ ├── 🗂️ AWS
│ ├── 🗂️ Base
│ ├── 🗂️ Cache
│ ├── 🗂️ Coordinator
│ ├── 🗂️ Model
│ ├── 🗂️ Network
│ ├── 🗂️ OAuth
│ ├── 🗂️ Photos
...
├── 🧩 Presentation
│ ├── 🗂️ TabBar
│ ├── 🗂️ Home
│ ├── 🗂️ Login
│ ├── 🗂️ SignUp
│ ├── 🗂️ MyProfile
│ ├── 🗂️ Video
│ ├── 🗂️ UploadVideo
1. 여백 두칸으로 고정
2. 함수명은 주어 + 동사 + (목적어)
3. UI는 set ~ 으로 작성하고 순서는 setStyle() -> setUI() -> setAutolayout(). 오토레이아웃은 상, 하, 좌, 우, 크기 순서로 지정하기
4. 접근제어자 신경써서 작성하기
5. 파라미터가 2개 이상이다 ? -> Command + M
6. Command + I 수시로 하기
7. 컴포넌트 -> 프로퍼티 -> 생명주기 -> UI세팅 -> 기타 함수들 -> Extension
8. TableView, CollectionView Delegate, DataSource 를 같은 클래스 내부가 아닌 Extension을 활용하여 관리하기
9. 주석 쓸거라면 코드의 위에 작성하기!
10. import 순서는 UIKit(Foundation) -> 내부 모듈 -> 외부 모듈로 선언하고 ABC 순서대로 작성
![스크린샷 2024-06-26 오후 12 14 34](https://private-user-images.githubusercontent.com/49385546/344455615-7a098200-d152-4207-a6ef-b7a845e3f766.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQxMDQzNjksIm5iZiI6MTcyNDEwNDA2OSwicGF0aCI6Ii80OTM4NTU0Ni8zNDQ0NTU2MTUtN2EwOTgyMDAtZDE1Mi00MjA3LWE2ZWYtYjdhODQ1ZTNmNzY2LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MTklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODE5VDIxNDc0OVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTE0NWExNmI0MTU0ZTkyYTY2ZDFlZmUzMDJhYmUwYmM2OTQ4MWZkNjhhYjY3YzVlODU3YzhmOTgzN2Q1MDhlMjQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.YkFD3Yc442-RvVwHom1vUxzHWA17_LJTe6DMfmP286M)
(Master == Main, Hotfix 미사용)
/// 항상 develop 브랜치가 최신 상태인지 확인해주세요 !
/// 작업 브랜치에서 작업 중에 develop 브랜치의 최신 상태가 변경되었다면?
/// -> 작업 브랜치에 머지를 해주어야 함
1. issue 생성
2. develop 브랜치에서 git checkout -b (issue 종류/#작업번호)
3. 해당 브랜치에서 작업 진행 및 커밋(커밋은 한번에 다 올리지 말기)
4. 작업 완료 후 빌드가 되는지 확인 후 원격으로 push
5. PR & merge
일반적인 커밋 : `feat: 버튼 작동 시 특정 이벤트 발생하는 기능 구현(#33)`
최신 작업 상황 반영 : `merge: develop into #33
# feat : 기능 구현(UI 포함)
# fix : 기능 수정
# bug : 버그 해결
# refactor : 리팩토링
# merge : 최신 작업 상황 반영시
# style : 스타일 (코드 형식, 세미콜론 추가: 비즈니스 로직에 변경 없음)
# docs : 문서 수정 (문서 추가, 수정, 삭제, README)
# test : 테스트 (테스트 코드 추가, 수정, 삭제: 비즈니스 로직에 변경 없음)
# chore : 기타 변경사항 (빌드 스크립트 수정, assets, 패키지 매니저 등)
# rename : 파일 혹은 폴더명을 수정하거나 옮기는 작업만 한 경우
# remove : 파일을 삭제하는 작업만 수행한 경우
# init : 초기 생성