# 원티드 프리온보딩 [1개월]
> 2022.12 ~ 2023.01
> 원티드에서 주관하는 `프리온보딩 과정`에 참여했습니다. 참여기업의 사전과제를 수행하여 제출했습니다.
## 사전과제
### 📱GyroData [3인]
> CoreMotion을 이용해 기기의 가속도계 측정값과 자이로센서 측정값을 저장할 수 있고, 저장된 결과 값을 Graph로 볼 수 있는 앱 제작 [`프로젝트 보기`](https://github.com/wongbingg/ios-wanted-GyroData)
<details>
<summary>
실행화면 펼쳐보기
</summary>
|<image src="https://i.imgur.com/cOSb1tw.gif" width="150">|<image src="https://i.imgur.com/vxbzFKf.gif" width="150">|<image src="https://i.imgur.com/DYcJZwn.gif" width="150"> |<image src="https://i.imgur.com/4XmRmK5.gif" width="150">|
|:---:|:---:|:---:|:---:|
|`측정, 저장 화면`|`삭제 화면`|`다시보기 화면`|`Play 화면`|
</details>
#### 맡은 역할
- `CoreData` 와 `FileManager` 기능을 맡았습니다.
#### 고민한 점
- CoreData에 저장될 엔티티 모델이 가져야 할 구조에 대한 고민을 했습니다.
- 저장하는 데이터 중, x,y,z 축에 대한 데이터를 0.1초 마다 측정을 하여 데이터가 많은데, 이 데이터를 따로 JSON형식으로 변환하여 FileManager를 통해 로컬에 저장하는 방법에 대한 고민을 했습니다.
#### 배운 점
- CoreData에 저장될 데이터의 타입의 프로퍼티는 String, Int, Double 등 swift 기본 타입으로 지정해주어야 관리하기 용이하다는 점을 배웠습니다.
---
### 📱BoxOffice [2인]
> 영화 진흥위원회 API와 OMDB API 를 이용하여 일간, 주간/주중 박스오피스 목록을 볼 수 있고, 해당 영화에 리뷰를 달아 평점을 줄 수 있는 앱 제작 [`프로젝트 보기`](https://github.com/wongbingg/ios-wanted-BoxOffice)
<details>
<summary>
실행화면 펼쳐보기
</summary>
### 홈화면
|일별 박스오피스 화면|주간/주말 박스오피스 화면|날짜 선택|
|:---:|:---:|:---:|
|<img src="https://user-images.githubusercontent.com/95671495/211020054-eb9e980e-9108-4890-96d8-d030de264c79.gif" width="150">|<img src="https://user-images.githubusercontent.com/95671495/211020560-63bd6278-68a3-4c70-89af-82eafbdc4f03.gif" width="150">|<img src="https://user-images.githubusercontent.com/95671495/211021219-698d76f8-bf8f-4d1f-a9fe-2ac5ec3aa919.gif" width="150">|
### 상세화면 + 리뷰화면
|상세화면 + 출연진 더보기| 리뷰 쓰기 |리뷰보기 및 삭제|
|:---:|:---:|:---:|
|<img src="https://user-images.githubusercontent.com/95671495/211034206-f80b71a3-7ea4-464b-b566-309c251eb7f1.gif" width="150">|<image src="https://i.imgur.com/1Oy8rqp.gif" width="150">|<img src="https://user-images.githubusercontent.com/95671495/211033515-da18ca14-c0d0-4fb5-9aef-220598436619.gif" width="150">|
</details>
#### 맡은 역할
- 네트워킹 코드 구축, 홈화면 구현
#### 고민한 점
- 일별 박스오피스 , 주간/주중 박스오피스 두가지 경우를 나타내기 위한 홈화면 UI구성에 대해 고민했습니다.
```
Compositional Layout을 이용해 유동적인 UI를 구성 해주었습니다.
```
- 네트워킹 코드의 가독성
```
영화진흥위원회API에서 해당영화 id로 세부API를 통해 영화의 영어이름을 받아와, 이를 OMDB API에서
검색하여 Poster 정보를 얻어와야 하는 3중 요청구조를 구현해야 했습니다. 기존에 사용하던 `@escaping
클로저를 이용하니 가독성에 문제가 생겨 이를 해결하기 위해 `async-await` 을 사용했습니다
```
#### 배운 점
- 팀원에게 효율적인 협업방식을 배웠습니다. 깃허브 이슈를 만들어 브랜치를 기능별로 나누어 develope 브랜치로 PR을 보내면 서로의 코드를 리뷰하는 방식이었습니다. 커밋에 관련 이슈를 태그함으로써 해당 이슈 작업이 얼마나 진행되었는지 확인하기에 용이했고, 코드리뷰를 통해 의견조율을 했습니다.
---
### 📱Personal Scheduler [개인]
> 소셜로그인 기능을 통해 메모앱 제작 [`프로젝트 보기`](https://github.com/wongbingg/ios-wanted-PersonalScheduler)
<br>
## 📄 동료에게 받은 평가

