Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

son7877/T82_IOS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

213 Commits

Repository files navigation

IOS_T82

스크린샷 2024年11月13日 오후 6 15 16

프로젝트 Organization ReadMe

https://github.com/son7877/T82_ReadMe

A. 프로젝트 목표

  • 모바일 어플리케이션 고유의 기능을 최대한 이끌어내기
  • MVVM 아키텍처를 활용하여 뷰 로직과 비즈니스 로직을 분리해서 테스트 중 유지 보수가 원활하게 진행하도록 노력하기
  • SwiftUI 프레임워크를 사용하여 UIKit 프레임워크와의 장단점 차이 파악하기

B. 프로젝트 구성

b-1 Project File Tree

프로젝트 구조 트리 링크 : https://github.com/T82-encore/IOS_T82/wiki/Project-File-Tree

b-2 폴더 구조 선정

  • App
    • 어플 구동에 관한 기본 설정 및 런치 스크린으로 구성
  • Core
    • 어플의 REST api 호출 로직 및 비즈니스 로직으로 구성
  • Component
    • 어플에서 자주 사용하는 UI 컴포넌트(ex. 커스텀 네비게이션 바 및 탭뷰..)로 구성
  • Feature
    • 어플에서 각 기능 별 모듈을 관리 -> 주로 UI와 직접적으로 상호작용하는 View와 통신 및 UI로직을 처리하는 ViewModel로 구성
  • Model
    • 어플 내의 데이터 구조를 정의하는 모델들로 구성

b-3 사용한 프레임워크 및 라이브러리

C. User Flow

T82 뷰 구성도 drawio

D. 개발 내용

  • 로그인 및 회원 가입

    • 어플 실행 시 TestFlight에 등록되어있는 어플 버전(빌드번호)과 현재 기기에 설치되어있는 어플 버전(빌드번호)를 비교하여 업데이트 알림 유무 결정
    • 일반 회원 로그인 외에도 카카오, 구글 로그인이 가능하도록 구현
    • 로그인 시 사용자 아이디를 Key로 설정해서 유저별로 필요한 정보(공연 찜 목록)를 UserDefaults에 저장하도록 설정

    로그인 버전 확인 회원 가입

  • 메인 탭 뷰

    • 공연 정보 뷰
      • 보다 다양한 카테고리 별 공연과 티켓팅 오픈일이 다가오는 공연들로 메인 뷰 구성

    알림 권한 �상위 카테고리 하위 카테고리

    • 쿠폰 이벤트 뷰

      • 한정 수량 선착순 쿠폰 이벤트 및 만보기 쿠폰 이벤트 구현
      • CoreMotion 프레임워크에서 CMPedoMeter클래스를 사용해서 실시간으로 걸음 수 측정이 가능
      • UserDefaults 저장소를 사용해서 걸음 수를 저장하고 매일 걸음 수가 초기화되도록 로직 구현

      쿠폰 이벤트1 쿠폰 이벤트2

  • 공연 시간 선택, 대기열 및 좌석 선택 뷰

    • 공연 시간 선택 뷰에서 공연 별 잔여 좌석 확인
    • 공연 시간 선택 우측 상단의 하트 마크를 이용해서 찜 여부를 설정
    • 좌석 선택 뷰로 넘어가기 전에 대기열 웹뷰로 이동

    공연 시간 선택 대기열 좌석 선택

  • 결제 및 결제 완료 뷰

    • 토스 페이먼트로 티켓 결제 기능 구현
    • 결제 완료시 티켓 확인을 위해 마이페이지의 내 티켓 뷰로 이동
  • 공연 별 댓글 뷰

    • 공연 별로 공연을 관람한 관객들의 별점 및 후기를 확인 가능하도록 구현
    • 인플루언서가 답글을 달았을때 닉네임 옆에 별도의 구분표시를 해두어 인플루언서와 소통이 가능함을 인지하도록 구현

    공연 댓글 공연 대댓글

  • 마이 페이지 탭 뷰

    • 내 티켓 뷰

      • 각 티켓을 터치하면 티켓 QR코드와 리뷰 등록 및 환불 신청을 할 수 있는 뷰를 Modal로 구현
      • 리뷰 등록 시 별점 및 이미지 등록도 가능하도록 구현
      • 환불 신청 시 기기의 FaceID 인증을 통한 본인 확인 기능 구현

      내 예매 내역 예매 내역 상세 리뷰 작성 환불 신청

    • 내 찜 목록 뷰

      • 공연 시간 선택 뷰에서 찜한 공연 목록을 볼 수 있도록 구현

        내 찜 목록
  • 공연 임박 Push Notification

    • 예매한 티켓 정보 중 공연 시작 시간을 토대로 공연 15분전 공연 임박알림 기능 구현(FCM)

    알림1 알림2

E. Trouble Shooting

https://github.com/T82-encore/IOS_T82/wiki/%08Trouble-Shooting

F. Notion (일자 별 작업 내용)

https://www.notion.so/T82_IOS-76ca1cdcf14e4b2698732810eea07ad6

About

PROJECT: T82 프로젝트 (티켓팅 어플리케이션) - IOS

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

Contributors

Languages

AltStyle によって変換されたページ (->オリジナル) /