https://github.com/AVIRO-official/AVIRO-iOS
- 비건 식당, 카페, 술집 등 음식점에 비건 음식이있거나, 모든 음식이 비건인 식당을 구분해서 공유하는 플랫폼입니다.
- 식당을 직접 추가하거나 삭제할 수 있습니다.
- 메뉴의 요청사항을 따로 기입할 수 있습니다.
- 식당의 후기를 작성해서 유저들끼리 정보를 공유할 수 있습니다.
- UIKit
- MVP
- Code Base UI
- SwiftLint
- NaverMap SDK
- Amplitude SDK
- Realm
- Lottie
- Toast-Swift
- KeychainSwift
.
├── AVIRO.entitlements
├── Custom
│ ├── Constants
│ │ ├── Enum+.swift
│ │ ├── UIColor+Extension.swift
│ │ ├── UIFont+Extension.swift
│ │ └── UIImage+Extension.swift
│ ├── Extension
│ │ ├── Double+Extension.swift
│ │ ├── Marker+Extension.swift
│ │ ├── String+Extension.swift
│ │ ├── UIButton+Extension.swift
│ │ ├── UILabel+Extension.swift
│ │ ├── UIView+Extension.swift
│ │ └── UIViewController+Extension.swift
│ ├── SubClass
│ │ ├── UIButton
│ │ │ ├── CategoryButton.swift
│ │ │ ├── GenderButton.swift
│ │ │ ├── HomeMapReferButton.swift
│ │ │ ├── HomeTopButton.swift
│ │ │ ├── MenuPlusButton.swift
│ │ │ ├── MyPage
│ │ │ │ └── EditNickNameButton.swift
│ │ │ ├── NextPageButton.swift
│ │ │ ├── PlaceView
│ │ │ │ ├── EditInfoButton.swift
│ │ │ │ ├── ReviewWriteButton.swift
│ │ │ │ └── ShowMoreButton.swift
│ │ │ └── VeganOptionButton.swift
│ │ ├── UISegmentedControl
│ │ │ └── UnderlineSegmentedControl.swift
│ │ ├── UITextField
│ │ │ ├── EnrollField.swift
│ │ │ ├── MainField.swift
│ │ │ ├── MenuField.swift
│ │ │ ├── RegistrationField.swift
│ │ │ └── SearchField.swift
│ │ └── UITextLabel
│ │ ├── NoResultLabel.swift
│ │ ├── PlaceView
│ │ │ ├── MenuTypeLabel.swift
│ │ │ └── ReviewLabel.swift
│ │ └── TutorialTopLabel.swift
│ └── Utility
│ ├── AmplitudeUtility.swift
│ ├── LocationUtility.swift
│ ├── System.swift
│ └── TimeUtility.swift
├── Manager
│ ├── APIManager
│ │ ├── APIManagerProtocol.swift
│ │ ├── APITypes.swift
│ │ ├── AVIROManager
│ │ │ ├── AVIROAPIManager.swift
│ │ │ ├── AVIROAPIManagerProtocol.swift
│ │ │ ├── AVIRODeleteAPI.swift
│ │ │ ├── AVIROPostAPI.swift
│ │ │ └── AVIRORequestAPI.swift
│ │ ├── KakaoMapManager
│ │ │ ├── KakaoAPIManager.swift
│ │ │ ├── KakaoAPIManagerProtocol.swift
│ │ │ └── KakaoMapRequestAPI.swift
│ │ └── PublicManager
│ │ ├── PublicAPIManager.swift
│ │ ├── PublicAPIRequestComponents.swift
│ │ └── PublicXMLParserDelegate.swift
│ └── FacadeManager
│ ├── BookmarkManager.swift
│ ├── MarkerModelManager.swift
│ └── SearchHistoryManager.swift
├── Model
│ ├── APIResonseModel
│ │ ├── AVIRO
│ │ │ ├── AVIROGet
│ │ │ │ ├── CheckPlace
│ │ │ │ │ ├── AVIROCheckPlace+DTO.swift
│ │ │ │ │ └── AVIROPlaceReportCheck+DTO.swift
│ │ │ │ ├── DetailPlace
│ │ │ │ │ ├── AVIROOperationHours+DTO.swift
│ │ │ │ │ ├── AVIROPlaceInfo+DTO.swift
│ │ │ │ │ ├── AVIROPlaceMenus+DTO.swift
│ │ │ │ │ ├── AVIROPlaceReviews+DTO.swift
│ │ │ │ │ └── AVIROPlaceSummary+DTO.swift
│ │ │ │ ├── Marker
│ │ │ │ │ ├── AVIROBookmark+DTO.swift
│ │ │ │ │ └── AVIROMapMarker+DTO.swift
│ │ │ │ └── MyPage
│ │ │ │ └── AVIROMyContributionCount+DTO.swift
│ │ │ └── AVIROPost
│ │ │ ├── AVIROResult+DTO.swift
│ │ │ ├── Compare
│ │ │ │ └── AVIROMainSearchCompare+DTO.swift
│ │ │ ├── Edit
│ │ │ │ ├── AVIROEditCommonBeforeAfterDTO.swift
│ │ │ │ ├── AVIROEditLocation+DTO.swift
│ │ │ │ ├── AVIROEditMenuModel+DTO.swift
│ │ │ │ ├── AVIROEditOperationTime+DTO.swift
│ │ │ │ ├── AVIROEditPhone+DTO.swift
│ │ │ │ └── AVIROEditURL+DTO.swift
│ │ │ ├── Enroll
│ │ │ │ ├── AVIROEnrollPlace+DTO.swift
│ │ │ │ └── AVIROReview+DTO.swift
│ │ │ ├── Report
│ │ │ │ ├── AVIROReportPlace+DTO.swift
│ │ │ │ └── AVIROReportReview+DTO.swift
│ │ │ ├── Update
│ │ │ │ └── AVIROUpdateBookmark+DTO.swift
│ │ │ └── User
│ │ │ └── AVIROUser+DTO.swift
│ │ ├── KakaoMap
│ │ │ ├── KakaoAddressPlace+DTO.swift
│ │ │ ├── KakaoCoordinateSearchDTO.swift
│ │ │ ├── KakaoKeywordPlace+DTO.swift
│ │ │ └── KakaoKeywordResultDTO.swift
│ │ └── Public
│ │ └── PublicAddress+DTO.swift
│ ├── EnrollViewModel
│ │ ├── MenuModel.swift
│ │ ├── RequestTableFieldModel.swift
│ │ └── VeganTableFieldModel.swift
│ ├── HomeViewModel
│ │ ├── EditModel
│ │ │ ├── EditMenuChangedMarkerModel.swift
│ │ │ └── EditOperationHoursModel.swift
│ │ ├── HomeSearchViewModel
│ │ │ ├── HistoryTableModel.swift
│ │ │ ├── MatchedPlaceCellModel.swift
│ │ │ └── MatchedPlaceModel.swift
│ │ ├── MarkerModel.swift
│ │ ├── PlaceViewModel
│ │ │ └── PlaceTopModel.swift
│ │ └── ReportModel
│ │ └── ReportReviewModel.swift
│ ├── LocalDataModel
│ │ ├── BookmarkCache.swift
│ │ ├── MarkerModelCache.swift
│ │ └── MarkerModelLocalDB.swift
│ ├── MyPageModel
│ │ └── MyDataModel.swift
│ ├── PlaceListModel
│ │ ├── PlaceListCellModel.swift
│ │ └── PlaceListModel.swift
│ ├── SingletonModel
│ │ ├── APISingleton
│ │ │ └── KakaoAPISortingQuery.swift
│ │ ├── CoordinateSingleton
│ │ │ ├── CenterCoordinate.swift
│ │ │ └── MyCoordinate.swift
│ │ ├── MyData
│ │ │ └── MyData.swift
│ │ └── ViewLogic
│ │ └── AppController.swift
│ └── UserModel
│ └── AppleUserLoginModel.swift
├── Scene
│ ├── Presenter
│ │ ├── EnrollPlace
│ │ │ ├── EnrollPlacePresenter.swift
│ │ │ └── PlaceList
│ │ │ └── PlaceListSearchViewPresenter.swift
│ │ ├── Home
│ │ │ ├── EditPresenter
│ │ │ │ ├── ChangeableAddressPresenter
│ │ │ │ │ └── ChangeableAddressPresenter.swift
│ │ │ │ ├── EditMenuPresenter.swift
│ │ │ │ └── EditPlaceInfoPresenter.swift
│ │ │ ├── HomeSearchPresenter
│ │ │ │ └── HomeSearchPresenter.swift
│ │ │ ├── HomeViewPresenter.swift
│ │ │ └── ReportPresenter
│ │ │ └── ReportReviewPresenter.swift
│ │ ├── Login
│ │ │ ├── LoginViewPresenter.swift
│ │ │ └── RegistrationPresenter
│ │ │ ├── FirstRegistrationPresenter.swift
│ │ │ ├── SecondRegistrationPresenter.swift
│ │ │ └── ThridRegistrationPresenter.swift
│ │ └── Mypage
│ │ ├── MyPageViewPresenter.swift
│ │ └── NickNameChangeblePresenter.swift
│ └── View
│ ├── Login
│ │ ├── LoginViewController.swift
│ │ └── Registration
│ │ ├── FinalRegistrationViewController.swift
│ │ ├── FirstRegistrationViewController.swift
│ │ ├── SecondRegistrationViewController.swift
│ │ ├── TermsTableCell.swift
│ │ └── ThridRegistrationViewController.swift
│ ├── TabBar
│ │ ├── Enroll
│ │ │ ├── EnrollPlaceList
│ │ │ │ ├── PlaceListCell.swift
│ │ │ │ └── PlaceListSearchViewController.swift
│ │ │ ├── EnrollPlaceViewController.swift
│ │ │ └── SubView
│ │ │ ├── EnrollMenuTableView.swift
│ │ │ ├── EnrollStoreInfoView.swift
│ │ │ ├── EnrollVeganDetailView.swift
│ │ │ └── MenuTableView
│ │ │ ├── NormalTableViewCell.swift
│ │ │ └── RequestTableViewCell.swift
│ │ ├── Home
│ │ │ ├── Edit
│ │ │ │ ├── EditMenu
│ │ │ │ │ ├── EditMenuViewController.swift
│ │ │ │ │ └── SubView
│ │ │ │ │ ├── EditMenuBottomView.swift
│ │ │ │ │ └── EditMenuTopView.swift
│ │ │ │ └── EditPlaceInfo
│ │ │ │ ├── EditPlaceInfoSubView
│ │ │ │ │ ├── ChangeableAddressViewController
│ │ │ │ │ │ ├── ChangeableAddressViewController.swift
│ │ │ │ │ │ └── EditLocationSubView
│ │ │ │ │ │ ├── EditLocationAddressMapView.swift
│ │ │ │ │ │ ├── EditLocationAddressTextTableViewCell.swift
│ │ │ │ │ │ └── EditLocationAddressTextView.swift
│ │ │ │ │ ├── EditHomePageView.swift
│ │ │ │ │ ├── EditLocationBottomView.swift
│ │ │ │ │ ├── EditLocationTopView.swift
│ │ │ │ │ ├── EditOperatingHoursView.swift
│ │ │ │ │ ├── EditPhoneView.swift
│ │ │ │ │ └── EditoperatingHoursSubView
│ │ │ │ │ ├── EditOperatingHourView.swift
│ │ │ │ │ ├── EditOperationHourChangebleView.swift
│ │ │ │ │ └── EditTimeChangebleView.swift
│ │ │ │ └── EditPlaceInfoViewController.swift
│ │ │ ├── HomeSearch
│ │ │ │ ├── HomeSearchViewController.swift
│ │ │ │ └── SubView
│ │ │ │ ├── HeaderView
│ │ │ │ │ ├── HistoryHeaderView.swift
│ │ │ │ │ └── PlaceListHeaderView.swift
│ │ │ │ ├── HistoryTableViewCell.swift
│ │ │ │ ├── HomeSearchViewTableViewCell.swift
│ │ │ │ ├── NoHistoryLabelView.swift
│ │ │ │ └── NoHistoryView.swift
│ │ │ ├── HomeViewController.swift
│ │ │ ├── PlaceDetail
│ │ │ │ ├── PlaceView.swift
│ │ │ │ └── SubView
│ │ │ │ ├── OperationHours
│ │ │ │ │ ├── PlaceOperationHoursViewController.swift
│ │ │ │ │ └── PlaceOperationSubView
│ │ │ │ │ ├── OperationHourView.swift
│ │ │ │ │ └── OperationHoursView.swift
│ │ │ │ ├── PlaceSegmentedControlView.swift
│ │ │ │ ├── PlaceSummaryView.swift
│ │ │ │ └── SegmentedControlSubView
│ │ │ │ ├── PlaceHomeView.swift
│ │ │ │ └── SubView
│ │ │ │ ├── PlaceInfoView.swift
│ │ │ │ ├── PlaceMenuView.swift
│ │ │ │ ├── PlaceReviewWriteView.swift
│ │ │ │ ├── PlaceReviewsView.swift
│ │ │ │ ├── SubView
│ │ │ │ │ └── PushCommentView.swift
│ │ │ │ └── TableView
│ │ │ │ ├── PlaceMenuTableViewCell.swift
│ │ │ │ └── PlaceReviewTableViewCell.swift
│ │ │ ├── Report
│ │ │ │ ├── ReportCellView.swift
│ │ │ │ └── ReportReviewViewController.swift
│ │ │ └── ViewController
│ │ │ └── ChangedViewAction.swift
│ │ ├── MyPage
│ │ │ ├── MyPageViewController.swift
│ │ │ ├── NickNameChangebleView
│ │ │ │ └── NickNameChangebleViewController.swift
│ │ │ └── SubView
│ │ │ ├── MyInfoView.swift
│ │ │ ├── OtherActionsView.swift
│ │ │ └── SettingCell.swift
│ │ └── TabBarViewController.swift
│ └── Tutorial
│ ├── TutorialCell
│ │ ├── BottomCell.swift
│ │ └── TopCell.swift
│ └── TutorialViewController.swift
└── Utils