[프로젝트 소개] 환율 계산기 앱 만들기

2026. 2. 22. 18:29·내일배움캠프/환율 계산기 - 개인 프로젝트

내일배움캠프 앱 개발 숙련 주차 개인 과제로 환율 계산기 앱을 구현합니다.

1. 프로젝트 개요

🎯 프로젝트 명 - Currency Converter

: 환율 계산기 앱

 

→ 실시간 데이터를 외부 API를 통해 받아와 UI에 표시하고, 사용자의 입력을 바탕으로 새로운 결과를 계산하여 표시

 

📍 프로젝트 목적

: 아래 5가지 사항에 관한 학습

• SnapKit을 활용한 UI 구성 및 AutoLayout 디버깅 경험

• URLSession을 활용한 Open API 통신

• UITableView를 통한 리스트 UI 구성

• MVVM 패턴을 활용한 로직 분리

• CoreData를 활용한 간단한 데이터 저장 및 즐겨찾기 기능

 

🗓️ 프로젝트 기간: 2026.02.13 ~ 02.25.

 

🛠️ 기술 스택

  • 개발 언어: Swift
  • UI Framework: UIKit
  • Library: SnapKit, Alamofire
  • Architecture: MVVM
  • 협업 도구: -

🎥 작동 화면

2. 아키텍처 설계

🎨 MVC 패턴

과제 요구사항에 따라 중간까지만 MVC패턴으로 구현, 이후 완성까지는 MVVM 패턴으로 리팩토링하여 진행되었습니다.

아래의 기준에 따라 Model, View, Controller를 나누어 구현해보았습니다.

  • Model: 데이터를 가져오거나 데이터 모델을 정의합니다.
  • View: 화면에 보이는 UI를 설정합니다.
  • Controller: 로직을 수행하거나 View에서 Action이 필요한 객체의 경우 액션을 할당하고 동작을 명령합니다.
 

GitHub - mastarTrack/CurrencyConverter

Contribute to mastarTrack/CurrencyConverter development by creating an account on GitHub.

github.com

 

🎨 MVVM 패턴

아래 기준에 따라 Model, View, ViewModel을 구현해보았습니다.

View 내부에서는 기존 MVC 패턴에서 구분했던 View와 ViewController의 역할을 유지하였습니다.

  • Model 
    •  Network 응답 모델 및 CoreData Entity 모델
    •  환율 데이터 관련 모델
  • View 
    • UI 구성
    • ViewModel과의 바인딩 - ViewController 객체에서 담당
  • ViewModel
    • 비즈니스 로직 처리
    • Model 데이터 가공 및 View로의 전달
  • Service : MVVM에 해당하지 않는 서비스 객체
  • Test : 테스트를 위한 목업 객체
 

GitHub - mastarTrack/CurrencyConverter

Contribute to mastarTrack/CurrencyConverter development by creating an account on GitHub.

github.com

 

3. 회고

MVVM 패턴을 처음 사용해보아 개념을 이해하고 적용하는데 어려움이 있었지만 객체간 의존성을 낮추고 테스트가 용이하다는 점에서 확실히 규모가 큰 프로젝트의 경우 유용한 패턴이라는 것을 알게 되었습니다.

ViewModel Protocol을 생성해두고 제대로 활용하지 못했는데, 다른 팀원 분의 코드를 보고 프로토콜의 활용 방법을 알게 되었습니다. 다음 프로젝트에는 해당 프로토콜을 유용하게 사용할 수 있도록 적용해보려 합니다.

'내일배움캠프 > 환율 계산기 - 개인 프로젝트' 카테고리의 다른 글

[의사결정기록] MVC 패턴에서의 amountTextField 동작 정의  (0) 2026.03.09
[트러블 슈팅] CoreData에 저장한 데이터가 없는데 데이터가 존재하는 문제  (0) 2026.03.02
[트러블 슈팅] 셀 선택 시 여러 개의 데이터가 출력되는 현상  (0) 2026.03.02
[트러블 슈팅] UICollectionView Cell Autolayout 충돌  (0) 2026.03.02
[트러블 슈팅] UISearchBar backgroundColor 미적용  (0) 2026.02.22
'내일배움캠프/환율 계산기 - 개인 프로젝트' 카테고리의 다른 글
  • [트러블 슈팅] CoreData에 저장한 데이터가 없는데 데이터가 존재하는 문제
  • [트러블 슈팅] 셀 선택 시 여러 개의 데이터가 출력되는 현상
  • [트러블 슈팅] UICollectionView Cell Autolayout 충돌
  • [트러블 슈팅] UISearchBar backgroundColor 미적용
devbambu
devbambu
devbambu 님의 블로그 입니다.
  • devbambu
    devbambu 님의 블로그
    devbambu
  • 전체
    오늘
    어제
    • devBambu (21)
      • WWDC (1)
      • Swift Github (1)
        • Algorithms (1)
      • 내일배움캠프 (19)
        • Kiosk - Gacha! (4)
        • 환율 계산기 - 개인 프로젝트 (6)
        • Kickboard - Animality (9)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
devbambu
[프로젝트 소개] 환율 계산기 앱 만들기
상단으로

티스토리툴바