벌써 프로젝트를 시작한지 약 3주가 지났다.
길다면 길고 짧다면 짧은 시간이지만 나에겐 도전과 발전의 시간이었다.
사실 거의 마무리 단계이지만 중간 점검 차원에서 글을 작성하게 되었다.
(아마 일주일 뒤면 프로젝트가 끝나지 않을까 싶다.)
앱에 대한 설명이나 상세한 개발 내용 등은 개발을 마무리 하고 회고를 작성할 때 포함하도록 하고
이번 중간 점검에서는 개발 진행 상황과 앱 시연 영상만 간략하게 작성하여 기록하고자 한다.
개발 진행 상황
1. API 매니저 구현
1.1 URLComponents를 관리하여 URL을 얻어오는 메소드 구현
1.2 URLSession을 이용하여 JSON 데이터를 받아와 Decoding하는 메소드 구현
2. Realm 적용
2.1 싱글톤으로 구현
2.2 get, read, update, write 메소드 구현 (delete는 필요 없기 때문에 구현 X)
3. Service 구현
3.1 비즈니스 로직을 Service에 구현
3.2 서버의 모든 데이터를 받아와 entity를 모델에 맞는 데이터로 변환하여 저장장하는 메소드 구현
3.3 서버의 데이터와 Realm의 데이터를 비교하여 entity를 모델에 맞는 데이터로 변환하여 저장하는 메소드 구현
4. ViewModel 구현
4.1 ExChangeRateViewModel 구현
4.1.1 데이터를 CurrentModel에 저장하는 dataLoad, allDataLoad 메소드 구현
4.1.2 데이터를 Realm에 Update하는 myCurrencyUpdate 메소드 구현
4.1.3 초기 Realm 데이터를 설정하는 initMyCurrency 메소드 구현
4.2 CalculatorViewModel 구현
4.2.1 숫자 패드, 연산자 패드 클릭 시 계산식을 화면에 출력하는 기능 구현
4.2.2 숫자 패드, 연산자 패드 입력 시 계산 결과 값을 화면에 출력하는 기능 구현
4.2.3 연산 기능 구현
5. UI 구현
5.1 Base View 구현
5.1.1 Base가 되는 BaseViewController 구현
5.1.2 Base가 되는 BaseLabel 구현
5.1.3 Base가 되는 BaseView 구현
5.2 Extension
5.2.1 사용자가 16진수를 입력하여 색상을 추가할 수 있는 기능 extension
5.3 font 추가
5.4 SnapKit을 이용하여 제약조건 설정
5.5 Bind를 통해 UI를 업데이트 하도록 구현
6. 기능
6.1 기준 통화(원화)를 기준으로 약 49개국의 환율을 제공
6.2 사용자가 원하는 국가의 환율만 볼 수 있도록 편집 기능 제공
6.3 사용자가 계산기를 통해 원화 입력 시 사용자가 원하는 국가의 통화로 환율을 계산해서 제공
6.4 환율 리스트 섹션을 아래로 슬라이드 하면 새로고침 하도록 구현
Todo
1. 송금 받을 때, 송금 보낼 때 환율을 계산하여 제공하는 기능 구현
2. API 제공 시간을 가독성 좋게 수정 (2024-01-24 16:57:41 ➡️ 2024.01.24 16시 57분 41초 기준)
3. 환율 값을 가동성 좋게 수정 (10000000000원 ➡️ 10,000,000,000원)
앱 시연
'ToyProject - 바꿔조 (환율 계산기)' 카테고리의 다른 글
[바꿔조/회고] 바꿔조 개발을 마무리 하며 (1) | 2024.01.29 |
---|---|
[바꿔조/문제해결] Realm 모델과 ExchangeRate 모델을 비교할 때 발생하는 오류 해결 (2) | 2024.01.27 |
[바꿔조/문제해결] myCurrency 업데이트 시 반드시 한 개 이상의 currency를 포함하게 하기 위한 조건 처리 (1) | 2024.01.27 |