[240205] Today I Learned

YoungHyun Kim·2024년 2월 5일
1

TIL ✍️

목록 보기
46/68

내일배움캠프 앱개발 심화 프로젝트

3X3X3 - 하루 3번 3분 3달 공부하면~

1. 프로젝트 기획

  • 이번 프로젝트는 난이도 별로 주제가 정해져 있었는데,
    • 난이도 상 : 날씨 어플리케이션
    • 난이도 중 : 단어장 어플리케이션
    • 난이도 하 : 할 일 어플리케이션
  • 민주주의에 입각하여, 우리 팀은 난이도 중의 단어장 어플리케이션을 선택했다.
  • 어플리케이션 필수 기능은
    • 단어장 추가 기능
    • 단어장에 단어 추가 기능
    • 단어 외우기 기능
    • 단어 외우기 기록 저장
    • 학습을 독려할 수 있는 UX 만들기
    • 를 모두 아우르며, 사용자 친화적인 인터페이스로 어플리케이션을 구성하기!

2. 아키텍처 모델 선정

  • swift 제일 적합하다고 판단되는 아키텍처인 MVVM Model - View - ViewModel 아키텍처로 어플리케이션을 구성하기로 결정했다.
  • 아직 능숙하게 View와 ViewModel역할을 나누고 코드를 작성하지는 못하지만, 이해하는 대로 포스트를 작성하며 MVVM과 친해지려고 노력하려고 한다.

3. 프로젝트 초기 세팅

  • 기능별로 디렉토리를 나눠두었다.
  • 팀원들은 각자 맡은 기능을 각각의 디렉토리에서 개발하게 됩니다. 이런 식으로 작업하면 혹시 모르는 커밋 충돌의 위험성을 낮출 수 있을 것이라고 생각했습니다.
  • 코드베이스로 UI를 구성할 것이기 때문에, 코드 작성의 편의성을 위해 SnapKit을 설치한 후 github에서 팀원들과 프로젝트를 공유하기 시작했습니다.
  • 프로젝트 내에서 공통적으로 사용할 구조체와, 사용자 정보, 앱에 위치한 단어장 데이터를 가지고 있을 클래스들은 Model.swift파일에 미리 작성해두었습니다.

4. 그래서 저는...

  • 단어 공부를 마무리한 뒤, 사용자가 단어를 제대로 기억하고 있는지를 시험할 TestView와, TestViewModel을 구성하기로 했습니다.
  • UI구성부터, 시험이 진행되는 동안의 사용자 정보와 단어장 데이터 조작까지 모든 기능을 만들면서 블로그에 기록을 남기려 노력하겠습니다.
profile
iOS 개발자가 되고 싶어요

0개의 댓글