뿌대식: 뷰 컴포넌트 분리
개선 목표기존의 뷰 요소들이 MainView 파일 하나에서 모두 관리되기 때문에 원하는 뷰를 수정하려고 할 때 원하는 부분을 찾는 데 어려움이 있었습니다. 그래서 뷰 요소들을 각각의 파일로 분리하며 Binding을 통하여 데이터를 관리하기로 목표를 잡았습니다. 개선 전 메인 뷰에서 “앱 로고”, “설정 버튼” 등을 관리하는 title, “부산”, “밀양”, “양산” 캠퍼스에 대한 탭을 관리하는 campus, “월” ~ “금”과 해당하는 요일을 관리하는 week, “식당”과 “식단”을 관리하는 menu를 한 번에 관리합니다. 개선 후 각 뷰 요소들을 용도에 맞게 분리하고, 메인 뷰에서 통합하여 호출하도록 개선했습니다. 그리고, 상황에 맞게 커스텀하여 사용하던 텍스트, 이미지, 도형 등의 뷰 요소들을..
2024. 8. 18.
뿌대식: 개발 - MVVM
프로젝트 규모가 크지 않아 굳이 디자인 패턴을 적용하지 않아도 되긴 하지만, 유지보수의 용이를 위해 MVVM을 채택했습니다. 기존 코드들은 필요에 따라 해당 파일 내에 작성했었는데 Model, View, View Model 용도에 맞춰 코드를 옮겼습니다. enum Campus: String, CaseIterable { case 부산, 밀양, 양산 var restaurant: [Restaurant] { switch self { case .부산: [Restaurant.금정회관학생, Restaurant.금정회관교직원, Restaurant.샛벌회관, Restaurant.학생회관학생, Restaurant.진리관, Restaurant.웅비관, Restaurant.자유관] case .밀양: [Restaurant.학생..
2024. 1. 10.
뿌대식: 개발 - 메인화면
본격적인 개발을 시작합니다. 화면의 각 요소들을 컴포넌트화 하여 body에서 취합해주고, 캠퍼스와 요일의 경우 열거형으로 선언해줍니다. enum Campus: String, CaseIterable { case 부산, 밀양, 양산 var restaurant: [String] { switch self { case .부산: ["금정회관 학생", "금정회관 교직원", "샛벌회관", "학생회관 학생", "진리관", "웅비관", "자유관"] case .밀양: ["학생회관 학생", "학생회관 교직원", "비마관"] case .양산: ["편의동", "행림관"] } } } 캠퍼스 열거형의 경우 캠퍼스 별로 식당을 computed property로 선언해줍니다. 이는 나중에 자료형으로 메뉴를 관리할 때 사용할 예정입니다...
2024. 1. 4.
뿌대식: 데이터베이스
키워드 아래 키워드를 가진 테이블 바탕으로 데이터베이스를 모델링합니다. 캠퍼스 식당 식사 분류 메뉴 트리 수정 뿌대식: 부산대학교 학식 식당 종류의 트리를 데이터 모델에 맞춰 재설계 했습니다. 부산대학교 ├── 부산캠퍼스 │ ├── 금정회관 학생 식당 │ │ └── 조식(천원아침, 정식), 중식(정식, 일품1), 석식(정식, 일품1) │ ├── 금정회관 교직원 식당 │ │ └── 중식(정식) │ ├── 샛벌회관 식당 │ │ └── 중식(정식, 일품), 석식(정식) │ ├── 학생회관 교직원 식당 │ ├── 학생회관 학생 식당 │ │ └── 중식(특정식, 일품) │ ├── 진리관(기숙사) │ │ └── 조식(조기, 조식), 중식, 석식 │ ├── 웅비관(기숙사) │ │ └── 조식(조기, 조식), 중식, ..
2023. 12. 30.